LINUX.ORG.RU

История изменений

Исправление Siado, (текущая версия) :

Пока сообразил такой рецепт:

1. Определяем наше устройство с помощью lsusb:

# Bus 008 Device 015: ID 0566:3017 Monterey International Corp. 

2. Определяем HEX-значения кнопок, которые хотим переиначить:

# evtest /dev/input/by-id/usb-0566_3017-event-kbd
...
Testing ... (interrupt to exit)
Event: time 1479683706.481100, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70054
Смотрим значение value для нажатой кнопки

3. Создаем свой свой конфиг для udev для нашего устройства:

# vi /etc/udev/hwdb.d/70-keyboard.hwdb

keyboard:usb:v0566p3017*
 KEYBOARD_KEY_700e3=prog1
 KEYBOARD_KEY_70054=prog2
 KEYBOARD_KEY_70055=prog3
 KEYBOARD_KEY_7002a=prog4

4. Обновляем конфиги udev

# udevadm hwdb --update
После чего переподключаем устройство к USB и идем назначать нужные клавиши через IDE-шную назначалку хоткеев.

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

 KEYBOARD_KEY_<hex scan code>=<key code identifier>
Вся проблема в том, что похоже <key code identifier> ограничены в количестве, как создать свои keycode я не разобрался, нашел только те, которые у меня точно не используются - это prog[1-4], можно еще неиспользуемые поискать, но может кто подскажет как свои создавать?

Исходная версия Siado, :

Пока сообразил такой рецепт:

1. Определяем наше устройство с помощью lsusb:

# Bus 008 Device 015: ID 0566:3017 Monterey International Corp.

2. Определяем HEX-значения кнопок, которые хотим переиначить:

# evtest /dev/input/by-id/usb-0566_3017-event-kbd ... Testing ... (interrupt to exit) Event: time 1479683706.481100, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70054

Смотрим значение value для нажатой кнопки

3. Создаем свой свой конфиг для udev для нашего устройства:

# vi /etc/udev/hwdb.d/70-keyboard.hwdb

keyboard:usb:v0566p3017* KEYBOARD_KEY_700e3=prog1 KEYBOARD_KEY_70054=prog2 KEYBOARD_KEY_70055=prog3 KEYBOARD_KEY_7002a=prog4

4. Обновляем конфиги udev # udevadm hwdb --update

После чего переподключаем устройство к USB и идем назначать нужные клавиши через IDE-шную назначалку хоткеев.

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

KEYBOARD_KEY_<hex scan code>=<key code identifier>

Вся проблема в том, что похоже <key code identifier> ограничены в количестве, как создать свои keycode я не разобрался, нашел только те, которые у меня точно не используются - это prog[1-4], можно еще неиспользуемые поискать, но может кто подскажет как свои создавать?