Я пытаюсь переназначить свои кнопки мыши, две боковые кнопки и средний щелчок на 4,5,6 клавиш на моей клавиатуре, нашел несколько руководств, но я очень плохо знаком с Ubuntu и Linux в целом, я пытался сделать что в течение нескольких дней, но безрезультатно. Может ли кто-нибудь провести меня через это или указать мне какое-нибудь всеобъемлющее руководство, которому мог бы следовать нуб? Любая помощь будет оценена.
Существует в основном два подхода к этой проблеме:
или
Последний только работает, если входной драйвер сообщает о scancode для определенной кнопки. Все мыши я владею отчетом scancodes для всех кнопок кроме колесика прокрутки.
Я лично предпочитаю повторно отображать scancode, таким образом, я только объясню тот метод.
Это - более или менее та же процедура, как я описал здесь.
Выполненный sudo evtest
(Вам, вероятно, придется установить evtest
сначала) и выбор Ваша мышь. Нажмите кнопки, которые Вы хотите повторно отобразить (если Вы не видите вывода, нажмите Ctrl+C и повторите процесс, пока Вы не нашли свою мышь). Вывод должен содержать строки как следующее:
Event: time 1558613958.149431, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90004
Event: time 1558613958.149431, type 1 (EV_KEY), code 275 (BTN_SIDE), value 1
Event: time 1558613958.149431, -------------- SYN_REPORT ------------
Первая строка говорит нам scancode (в моем случае 90004
), вторая строка сообщает о в настоящее время отображаемом коде клавиши (в моем случае BTN_SIDE
). Запишите scancodes всех кнопок мыши, которые Вы хотите повторно отобразить.
Теперь выполните следующую команду, где eventX является тем, Вы выбрали при использовании evtest
:
grep "" /sys/class/input/eventX/device/id/*
Это говорит Вам тип шины, поставщика, продукт и версию Вашей мыши. В моем случае вывод:
/sys/class/input/event7/device/id/bustype:0003
/sys/class/input/event7/device/id/product:4102
/sys/class/input/event7/device/id/vendor:062a
/sys/class/input/event7/device/id/version:0110
Теперь создайте следующий файл:
/etc/udev/hwdb.d/99-mouse-remap.hwdb
evdev:input:b[bustype]v[vendor]p[product]e[version]*
ID_INPUT_KEY=1
KEYBOARD_KEY_[scancode]=4
KEYBOARD_KEY_[scancode]=5
KEYBOARD_KEY_[scancode]=6
... где
evdev:...
строка не имеет никакого предыдущего пространстваKEYBOARD_KEY...
строки имеют точно одно предыдущее пространствоФайл был бы похож на это для моей мыши:
evdev:input:b0003v062Ap4102e0110*
ID_INPUT_KEY=1
KEYBOARD_KEY_90003=4
KEYBOARD_KEY_90004=5
KEYBOARD_KEY_90005=6
Теперь выполненный sudo systemd-hwdb update
и перезагрузка.