Я пытался использовать это учебное руководство, чтобы заставить прокрутку переключить работу над моей Microsoft Natural Ergonomic Keyboard 4000. Но я сталкиваюсь со следующей ошибкой:
sudo: /lib/udev/keymap: command not found
У меня есть udev версия 204-5ubuntu20.2
(версия, найденная в Надежном человеке)
Я заметил, что эта версия не включает keymap
инструмент. Но я замечаю что больше udev
версии (который доступный для Debian, например) включают этот инструмент.
Кто-то мог объяснить эту разность для меня?=) И что я должен сделать в этом случае - пакет установки от Debian repo?
Если Вы посмотрите /lib/udev/rules.d/60-keyboard.rules
, то Вы будете видеть, что со всем бездельничали. Это - просто часть udev слияния в systemd, который продолжился.
Все аппаратные правила компилируются в двоичную аппаратную базу данных. Они следуют за действительно странным форматом. Существующие правила для клавиатур, которые поставлются с udev, живым в /lib/udev/hwdb.d/60-keyboard.hwdb
. Посмотрите это, но не редактирует его (обновления, вероятно, перезапишут его).
Для добавления пользовательских правил мы создадим новый файл в /etc/udev/hwdb.d/
путем выполнения sudoedit /etc/udev/hwdb.d/61-keyboard-local.hwdb
. Все, что необходимо сделать, вставить в следующем -
при использовании 4 000 моделей:
keyboard:usb:v045Ep00DB*
KEYBOARD_KEY_0c022d=pageup
KEYBOARD_KEY_0c022e=pagedown
, Если Вы используете 7 000 моделей:
keyboard:usb:v045Ep071D*
KEYBOARD_KEY_0c022d=pageup
KEYBOARD_KEY_0c022e=pagedown
Это - adapated из учебного руководства, которое Вы отправили так, Вы, возможно, должны были бы настроить на основе своей клавиатуры. Взгляд lsusb
и удостоверяется эти vendor:product
, код выше (как v####p####
) корректен. Это не будет работать, если они не будут соответствовать.
, Как только Вы сделаны, редактируя, перекомпилируйте hwdb
, что udev использует:
sudo udevadm hwdb --update
И затем Вы могли бы потребность повторно включиться. Если это - клавиатура PS/2, Вы, возможно, должны были бы перезагрузить. В некоторых случаях также необходимо перезагрузить.
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
и повторно включил клавиатуру, и она работала.
использование модели 7000 For evdev:input:b003v045Ep071D*
Исходное решение, отправленное Oli, не работало на меня, но это работает после того, как я изменил ключевые номера "0c022d"
и "0c022e"
на "c022d"
и "c022e"
. Я использую 4 000 моделей, таким образом, я не могу проверить, необходимо ли то же изменение для 7 000 моделей.
Для повторения ответа Oli вот то, что я сделал: создайте новый файл путем выполнения sudo nano /etc/udev/hwdb.d/61-keyboard-local.hwdb
. Вставьте следующие строки в файл (для 4 000 моделей):
keyboard:usb:v045Ep00DB*
KEYBOARD_KEY_c022d=pageup
KEYBOARD_KEY_c022e=pagedown
После редактирования файла, перекомпилируйте hwdb, который использует udev:
sudo udevadm hwdb --update
Тогда повторно включают клавиатуру.
Добавление к ответу Oli, Если Вы хотите строку, прокручивающую как то, как это находится на мыши, можно изменить 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
могут быть найдены здесь .
После перезагрузки ;-) можно протестировать это 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>
...