Я только что купил Bluetooth-мышь Logitech M535. У него есть наклонное колесо, но оно сопоставлено с кнопками "назад" и "вперед". Чтобы заставить его работать как горизонтальная прокрутка, я написал этот скрипт:
#! /bin/dash
MOUSE_ID=`xinput list | grep -o 'M535.*pointer' | sed 's/^.*id=\([0-9]*\)[\t].*$/\1/')`
xinput set-button-map $MOUSE_ID 1 2 3 4 5 8 9 6 7 10 11 12
К сожалению, таким образом кнопки прокрутки не повторяются.
Кроме того, у мыши также есть дополнительная кнопка, которая отправляет ALT+TAB (через "поддельную" клавиатуру):
ignazio@ignazio-HP:~$ xinput | grep M535
⎜ ↳ Bluetooth Mouse M336/M337/M535 id=15 [slave pointer (2)]
↳ Bluetooth Mouse M336/M337/M535 id=16 [slave keyboard (3)]
ignazio@ignazio-HP:~$ xinput test 16
key press 64
key press 23
key release 23
key release 64
Как я могу привязать эту кнопку к чему-то другому?
Я пытался использовать xbindkeys
но не смог перехватить ALT+TAB. Более того, даже если бы я мог, я бы хотел перехватывать только с фальшивой клавиатуры от мыши, и я не мог найти способа фильтровать устройства в xbindkeys
.
Я также знаю, что существуют модули ядра для аналогичных мышек Logitech (см. Https://github.com/CzBiX/logitech-m560), но этот не поддерживается.