Компьютер видит геймпад как звуковое устройство

Обновлено: 06.07.2024

Подключаем через кабель:

Настройки bluetooth

Пусть вас не смущает то, что геймпад добавился в список аудиоустройств, работать он будет как положено.

Если у вас Windows 7, и геймпад не определяется операционной системой, то вам поможет третий, продвинутый способ в конце статьи.

На этом проводная настройка завершена. Если хотите играть без проводов, читайте дальше 🙂

Как подключить геймпад от PS4 к ПК через Bluetooth:

Для беспроводного подключения вам понадобится фирменный Bluetooh-модуль Sony, либо любой другой приемник Bluetooth. Если у вас ноутбук со встроенным Bluetooth, то он тоже подойдет.

Как подключить геймпад от PS4 к ПК

Держим несколько секунд, до тех пор, пока подсветка не начнет вспыхивать белым цветом по 2 коротких вспышки с интервалом примерно в секунду.

После этого можно выполнить поиск беспроводных устройств на самом компьютере. Подключаем Bluetooth-модуль к компьютеру, если Bluetooth уже подключен, то у вас в системном трее должен быть такой значок:

Трей bluetooth

Добавление bluetooth устройства

Поиск bluetooth устройств

Добавление bluetooth устройства

Как подключить DualShock к Windows

В беспроводном режиме, к сожалению, не работает передача аудио через геймпад. То есть, подключить к нему наушники вы не сможете. Также не работает вибрация.

Кстати, клиент Steam распознает геймпад PlayStation 4, и при первом включении даже предлагает его настроить:

Настройки геймпада в Steam

Мы с вами разобрали два относительно простых способа, как подключить геймпад от PS4 к ПК. Но рассмотрим еще и третий метод.

Продвинутый способ:

Если вы не готовы довольствоваться малым, можно пойти дальше, и заставить работать вибрацию и сенсорную панель. Для этого нам понадобится специальный драйвер DS4Windows. Сенсорная панель будет использоваться вместо мыши, что очень удобно.

После скачивания распаковываем содержимое архива в удобную для вас папку и запускаем DS4Windows.exe. Появляется такое окно:

Сохранение профиля

При нажатии на левую кнопку, настройки программы будут храниться в папке с файлом DS4Windows.exe, при нажатии на правую, программа будет хранить свои настройки в папках операционной системы. Для лучшей совместимости рекомендуется использовать правую кнопку.

Далее видим такое окно:

Установка драйвера

В этом окне нажимаем следующие кнопки:

Если это окно по какой-то причине не открывается, в окне программы переходим на вкладку Settings и нажимаем синюю ссылку Controller/Driver setup

Если вы все сделали правильно, в окне программы на вкладке Controllers вы увидите такую строчку:

Подключенные контроллеры

Далее, можно еще немного настроить саму программу для большего удобства, например добавить ее в автозагрузку, а также заставить запускаться в свернутом состоянии. Для этого на вкладке Settings активируйте следующие флажки:

Настройки драйвера

Первый отвечает за автоматическую загрузку программы при старте компьютера, а второй будет запускать программу свернутой.

Впрочем, делать это не обязательно, только не забывайте тогда каждый раз перед игрой запускать DS4Windows.exe и не закрывать его пока используете геймпад.

Мы разобрали три способа, как подключить геймпад от PS4 к ПК, от простого до продвинутого. Какой из них будете использовать, решать только вам. Пишите в комментариях, получилось ли у вас подключить дуалшок к компьютеру или нет. Приятных вам игр и больших побед 🙂



Выбирая геймпад для своего компьютера, я остановился на DualShock4, так как мне понравилась идея, что можно будет слушать аудио через подключаемые к нему наушники. Но после покупки я узнал, что, оказывается, никто не знает, как передать звук на геймпад через Bluetooth. Поэтому я решил разобраться с данным вопросом. Если вам интересно узнать, как DualShock4 общается с игровой консолью, жду под катом.

К сожалению, у меня нет PlayStation 4, поэтому пришлось довольствоваться только выложенными в Интернете дампами, а также уже известными фрагментами обмена.
В процессе изучения темы мне очень помогла вот эта страница. В ней описаны основные моменты передачи данных между консолью и геймпадом, а также выложен дамп этих данных. Нас интересует файл дампа с именем ds4_uart_hci_cap_playroom_needs_sorting.pcap.gz. Открываем его в Wireshark и начинаем изучать. Отсортируем пакеты по времени, так как, видимо, дамп записывался отдельно на приём и передачу. Дамп снимался напрямую с UART геймпада, после чего был сконвертирован в pcap.



Номер байта bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
[0] 0x0a – Тип Data 0x00 — Зарезервировано 0x02 — Направление передачи
[1] 0x11 – Код операции
[2 — 3] Неизвестно
[4] 0xf0 Запрещает изменение данных у геймпада, 0xf3 Разрешает изменение
[5 — 6] Неизвестно
[7] Rumble (right / weak)
[8] Rumble (left / strong)
[9] RGB color (Red)
[10] RGB color (Green)
[11] RGB color (Blue)
22 Неизвестно
[25] Громкость звучания в %
[26 — 74] Неизвестно
[75 — 78] CRC-32 от предыдущих данных

Хотя 26 байт помечен на упомянутой выше странице как неизвестный, во время моих экспериментов удалось выяснить, что он отвечает за громкость звучания и выставляется в процентах. Также хотя поле crc присутствует, но геймпад его не проверяет и можно просто отправлять нулевое значение.


Так как нам интересно, какие данные передаёт консоль, давайте отфильтруем их по 0-му байту HID Profile, который поможет нам определить направление пакета. Данные от гемпада имеют значение 0xa1, от консоли 0xa2. Фильтр для Wireshark получится таким: bthid[0] == 0xa2.

Если прокрутить пакеты, то, начиная с пакета №98516, сильно увеличился размер данных. Если судить по данным с вики страницы, то начало у пакетов с кодом операции 0x15 и 0x19 такое же, как и у 0x11, только без CRC, которая находится в конце.

Всё есть HID


Вот мы и подошли к самому интересному — как передать звук на геймпад. Вот как выглядит пакет с аудиоданными.

Теперь попробуем воспроизвести получившийся файл, для чего воспользуемся gstreamer'ом:

gst-launch-1.0 filesrc location=test.sbc ! sbcparse ! sbcdec ! autoaudiosink

В начале файла будет тишина (это видно и по сохраненным данным). Для удобства преобразуем данные в wav:

gst-launch-1.0 filesrc location=test.sbc ! sbcparse ! sbcdec ! audioconvert ! wavenc ! filesink location=output.wav

Еесли перемотать на 41 секунду получившийся wav, мы услышим звук.
Таким образом, мы удостоверились, что DualShock4 использует обычное SBC кодирование для передачи звука.

Теперь интересно попробовать самим сгенерировать данные для воспроизведения на геймпаде.
Воспользуемся для этого всё теми же инструментами. Gstreamer будет кодировать, а Python будет будет передавать данные на DualShock4.
В Linux можно очень просто работать с геймпадом благодаря тому, что в нём всё (включая устройства) является файлами.
Узнать, какой файл соответствует геймпаду, можно после сопряжения DualShock4 с компьютером. В результате удачного сопряжения в выводе dmesg появится строка
sony 0005:054C:05C4.0007: input,hidraw5: BLUETOOTH HID v1.00 Gamepad [Wireless Controller]
Значит, наш контроллер присутствует в системе в виде файла с именем /dev/hidraw5, и мы можем передавать данные на геймпад, просто записывая необходимые данные в этот файл.
Вот скрипт, с помощью которого это можно делать:


Скрипт читает из стандартного потока закодированные в SBC аудиоданные и формирует два типа пакетов 0x14 и 0x15 (также комментированием/раскомментированием строк можно включить формирование увеличенного в два раза пакета с опкодом 0x17) и отправляет их на геймпад путем записи в hidraw девайс.
Попробуем использовать этот скрипт, чтобы проиграть тестовый звуковой сигнал.
Данный сигнал будет генерироваться при помощи gstreamer и отправляться на стандартный поток вывода, откуда его будет забирать скрипт.

gst-launch-1.0 -q audiotestsrc is-live=true ! sbcenc ! 'audio/x-sbc,channels=2,rate=32000,channel-mode=dual,blocks=16,subbands=8,bitpool=25' ! queue ! fdsink | ./play.py

И у нас получилось (почти). Звук идет, но периодически слышны небольшие заикания. С чем они связаны, я понять так и не смог. Возможно, я не совсем правильно работаю с hid устройством в linux — если кто-нибудь сможет подсказать, как сделать правильнее, я буду благодарен. Попытка испопользования Bluetooth сокета успехом также не увенчалась — через полсекунды проигрывания звука всё заканчивалось(Смотри UPD).

Заключение

Хотелось бы выразить благодарность таким проектам, как DS4Windows и ds4drv.
Данные проекты позволяют использовать геймпад на компьютере. Надеюсь, эта статья поможет добавить также и поддержку передачи звука в эти проекты.

Спасибо за внимание.

UPD:
Небольшие дополнение.
Если добавить is-live=true к audiotestsrc то звук идет почти без заиканий.
Вот полезный pipeline для gstreamer который позволяет захватывать все, что идет на аудио выход и отправлять на DualShock4.

Бытует мнение, что лучшие геймпады — это геймпады от игровых консолей. С одной стороны мнение дискуссионное. С другой поколения геймеров, которые выросли на «рогатом» DualShock от PlayStation не дадут соврать, что это один из самых удобных геймпадов в истории, после которого не хочется брать в руки ничего другого. И если у вас есть консоль от Sony, то никаких проблем, бери и играй. А вот если вы захотите подключить его к компьютеру, то придется немного повозиться, так как в Windows нет нативной поддержки DualShock. Что именно нужно будет сделать — читайте в нашем большом гайде.


В чем разница между DualShock 4 первой и второй версии


В 2016 году Sony выпустила Pro версию PlayStation 4 и заодно обновила геймпад DualShock 4 до второй версии. Внешне нововведения получились чисто косметическими: верхняя поверхность стала полностью матовой, без глянцевых вставок, а световая панель теперь видна не только с торца, но и подсвечивает тачпад. С точки зрения тактильных ощущений никаких существенных отличий от старого геймпада не обнаружилось. Внутри тоже поменялось не так уж много, по сути добавилась возможность передачи дополнительных данных по USB. Проще говоря, при подключении по проводу новый геймпад научился выводить звук напрямую с подключенной гарнитуры. Также немного увеличилось время автономной работы, хотя встроенный аккумулятор остался тем же.

Как подключить


В некоторых играх поддержка DS4 реализована «из коробки», т. е. не требуются никакие эмуляторы. Но таких игр мало, поэтому для варианта «включил, настроил, забыл» придется немного поиграть с тонкими материями. Вариантов тут несколько — добавление геймпада через официальный клиент Steam, подключение с помощью популярной утилиты DS4Windows и использование официального Bluetooth-адаптера от Sony (об этом дальше). Каждый вариант имеет свои плюсы и минусы, которые мы разберем дальше.

Подключение в Steam

В конце 2016 года в Steam официально появилась поддержка DualShock 4. Для геймпада стало доступно все многообразие настроек, которое раньше было реализовано только для родного Steam контроллера. Настраивается джойстик абсолютно так же, но с поправкой на то, что у DualShock 4, в отличие от официального контроллера Steam, классический правый стик и классическая крестовина.


Настройки почему-то спрятали в недра Steam, поэтому найти их с непривычки не так-то просто.

  • Перед запуском Steam сначала подключите сам DualShock 4 иначе программа может его не увидеть.
  • Дальше нужно переключиться в режим Big Picture (иконка геймпада в правом верхнем углу)
  • Кликнуть на настройки (иконка шестеренки).
  • В появившемся меню ищем вкладку «Контроллер» и пункт «Настройки контроллера».
  • В открывшемся меню ставим галочку около пункта «Поддержка контроллера PS4».

После этого можно будет выбрать некоторые настройки геймпада вроде цвета и яркости подсветки. По сути на этом все, теперь Ваш DualShock 4 настроен и всегда будет работать в Steam. С играми уже в библиотеке Steam для привязки контроллера ничего делать не нужно. Скачанные или купленные игры откуда-то еще сначала нужно будет вручную добавить в библиотеку Steam.

Подключение с помощью сторонних утилит


Как альтернатива Steam на ПК есть популярные софтины DS4Windows или InputMapper, которые решают все проблемы совместимости c ПК и даже больше. С помощью этих программ геймпад будет четко работать во всех играх, где есть поддержка XInput. Также они позволяют использовать встроенный тачпад в качестве мыши (для DS4 V2), регулировать подсветку, использовать гироскоп для назначения на него различных действий.

Рассмотрим подключение на примере DS4Windows так как она самая удобная, гибкая и не отягощена вшитой рекламой.

  • Для начала скачиваем нужную версию DS4Windows (x64 или x86 В зависимости от разрядности системы).
  • При новом запуске в окне DS4Windows должен появиться подключенный геймпад. Если он не обнаруживается, то подключаем его заново его и перезапускаем программу.
  • Открываем меню настроек (Settings) и смотрим, чтобы напротив пункта «Hide DS4 Controller» стоит галочка. Это предотвратит конфликт DS4Windows с дефолтными настройками контроллера в некоторых играх.

В принципе это все. Теперь Dualshock 4 будет виден любой игре, как XInput контроллер вроде дефолтного Xbox 360 геймпада. Дальше при желании можно добавить DS4Windows в автозапуск Windows, чтобы не включать его каждый раз, и в случае необходимости поменять базовое управление геймпада. Также можно включить подсветку, добавить автоотключение неактивного джойстика, настроить сенсорную панель (для DS4 V2) и т. д. И что еще лучше, для разных игр можно сделать различные профили с настройками и моментально переключаться между ними. В Steam, к сожалению, нет таких углубленных возможностей для настройки.

Подключение с помощью официального адаптера от Sony


Беспроводное подключение одновременно и проще, и сложнее. Проще, потому что Sony в 2017 году выпустила фирменный Bluetooth-адаптер Sony DualShock 4 USB Wireless Adapter, с которым геймпад сразу же подхватывается компьютером и работает на все 100%. То есть и тачпад, и датчик движения, и подсветка, и вывод звука тут работают так же, как при подключении к консоли. Большим его плюсом стала надежная работа без возни с драйверами и проблем с подключением, как у дешевых китайских Bluetooth-адаптеров.

Но нюансы все же есть. При подключении через адаптер система видит геймпад, как проводной, а сам адаптер представлен системе как 3 разных девайса (геймпад, наушники и микрофон). Такой способ подключения хорош, если у вас один геймпад в системе. Если у вас подключено несколько геймпадов, то возможна путаница с определением в играх основного геймпада т. к. игры думают, что беспроводной адаптер является основным джойстиком.

Сам процесс подключения довольно прост

  • Втыкаем Sony Wireless Adaptor в ПК,
  • Нажимаем кнопку включения на адаптере
  • Зажимаем на геймпаде кнопки PS и Share на несколько секунд.
  • Обычно через 3 секунды световая панель начинает мигать, сигнализируя о подключении, а затем просто засветиться не моргая бледно-голубым светом.
  • Готово

Подключение с помощью любого Bluetooth-адаптера


У решения от Sony есть 2 проблемы. Первая — его сложно найти в продаже. Вторая — он дорогой, почти в полцены от самого DualShock и в 4 – 5 раз дороже обычного Bluetooth-адаптера. Не знаем, что тут причина, а что следствие, но на профильных форумах игроки обсуждают именно простые адаптеры. С их помощью можно подключить до четырех геймпадов (но без звука на гарнитуре), зато качество связи остается на совести производителя свистка.

Если у вас в ПК или ноутбуке есть встроенный беспроводной модуль, то можно попробовать начать с него. Главное, чтобы там были нормальные драйвера и сами модули имели зону уверенного приема хотя бы в пару метров. Если нет, то для Windows младше десятой версии лучше всего заходят варианты с Bluetooth не ниже 2.1 и чипом от Broadcom. Как правило в недорогих моделях чаще всего встречаются чипы BCM2070 и BCM20702. Например, Asus USB-BT400. Если у вас Windows 10, то сойдет любой адаптер, с любым чипом, но не младше Bluetooth 2.1 + EDR.


Процесс подключения ничем не отличается от других беспроводных девайсов.

  • Идем в настройки Windows
  • Ищем вкладку «Bluetooth и другие устройства»
  • Кликаем «добавить новое устройство».
  • Зажимаем на геймпаде кнопки PS и Share на несколько секунд пока в меню на компьютере не появится «Wireless Controller».
  • Кликаем «подключить» и вуаля.

В случае обычного Bluetooth-переходника для беспроблемной работы желательно использовать ОС Windows не младше восьмой-десятой версии, так как в них значительно переработан Bluetooth стек. Для полноценной настройки пада все равно понадобится DS4Windows.


Начинающий охотник за трофеями


Карма: 10 ( 1) Гарнитура:


PlayStation Network

Zzzebrra



Dualshock 4 на ПК выключает микрофон

При подключении Dualshock 4 к ПК перестает работать микрофон на наушниках (сам звук в наушниках есть). Я так понимаю это происходит потому что в геймпаде есть своя звуковая карта, которую компьютер начинает распознавать. Как сделать так, чтобы ПК не распознавал dualshock 4 как источник звуков? Если можете, поэтапную инструкцию, пожалуйста, потому что в настройках устройств, в микшере я не могу найти.*

Наушники подключены через usb, геймпад тоже через usb. В настройках звука при подключении звука ничего нового не выявляет, комп видит мои наушники и микрофон, но микрофон звук не принимают. Микрофон начинает работать, если выдернуть геймпад. Микрофон перестает работать даже если геймпад
просто подключен, но не включен через утилиту типа ds4windows

Последний раз редактировалось Zzzebraa; 21.06.2019 в 09:22 .

Казуальный игрок


Карма: 26861 ( 10) 277873


Гарнитура есть

Гарнитура:

Читайте также: