Ubuntu 18.04 больше не добавляет второе устройство джойстика для гироскопа/акселерометра Sony DualShock3's, нового sony_hid драйвера

Когда новый hid_sony драйвер был выпущен, он разделил исходные данные гироскопа/акселерометра на отдельные устройства джойстика. Теперь несколько недель и обновлений обновления позже я нахожу только палки, триггеры и регистры устройства ввода данных кнопок; это не проблема для меня. Потеря осей гироскопа/акселерометра является проблемой. Вы видите pastebin ниже, когда я соединяюсь, Датчики PLAYSTATION(R)3 Controller Motion Sony не регистрируются как устройство джойстика, в то время как Контроллер Sony PLAYSTATION(R)3 действительно становится присвоенным джойстик. Возможно просто файл конфигурации должен быть отредактирован, чтобы позволить устройству гироскопа зарегистрироваться (или в этом отношении принять решение зарегистрировать аналоговые входы кнопки). Я не изменил свою конфигурацию, так как новый sony_hid был выпущен, и у меня сначала было эти два джойстика (физический и гироскоп) на контроллер Dualshock, но я больше не получаю то второе устройство джойстика гироскопа на Dualshock3, который я соединяю или на USB или на Bluetooth. Есть ли некоторое редактирование .config, которое может заставить оси гироскопа регистрироваться, а также (раньше доступный под старым драйвером) аналоговые оси кнопки для тех, кому нужно это также?

4.15.0-38-универсальный # SMP с 41 Ubuntu среда 10 октября 10:59:38 GNU/Linux UTC 2018 x86_64 x86_64 x86_64 https://pastebin.com/zw8W8Ucs

3
задан 31 October 2018 в 17:28

1 ответ

Пропавшие без вести устройства джойстика

Я нашел Вашу ошибку на панели запуска, но как оказалось, это - 'регрессия' в joydev драйвер, представленный в

Вход: joydev - помещают в черный список ds3/ds4/udraw датчики движения

Автор не объяснил фиксацию, и я честно не вижу причины позади нее. Я предлагаю, чтобы Вы зарегистрировали ошибку против него.

evdev устройство не работает также

Существует также незначительная ошибка с evdev узлом устройства, созданным hid_sony: это не доступный пользователь, таким образом, Датчики Движения не разоблачат в приложениях то использование evdev устройства вместо joydev. Если это - Ваша проблема, создайте файл /etc/udev/rules.d/51-ds3-accels-uaccess.rules со следующим содержанием:

SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="*Motion Sensors", TAG+="uaccess"

То правило будет соответствовать каждому устройству, которое заканчивается в "Датчиках Движения", таким образом, оно также соответствует PS3-контроллерам копии как Gasia/Shanwan (суффикс добавляется hid_sony драйвер).

Я нуждаюсь в js* устройство и не могу ждать исправления ошибки!

Начиная с evdev устройство присутствует, мы можем работать вокруг joydev черный список путем создания нового uinput устройство, которое не будет помещено в черный список и передаст события к нему.

Установка python-evdev и создайте следующие 3 файла:

~/.local/bin/evdev-forwarder.py:

import evdev, sys

device = evdev.InputDevice(sys.argv[1])
joystick = evdev.UInput.from_device(device, name=(device.name + ' forwarded'))

for event in device.read_loop():
    joystick.write_event(event)

~/.config/systemd/user/evdev-forwarder. сервис:

[Unit]
Description=Forwarding evdev device: %I

[Service]
Type=simple
Environment="ARGS=%I"
ExecStart=/usr/bin/python %h/.local/bin/evdev-forwarder.py $ARGS

/etc/udev/rules.d/51-ds3-accels-workaround.rules

KERNEL=="uinput", SUBSYSTEM=="misc", TAG+="uaccess"
ACTION=="add", SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="*Motion Sensors", TAG+="uaccess", TAG+="systemd", ENV{SYSTEMD_USER_WANTS}="evdev-forwarder@$env{DEVNAME}.service"

Примечание: вышеупомянутое 51-ds3-accels-uaccess.rules не необходимо в этом случае.

Аналоговые кнопки

Используя hid_sony драйвер, мы никогда не будем, вероятно, возвращать аналоговые кнопки. Существует несколько комментариев в исходном коде, которые указывают на это, например:

Мы используем ту же ось и кнопку, отображающуюся как DS3, который использует спецификацию игрового планшета Linux.

... и...

DS3 обеспечивает аналоговые значения для большинства кнопок и даже для осей ШЛЯПЫ через Указатель GD. О L2 и R2 сообщают среди них также вместо как GD Z / RZ. Перекарта L2 и R2 и игнорирует другие аналоговые 'оси кнопки', поскольку нет никакого хорошего пути к созданию отчетов о них.

Я выделил те части, потому что они - вероятно, причина почему. Спецификация Игрового планшета Linux не упоминает аналоговые кнопки кроме слева/справа триггеров.

Если Вы не измените драйвер сами или используете что-то действительно устаревшее как QtSixA/sixad, Вы не сможете использовать аналоговые события кнопок поверхности.

2
ответ дан 1 December 2019 в 16:50

Другие вопросы по тегам:

Похожие вопросы: