W pliku konfiguracyjnym X przyciski myszy można zamapować za pomocą opcji ButtonMapping:
Section "InputClass"
# ...
Option "ButtonMapping" "1 9 3 4 5 6 7 8 2"
# ...
EndSection
Zmiana kolejności liczb zmienia zachowanie przycisków myszy. Nie mogę jednak znaleźć żadnej dokumentacji opisującej sposób przypisywania zachowania. Jak mało jest dokumentacji , pomogłem napisać.
Na przykład, jeśli mapowanie przycisków zostało zapisane w ten sposób:
Option "ButtonMapping" "a b c d e f g h i"
Udokumentowalibyśmy te pozycje jako:
- a - Kliknij lewym przyciskiem
- b - Środkowy
- c - Kliknij prawym przyciskiem myszy
- d - Przewiń do przodu
- e - Przewiń do tyłu
- f - Naprzód
- g - Wstecz
- h - Przewijanie w poziomie
- i - Przewijanie w pionie
Moje pytanie zatem: co zrobić pozycyjne wartości przez I rzeczywiście reprezentują i jak są mapowane do przycisków myszy?
Aktualizacja
Uruchamianie xmodmap -pp
programów:
$ 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
Nie jest to przydatne, ponieważ nie zawiera żadnych informacji, które człowiek mógłby wykorzystać na temat fizycznych atrybutów myszy (tzn. Pokazanie dwóch kolumn liczb jest bezużyteczne bez nazw przycisków, takich jak „lewy przycisk”). Chociaż technicznie może to odpowiedzieć na pytanie „w jaki sposób są one mapowane”, pytanie pozostaje praktycznie bez odpowiedzi.
Odpowiedzi:
Myślę, że powinieneś spojrzeć na to w ten sposób:
Pozycja wskazująca identyfikator klucza podana przez mysz (przez sterownik). Więc to od producenta zależy, jak je zamówić, jednak większość z nich przestrzega wspólnego zamówienia.
Myszy nadal używają starych protokołów, takich jak PS2, nie ma sposobu przechowywania ani informowania o dostępnych przyciskach i ich funkcjach. Tak więc serwer X nie może podać ci identyfikatora każdego przycisku fizycznego, tylko wypróbowując je za pomocą takiego narzędzia
xev
, pokazuje zdarzenia X:Lub
evtest
pokazuje surowe zdarzenia:Klucz logiczny to te, które faktycznie zostały zamapowane gdzie indziej na dodatkowe funkcje. Na tym poziomie X patrzy na nich jako: przycisk1, przycisk2, przycisk3, przycisk4, ..., przycisk24 i nie zna ich funkcji.
Oficjalne przykłady referencyjne:
Źródło: ftp://ftp.x.org/pub/current/doc/mouse.txt
źródło
xmodmap -pp
nie wyświetla nazw (np. „Lewy przycisk”, „kółko”) fizycznych przycisków, zgodnie z dokumentacją. Zobacz moją aktualizację pytania.