У меня есть базовая мышь Logitech с 5 кнопками: слева, справа, колесо слева, колесо, колесо справа.
Я использовал колесо влево и вправо для перехода назад и вперед в моем браузере или навигаторе. Теперь это не работает. Я нашел много решений, люди, которые говорили, устанавливать эту программу или что-то еще, похоже, не работали.
Установите пакет xautomation
, нам нужна команда xte
sudo apt-get install xautomation
Установите пакет x11-utils
, нам нужна команда xev
sudo apt-get install x11-utils
Проверьте код на эти две кнопки мыши.
Запустите команду xev
в терминале:
xev
Переместите мышь в новое окно
Нажмите свое оставленное колесо и право колеса
В моем случае отметьте вывод button 6
и button 7
:
ButtonRelease event, serial 36, synthetic NO, window 0x2e00001,
root 0x233, subw 0x0, time 9222464, (94,21), root:(1774,85),
state 0x10, button 6, same_screen YES
ButtonPress event, serial 36, synthetic NO, window 0x2e00001,
root 0x233, subw 0x0, time 9223854, (94,21), root:(1774,85),
state 0x10, button 7, same_screen YES
Отредактируйте Ваш xbindkeys
конфигурация, например:
nano ~/.xbindkeysrc
и добавьте строки ниже
"xte 'keydown Alt_L' 'keydown Left' 'keyup Left' 'keyup Alt_L'"
b:6
"xte 'keydown Alt_L' 'keydown Right' 'keyup Right' 'keyup Alt_L'"
b:7
Замена b:6
и b:7
с Вашими числами xev
вывод
от man xte
key k
Press and release key k
keydown k
Press key k down
keyup k
Release key k
Уничтожьте все kbindkeys
процессы
killall xbindkeys
Перезапуск xbindkeys
с Вашей конфигурацией, например:
xbindkeys -f ~/.xbindkeysrc
Здесь есть инструкции для нескольких кнопок мыши и xorg.conf, информация здесь .
По сути, вы возитесь с xinput. (Или imwheel для дополнительных опций.)
Сначала откройте Терминал. Перечислите ваши устройства ввода:
# show all input devices
xinput list
Вы получите что-то вроде этого:
$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Microsoft Natural® Ergonomic Keyboard 4000 id=11 [slave pointer (2)]
⎜ ↳ Evoluent VerticalMouse 4 id=12 [slave pointer (2)]
У меня есть Evoluent VerticalMouse. Вы можете видеть номер идентификатора 12: «id = 12».
Я могу проверить свою мышь с помощью:
# show all input from device with identifier number 12
xinput test 12
Теперь, когда я двигаю мышь или щелкаю, я получаю вывод в этом терминале, сообщая, какую кнопку я нажал. Нажмите Ctrl kbd> - c kbd>, чтобы завершить тест.
Если ваши кнопки «назад» / «вперед» не дают выходных данных, попробуйте сбросить карту кнопок по умолчанию с помощью кнопки set-button-map. Обратите внимание, что я использую имя моего устройства, которое было выведено как xinput list
:
xinput set-button-map "Evoluent VerticalMouse 4" 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Теперь попробуйте запустить xinput test
с вашим идентификатором. Если вы получаете правильные ответы кнопок здесь, то вам просто нужно выяснить, какое отображение вы хотите, и обновить ваш xorg.conf. (Я пока не знаю, как это сделать.)
Первый, установите необходимые пакеты:
$ sudo apt install x11-utils xbindkeys xautomation
Затем, использование xev
обеспеченный x11-utils
для обнаружения точных номеров кнопки спины и вперед кнопок мыши.
$ xev |grep -A2 ButtonPress
Для моего соединил вертикальную мышь Анкера проводом , назад и вперед соответственно кнопки 8 и 9.
ButtonPress event, serial 37, synthetic NO, window 0x3600001,
root 0x1da, subw 0x0, time 1708382, (68,54), root:(939,498),
state 0x10, button 8, same_screen YES
--
ButtonPress event, serial 37, synthetic NO, window 0x3600001,
root 0x1da, subw 0x0, time 1711030, (69,48), root:(940,492),
state 0x10, button 9, same_screen YES
, Продолжаются путем создания скрытого файла, названного .xbindkeysrc
в корневом каталоге со следующим содержанием:
"xte 'keydown Down'"
b:8
"xte 'keyup Down'"
b:8 + Release
"xte 'keydown Up'"
b:9
"xte 'keyup Up'"
b:9 + Release
Эти xte
команда обеспечивается xautomation
пакет.
Наконец, выходят из системы и в снова от рабочего стола для этих изменений для вступления в силу. Можно теперь прокрутить вверх и вниз в браузерах и других программах путем нажатия и сдерживания мыши и передать кнопки.
После большого верчения о я нашел, что, чтобы заставить две маленьких треугольных кнопки под ползунком (рядом с колесом ползунка) работать как назад/вперед с моим Logitech MX Master, я имел к:
Установка imwheel
, и затем редактируют ~/.imwheelrc
для сходства с этим:
".*"
None, Up, Button4, 5
None, Down, Button5, 5
Control_L, Up, Control_L|Button4
Control_L, Down, Control_L|Button5
Shift_L, Up, Shift_L|Button4
Shift_L, Down, Shift_L|Button5
None, Thumb1 , Alt_L|Left
None, Thumb2 , Alt_L|Right
нижняя часть две строки означают, что нажатие ниже этих двух кнопок ползунка ("Thumb1", по-видимому), не содержа модифицирующих клавиш (например, Сдвиг , Ctrl , Высокий звук ) одновременно (это не "Ни один" часть) должно эмулировать удержание левой клавиши Alt ( Alt_L ), и нажатие стрелки влево ( ← ) ключ для возвращения в браузере.
Точно так же строка "Thumb2" генерирует левую клавишу Alt плюс стрелка вправо, для продвижения.
похоже, что существует много различных способов сделать это, но это - то, что я нашел и работал на меня в Ubuntu 18.04. Я испытал немного затруднений при интерпретации того, что страница справочника для imwheel
говорила мне делать, таким образом, я надеюсь, что это выручает кого-то.
после редактирования .imwheelrc
файл не забывайте перезапускать imwheel
для внесения изменений, вступите в силу:
sudo imwheel -k
Исправить скорость прокрутки и кнопки назад/вперед на Logitech G900 (должны быть одинаковыми для этого):
xev
не работал для моей мыши, я использовал команду xinput
, чтобы сначала узнать идентификатор устройства моей мыши. Чтобы вывести список устройств ввода:
# xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech Gaming Mouse G900 id=8 [slave pointer (2)]
⎜ ↳ Logitech Gaming Mouse G900 id=9 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ HD Pro Webcam C920 id=11 [slave keyboard (3)]
↳ Logitech Gaming Mouse G900 id=12 [slave keyboard (3)]
↳ Apple Inc. Magic Keyboard with Numeric Keypad id=10 [slave keyboard (3)]
, а затем используйте xinput test 8
(это идентификатор мыши, 9 не дал никакого вывода), чтобы узнать, что боковые кнопки на самом деле являются кнопками 8 и 9 ( просто нажмите их и посмотрите на вывод, чтобы увидеть, какие кнопки вы нажимаете).
Я уже установил imwheel для настройки скорости прокрутки мыши
Создайте .imwheelrc следующим образом:
cat >~/.imwheelrc<<EOF
".*"
None, Up, Button4, 5
None, Down, Button5, 5
None, Thumb1, Alt_L|Left
None, Thumb2, Alt_L|Right
EOF
Где ".*"
означает, используйте эту конфигурацию для всех x-windows. Если вы хотите использовать этот конфиг только в хроме, например, вы можете вставить туда "^google-chrome$"
.
Вы можете использовать xprop WM_CLASS | grep -o '"[^"]*"' | head -n 1
, а затем щелкните окно, чтобы получить имя, которое должно быть в конфигурации.
Часть None
в первый столбец означает, что нажатие кнопки мыши регистрируется без удержания клавиш-модификаторов (например, Shift, Ctrl, Alt) одновременно.
Button4 и Button5 обычно представляет собой колесико мыши.
5
в конце строки определяет скорость прокрутки (чем больше, тем быстрее, чем меньше, тем медленнее)
Я понятия не имею, что означает ThumbN
.
Alt_L|Влево
должен эмулировать нажатие левой Alt клавиши (Alt_L) и нажатие клавиши со стрелкой влево (←), чтобы вернуться в браузер.KP_Left вместо Left также будет работать.
Перезапустите imwheel с помощью killall imwheel
и imwheel
.
Примечание: чтобы изменения вступили в силу, вам нужно снова открыть окна.
Чтобы найти названия кнопок, используйте список xmodmap -pke
или его графический интерфейс xkeycaps
Я использовал много источников. В честь некоторых из них: Еще один пост на ту же тему Также о мышах пример файла imwheelrc