Сделайте ползунок масштабирования Microsoft Natural Ergonomic Keyboard 4000 и 7 000 прокруток вверх и вниз, в 14,04 (Надежный человек)

Я пытался использовать это учебное руководство, чтобы заставить прокрутку переключить работу над моей Microsoft Natural Ergonomic Keyboard 4000. Но я сталкиваюсь со следующей ошибкой:

sudo: /lib/udev/keymap: command not found

У меня есть udev версия 204-5ubuntu20.2 (версия, найденная в Надежном человеке)

Я заметил, что эта версия не включает keymap инструмент. Но я замечаю что больше udev версии (который доступный для Debian, например) включают этот инструмент.

Кто-то мог объяснить эту разность для меня?=) И что я должен сделать в этом случае - пакет установки от Debian repo?

29
задан 24 September 2014 в 15:35

5 ответов

Если Вы посмотрите /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, Вы, возможно, должны были бы перезагрузить. В некоторых случаях также необходимо перезагрузить.

27
ответ дан 23 November 2019 в 00:51

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*

37
ответ дан 23 November 2019 в 00:51

Исходное решение, отправленное 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

Тогда повторно включают клавиатуру.

7
ответ дан 23 November 2019 в 00:51

Добавление к ответу Oli, Если Вы хотите строку, прокручивающую как то, как это находится на мыши, можно изменить pageup/pagedown к/вниз в пользовательском правиле. Как:

keyboard:usb:v045Ep00DB*
 KEYBOARD_KEY_c022d=up
 KEYBOARD_KEY_c022e=down
4
ответ дан 23 November 2019 в 00:51

Хорошее решение здесь , и я могу только добавить, что можно отобразить ключи к неиспользованному 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>
...
1
ответ дан 23 November 2019 в 00:51

Другие вопросы по тегам:

Похожие вопросы: