Сделайте слайдер масштабирования Microsoft Natural Ergonomic Keyboard 4000 и 7000, прокрутите вверх и вниз, в 14.04 (Trusty)

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

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

У меня есть версия udev 204-5ubuntu20.2 (версия, найденная в Trusty)

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

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

1
задан 25 September 2014 в 03:35

4 ответа

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*

33
ответ дан 24 May 2018 в 07:23
  • 1
    Это правильный ответ для Ubuntu 16.04 – Greg Dan 26 April 2016 в 13:43
  • 2
    Благодарю. Похоже, что определения keyboard: больше не работают на Ubuntu 1604, и это должно быть evdev:. Существует даже сопоставление по умолчанию в /lib/udev/hwdb.d/60-keyboard.hwdb для модели 4000, которая сопоставляет их с zoomin / zoomout - однако X полностью игнорирует события (xev ничего не показывает), поэтому вам по-прежнему необходимо изменить конфигурацию, как это. – wump 19 September 2016 в 15:08
  • 3
    [F1] выглядит так, что это зависит от шины (поэтому он может работать только на некоторых USB-портах). Если что-то вроде b*v045Ep071D* работает, это может быть лучше. – Oli♦ 12 December 2016 в 18:23
  • 4
    Спасибо, он работает в Ubuntu 16.04 (evdev:input:XXX вместо keyboard:usb:YYY). Вы также можете использовать другое сопоставление вместо pageup / pagedown. Например, я использую scrollup и scrolldown для выполнения реальной прокрутки. – Martin Grůber 5 January 2017 в 13:43
  • 5
    Работы в Kubuntu 17.10, а также – OOPMan 18 December 2017 в 12:29

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

Затем замените клавиатуру .

7
ответ дан 24 May 2018 в 07:23
  • 1
    Благодарю. Как ни странно, мне нужно было выполнить это изменение тоже сейчас, а также после него потребовался перезапуск (а не просто перегрузка). – matt 28 June 2015 в 09:14
  • 2
    работал на меня на Ubuntu 15.04. Благодаря! – Pierre 2 August 2015 в 10:41
  • 3
    Это сработало для меня на Debian Jessie 8.5. – Nicolás 11 July 2016 в 06:04
  • 4
    Я хочу купить экономичную клавиатуру, и мне любопытно, работает ли она с 16.04 LTS? Или нет такой проблемы. – Arpad Horvath 29 August 2016 в 13:15

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

keyboard:usb:v045Ep00DB*
 KEYBOARD_KEY_c022d=up
 KEYBOARD_KEY_c022e=down
3
ответ дан 24 May 2018 в 07:23

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

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

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