Я попытался использовать этот учебник, чтобы заставить переключатель прокрутки работать на моей Microsoft Natural Ergonomic Keyboard 4000. Но я сталкиваюсь с следующей ошибкой:
sudo: /lib/udev/keymap: command not found
У меня есть версия udev 204-5ubuntu20.2 (версия, найденная в Trusty)
Я заметил, что эта версия не включает инструмент keymap. Но я замечаю, что более большие версии udev ( этот учебник ) включают этот инструмент.
Может ли кто-нибудь объяснить этот diff для меня? =) И что мне делать в этом случае - установить пакет из репозитория Debian?
Ubuntu 15.10: я не имел успеха с предыдущими ответами.
Я успешно использовал подход, аналогичный предыдущим, - инструкции были упомянуты в /lib/udev/hwdb.d/60-keyboard.hwdb.
создал новый файл hwdb, используя sudo nano /etc/udev/hwdb.d/70-keyboard.hwdb, содержащий:
# Microsoft Natural Ergonomic Keyboard 4000 - remap zoom in/out to page up/down evdev:input:b0003v045Ep00DB* KEYBOARD_KEY_c022d=pageup KEYBOARD_KEY_c022e=pagedown, после чего я запустил
sudo udevadm hwdb --update sudo udevadm control --reloadи перегрузил клавиатуру, и она сработала.
[d6 ] Для модели 7000 используйте evdev:input:b003v045Ep071D*Исходное решение, отправленное Oli, не сработало для меня, но оно работает после того, как я изменил номера клавиш "0c022d" и "0c022e" на "c022d" и "c022e". Я использую модель 4000, поэтому я не могу проверить, необходимы ли такие же изменения для модели 7000.
Чтобы повторить ответ Оли, вот что я сделал: создайте новый файл, запустив [ f7]. Вставьте следующие строки в файл (для модели 4000):
keyboard:usb:v045Ep00DB*
KEYBOARD_KEY_c022d=pageup
KEYBOARD_KEY_c022e=pagedown
После редактирования файла перекомпилируйте hwdb, который использует udev:
sudo udevadm hwdb --update
Затем замените клавиатуру .
Добавление к ответу Оли. Если вы хотите прокрутку строки, как это делается на мыши, вы можете изменить pageup / pagedown вверх или вниз в своем пользовательском правиле. Например:
keyboard:usb:v045Ep00DB*
KEYBOARD_KEY_c022d=up
KEYBOARD_KEY_c022e=down
Хорошее решение здесь, и я могу только добавить, что вы можете сопоставить ключи с неиспользуемыми клавишами X следующим образом:
$ cat /lib/udev/rules.d/95-keymap.rules
...
ENV{ID_VENDOR}=="Microsoft", ENV{ID_MODEL_ID}=="00db", RUN+="keymap $name 0xc022d katakana 0xc022e katakanahiragana
...
Можно найти правильные имена для использования вместо katakana [d1 ] здесь .
После перезагрузки ;-) вы можете проверить, что клавиши zoomin и zoomout сопоставлены успешно, а также для поиска правильных имен ключей (для использования в rc.xml для OpenBox WM, например), используя xev:
$ xev
...
KeyRelease event, serial 46, synthetic NO, window 0x3c00001,
root 0x291, subw 0x0, time 1492891, (-261,-61), root:(573,380),
state 0x0, keycode 101 (keysym 0xff27, Hiragana_Katakana), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
...
Теперь вы можете подключить новые ключи к полностью произвольному действию. В моем случае с менеджером окон OpenBox я использовал что-то вроде этого:
$ cat <whatever>/rc.xml
...
<keybind key="Katakana">
<action name="Execute">
<command>volume_up.sh</command>
</action>
</keybind>
<keybind key="Hiragana_Katakana">
<action name="Execute">
<command>volume_down.sh</command>
</action>
</keybind>
...