Перейти к содержимому
PS5PCEM
РаботаетПроцессор, загрузчик и инструменты

Контроллеры и клавиатура

DualSense, DualSense Edge и DualShock 4 читаются по HID, по USB и Bluetooth. Совместимые с Xbox геймпады используют XInput. Клавиатура отображается на стики через профиль лаунчера.

Заметки репозитория по 10 октября 2026 г.

Отчёты HID

XInput перечисляет устройства, совместимые с Xbox. DualSense, подключённый к ПК, для него невидим, если слой перевода не выдумает виртуальный геймпад Xbox. PS5PCEM открывает геймпад Sony по HID и декодирует отчёт. Поля одни и те же на USB и Bluetooth. Смещения сдвигаются, потому что Bluetooth ставит префикс перед полезной нагрузкой, а DualSense помещает курки впереди байтов кнопок.

Крестовина приходит как одна из восьми позиций компаса, а не как четыре независимых бита. Чтения перекрываются и никогда не блокируют. Опрос осушает очередь драйвера и оставляет новейший отчёт. Ответ самым старым отчётом отставал бы стики на столько, насколько отстал кадр.

Вывод, моторы и световая полоса

Выходные отчёты несут оба мотора и световую полосу. По Bluetooth отчёт сдвинут и заканчивается контрольной суммой, которую геймпад проверяет, прежде чем действовать, поэтому отчёт, собранный для кабеля, по радиоканалу игнорируется. Страница ввода лаунчера называет найденный геймпад и может выполнить односекундную проверку, которая крутит оба мотора и проводит световую полосу. Устройство открывается совместно и на запись там, где хост это позволяет.

Геймпад имеет приоритет над XInput. XInput остаётся путём для контроллеров, совместимых с Xbox, и для всего, что представляется таковым. Лаунчер хранит выбор, индекс контроллера и привязки клавиатуры и передаёт их в game-run как переменные среды.

Клавиатура и скриптовый ввод

WASD — это левый стик. Alt вместе со стрелками — правый стик. Профили могут быть контроллером, клавиатурой или обоими. PS5_INPUT_MODE=scripted сохраняет импульсы кнопок начального вывода и игнорирует физические устройства, поэтому нажатие клавиши в другом окне не меняет измеряемую сцену.

Внутри HLE основной геймпад можно открыть через scePadOpen или получить через scePadGetHandle. Второй путь важен для игр, которые никогда не открывают контроллер вошедшего пользователя, прежде чем его опрашивать. Это сторона хоста этого описателя.

Что реализовано

  • DualSense, DualSense Edge и DualShock 4 по USB и Bluetooth HID.
  • Опрос новейшего отчёта, моторы, световая полоса и контрольная сумма Bluetooth.
  • XInput для геймпадов, совместимых с Xbox, и переназначаемые профили клавиатуры.
  • Режим скриптового ввода, который игнорирует физические устройства во время измерений.

Чего ещё нет

  • Тачпад, адаптивные курки и датчики движения не составляют полный набор возможностей DualSense.
  • Тактильность с дорожки фильма на моторы не направляется.
  • Путь HID — это путь хоста Windows, которым пользуются лаунчер и game-run.

Связанные механизмы

Чему посвящены эти страницы

Текст следует архитектурным заметкам и отчётам октября 2026 года в репозитории PS5PCEM. Пройденный точечный тест — это не новая частота кадров и не новое прохождение.

Все технологии