Мой докладчик Logitech R400 отправляет следующие коды клавиш:
keycode 112 (keysym 0xff55, Prior) [page up]
keycode 117 (keysym 0xff56, Next) [page down]
keycode 60 (keysym 0x2e, period)
keycode 71 (keysym 0xffc2, F5)
keycode 9 (keysym 0xff1b, Escape)
В принципе, я хочу использовать этот выступающему удаленно управлять Banshee, поэтому я хотел бы переназначить Prior
к B
, Next
к N
, и так далее.
Как я могу изменить схему клавиш только для этого устройства (поскольку я, конечно, не хочу переназначать эти коды клавиш глобально)?
udev
remote-control
htorque
источник
источник
Ответы:
Я никогда не делал этого, но я думаю, что вам нужно создать файл раскладки
/lib/udev/keymaps/
и добавить правило для вашего устройства в/lib/udev/rules.d/95-keymap.rules
Детали:
Таблица ключей udev отображает коды сканирования на коды ключей, поэтому вам нужно найти оба, чтобы создать файл таблицы ключей. Чтобы найти коды сканирования, выполните следующие действия и нажмите кнопки на устройстве:
Возможно, вам придется попробовать разные номера для события * . Вывод должен выглядеть так:
Список кодов клавиш можно найти здесь .
Теперь создайте файл раскладки (я храню его как / lib / udev / keymaps / logitech-r400 ):
Ничего полезного не делает - просто тест, чтобы легко увидеть, работает ли он.
Для временного тестирования новой раскладки клавиш выполните:
что должно привести к выводу, как это:
Кнопки теперь должны менять яркость.
Если вы хотите сделать это изменение постоянным, вам нужно добавить правило udev,
/lib/udev/rules.d/95-keymap.rules
которое применяет файл раскладки клавиатуры к устройству.gksudo gedit /lib/udev/rules.d/95-keymap.rules
В нижней части файла, но перед
LABEL="keyboard_end"
строкой, добавьте:Сохраните, закройте, и после перезагрузки кнопки должны изменить яркость.
источник
/lib/udev/findkeyboards
. Это перечислит все подключенные в данный момент клавиатуры, так что вам не придется так много пробовать. Logitech R400 показался мне как «USB-клавиатура: ввод / событие11»./sys/class/dmi/id/sys_vendor
и ,/sys/class/dmi/id/product_name
но это не сработало./lib/udev/keymap
и/lib/udev/findkeyboards
больше не существует 13.10. forum.ubuntu-fr.org/viewtopic.php?id=1395051 говорит, что вместо этого следует использовать evtest.Я на Ubuntu 16.04. Я сделал руководство здесь
источник