В файле конфигурации X кнопки мыши могут отображаться с помощью параметра ButtonMapping:
Section "InputClass"
# ...
Option "ButtonMapping" "1 9 3 4 5 6 7 8 2"
# ...
EndSection
Изменение порядка чисел меняет поведение кнопок мыши. Тем не менее я не могу найти документацию, которая описывает, как поведение назначается. Какую там небольшую документацию я помог написать.
Например, если отображение кнопки было написано так:
Option "ButtonMapping" "a b c d e f g h i"
Мы бы зафиксировали эти позиции как:
- a - Левый клик
- б - средний
- c - Правый клик
- d - Прокрутить вперед
- e - Прокрутить назад
- f - вперед
- г - назад
- h - горизонтальная прокрутка
- я - вертикальная прокрутка
Мой вопрос: что тогда делать позиционные значения через I на самом деле представляют и как они отображаются на кнопки мыши?
Обновить
Беговые xmodmap -pp
шоу:
$ xmodmap -pp
There are 10 pointer buttons defined.
Physical Button
Button Code
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
Это бесполезно, так как не содержит информации, которую человек может использовать о физических атрибутах мыши (т. Е. Показывать два столбца чисел бесполезно без названий кнопок, таких как «левая кнопка»). Таким образом, хотя технически это может ответить на вопрос «как они отображаются», вопрос остается без ответа в любом практическом смысле.
Ответы:
Я думаю, что вы должны смотреть на это так:
Позиция, указывающая идентификатор ключа, сообщаемый мышью (через драйвер). Таким образом, дело производителя сделать заказ, однако большинство придерживается общего порядка.
Мыши все еще используют старые протоколы, такие как PS2, у него нет способа сохранить или сообщить информацию о доступных кнопках и их функциях. Таким образом, X-сервер не может сказать вам идентификатор каждой физической кнопки, только попробовав их с помощью инструмента, подобного
xev
которому показывает события X:Или
evtest
это показывает необработанные события:Логический ключ - это те, которые на самом деле отображены где-то еще для дополнительных функций. На этом уровне X смотрит на них как: button1, button2, button3, button4, ..., button24 и не знает их функции.
Официальные справочные примеры:
Источник: ftp://ftp.x.org/pub/current/doc/mouse.txt
источник
xmodmap -pp
не показывает названия (например, «левая кнопка», «колесико») для физических кнопок согласно документации. Смотрите мое обновление на вопрос.