Logitech T400 и Linux

У забавной мышки Logitech T400 вместо колеса тачпад, а под ним две кнопки — в передней и задней части. И все бы хорошо, но производитель почему-то решил на одну из них (переднюю) повесить вызов меню «Пуск», а привычную среднюю кнопку мыши задвинуть в заднюю часть, так, что нажимать её приходится, неудобно скривив палец.
Ситуацию можно исправить, если пожертвовать клавишей «Windows» на клавиатуре. Вернём среднюю кнопку мыши на переднюю часть тачпада, а задней придумаем другое применение.
Понадобятся утилиты xbindkeys и xdotool, а также xinput из Xorg.
Сперва уточним код клавиши:
xbindkeys -k
Нажав на переднюю часть мышиного тачпада в открывшемся белом окошке, увидим в терминале что-то вроде этого:
"(Scheme function)"
m:0x40 + c:133
Mod4 + Super_L

В ~/.xbindkeysrc укажем код без модификатора (c:133) и действие при нажатии клавиши — эмуляцию нажатия средней кнопки мыши при помощи xdotool:
"xdotool click 2"
c:133
Super_L

Сохранив файл, запустим xbindkeys.
Теперь обе клавиши тачпада работают как средняя кнопка мыши. Но почему бы не назначить на заднюю часть какое-нибудь не слишком частое действие? К счастью, эта кнопка более традиционна, и её можно переопределить.
Сперва находим порядковый номер мыши в списке:
xinput list
Скажем, мы обнаружили нашу мышь под номером 13. Интересуемся подробностями:
xinput list 13
Отображаем таблицу кнопок:
xinput get-button-map 13
И меняем среднюю кнопку (2), например, на 9-ю:
xinput set-button-map 13 1 9 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Эту команду, как и xbindkeys, следует поставить в автозапуск (хотя бы в .bashrc), чтобы изменения сохранялись после перезагрузки.
Наконец, назначим действие на новую кнопку в .xbindkeysrc:
"skippy-xd"
m:0x0 + b:9 (mouse)

Здесь для примера вызывается визуальный переключатель задач skippy-xd.
После перезапуска xbindkeys всё должно работать. От комментариев по поводу прочих аспектов работы мыши пока воздержусь — надо привыкнуть к поведению колеса тачпада.
PS: Заряд мышиной батареи можно посмотреть с помощью Solaar.

Your comment: