LINUX.ORG.RU

Ловля кодов клавиш.


0

0

На клавиатуре «Sidewinder X6» у меня возникла проблема с определением кодов клавиш для S1-S12 — xev не реагирует на нажатие. Что можете посоветовать сделать (может что-то в xorg.conf поменять надо)? Или нужно написать драйвер джойстика? Только я не знаю с чего начать... :/

Section "InputDevice"
    Identifier     "Keyboard0"
    Driver         "kbd"
    Option         "XkbRules" "xorg"
    Option         "XkbModel" "pc105"
    Option         "XkbLayout" "us,ru(winkeys)"
    Option         "XkbOptions" "grp:caps_toggle,grp_led:caps,compose:ralt"
EndSection

Попробовал позапускать showkey — реакции нет. :(

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

Понажимай эти клавиши - потом посмотри вывод dmesg - у меня там раньше все написано было что сделать для ММ клавиш про которые никто не знает.

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

> Понажимай эти клавиши - потом посмотри вывод dmesg - у меня там раньше все написано было что сделать для ММ клавиш про которые никто не знает.

Такое не работало с колесом Zoom на msnek4k. Было просто тихо в логах и xev. Только на /dev/input/event* появлялось что-то. В общем, все зависит от железки.

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

# dmesg
input: Microsoft Natural� Ergonomic Keyboard 4000 as /class/input/input3
input: USB HID v1.11 Keyboard [Microsoft Natural� Ergonomic Keyboard 4000] on usb-0000:00:1d.1-2
input: Microsoft Natural� Ergonomic Keyboard 4000 as /class/input/input4
input: USB HID v1.11 Device [Microsoft Natural� Ergonomic Keyboard 4000] on usb-0000:00:1d.1-2

На первом девайсе появляются обычные клавиши (1..3-байтные коды) (и они все ловятся иксами и распознаются xev). А те, что появляются на втором (часть нестандартных дополнительных клавиш) в xev никак не попадают и в dmesg ничего не появляется.

Два "нажатия" на zoom:

# evrouter -d /dev/input/event4

device 0: /dev/input/event4: Microsoft Natural� Ergonomic Keyboard 4000

"Microsoft Natural� Ergonomic Keyboard 4000" "/dev/input/event4" none key/419 "fill this in!"
"Microsoft Natural� Ergonomic Keyboard 4000" "/dev/input/event4" none key/418 "fill this in!"

Закидываем эти строки в конфиг evrouter, и он будет транслировать нажатия запущеным иксам или запускать бинарник/скрипт.

На gentoo-wiki была статья про настройку подобной клавиатуры - там предлагались патчи на USB HID в ядре. Я думаю, способ с парсингом ввода из evdev проще.

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

> На первом девайсе появляются обычные клавиши (1..3-байтные коды) (и они все ловятся иксами и распознаются xev). А те, что появляются на втором (часть нестандартных дополнительных клавиш) в xev никак не попадают и в dmesg ничего не появляется.

input: Microsoft Microsoft® SiderWinderTM X6 Keyboard as /class/input/input1
input,hidraw0: USB HID v1.11 Keyboard [Microsoft Microsoft® SiderWinderTM X6 Keyboard] on usb-0000:00:1a.2-1
input: Microsoft Microsoft® SiderWinderTM X6 Keyboard as /class/input/input2
input,hidraw1: USB HID v1.11 Device [Microsoft Microsoft® SiderWinderTM X6 Keyboard] on usb-0000:00:1a.2-1

но пресловутые клавиши S1-S12 не ловятся ни на event1, ни на event2 :/

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