LINUX.ORG.RU

Завести джойстик


0

1

У меня есть джойстик, вернее геймпард.

Драйвер его определил:

.........
UDEV  [2164337.664696] add      /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/1-1.6:1.0/0003:0079:0006.0003/input/input16 (input)
UDEV  [2164337.706169] add      /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/1-1.6:1.0/0003:0079:0006.0003/input/input16/event10 (input)

делаю `cat /dev/input/event10` жму кнопки, вижу мусор в конслои - значит все нормально.

Теперь вопрос: как его использовать? Я думал, что иксы будут понимать события от джойстика как обычные иксовые события, которые можно использовать внутри программ, но это не так. Кнопку джойстика нельзя забиндить на что нибудь, программа qjoypad тоже говорит, что джойстиков в системе нет. Игры (на самом деле одна: Nexuiz), тоже не реагируют на нажатия.

ЧЯДНТ??

actkbd например

вообще, для джойстиков даже на венде нужен спец софт

anonymous
()

События от него и не будут иксовые, если он не настроен в качестве устройства ввода в иксах.

В evtest события от него видны? Типа ABS_xx, BTN_xx. Их уже должны игрушки понимать.

alegz ★★★★
()
Ответ на: комментарий от alegz

evtest считывает данные, вот что видно в `evtest /dev/input/event10`

Event: time 1405742631.559293, type 3 (EV_ABS), code 17 (ABS_HAT0Y), value -1
Event: time 1405742631.559293, -------------- SYN_REPORT ------------
Event: time 1405742631.679282, type 3 (EV_ABS), code 17 (ABS_HAT0Y), value 0
Event: time 1405742631.679282, -------------- SYN_REPORT ------------
Event: time 1405742631.879268, type 3 (EV_ABS), code 16 (ABS_HAT0X), value 1
Event: time 1405742631.879268, -------------- SYN_REPORT ------------
Event: time 1405742631.999264, type 3 (EV_ABS), code 16 (ABS_HAT0X), value 0
Event: time 1405742631.999264, -------------- SYN_REPORT ------------
Event: time 1405742632.287286, type 3 (EV_ABS), code 17 (ABS_HAT0Y), value 1
Event: time 1405742632.287286, -------------- SYN_REPORT ------------
Event: time 1405742632.367288, type 3 (EV_ABS), code 17 (ABS_HAT0Y), value 0
Event: time 1405742632.367288, -------------- SYN_REPORT ------------
Event: time 1405742632.567270, type 3 (EV_ABS), code 16 (ABS_HAT0X), value -1
Event: time 1405742632.567270, -------------- SYN_REPORT ------------
Event: time 1405742632.687257, type 3 (EV_ABS), code 16 (ABS_HAT0X), value 0
Event: time 1405742632.687257, -------------- SYN_REPORT ------------

Это я крестовиной нажал вверх, вправо, вниз, влево.

s9gf4ult ★★
() автор топика

У устройства права пользователю не доступны, это норм? По идее же иксы должны с устройства собирать данные, а X у нас от рута работает, пользовательские программы не должны читать с event10 напрямую ?

s9gf4ult ★★
() автор топика

Я думал, что иксы будут понимать события от джойстика как обычные иксовые события

Нет, увы.

Игры попробуй другие, хотя реакция qjoypad наверно не говорит ни о чём хорошем. Если совсем никак, то погугли «udev keymaps» и попробуй переделать кнопки геймпада в клавиши клавиатуры (я не пробовал, но сработать может).

Gotf ★★★
()

ЧЯДНТ??

Пытаешься использовать геймпад в не предназначенных для этого приложениях

Valkeru ★★★★
()
Ответ на: комментарий от anonymous

вообще, для джойстиков даже на венде нужны костыли

Пофиксил

Valkeru ★★★★
()
Ответ на: комментарий от Gotf

Я так и не понял, иксы должны считывать события с джойстика самостоятельно, или они этого вообще не умеют. Как работает qjoypad? Считывает события у иксов, или напрямую из устройства джойстика и затем генерирует иксовые события?

Еще вопрос по драйверам: сейчас джойстик работает через evdev, есть еще старый драйвер joystick, в документации к нему сказано, что это старый драйвер и не должен использоваться.

Есть вообще описания этого зоопарка с джойстиками и как это все работает ?

s9gf4ult ★★
() автор топика
Ответ на: комментарий от s9gf4ult

Если нужно управлять курсором в Х-ах, ставится

xserver-xorg-input-joystick

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.