Używam myszy z 10 przyciskami (Logitech M705). Pod X11 byłem w stanie skonfigurować jeden z dodatkowych przycisków, aby zachowywał się jak drugie kliknięcie środkowym przyciskiem, modyfikując pliki etc/X11/xorg.conf.d
.
W Wayland to już nie działa. Moje badania pokazują, że muszę coś z tym zrobić libinput
. Myślałem, że będzie to powszechny problem, ale nigdzie nie mogę znaleźć odpowiedzi.
Czy ktoś może wyjaśnić, jak zmienić przypisanie przycisków myszy lub wyjaśnić, dlaczego nie można tego zrobić?
Odpowiedzi:
Ponowne mapowanie przycisków, jeśli korzystasz z Wayland, można wykonać w następujący sposób:
Uruchom,
xev | grep button
aby zarejestrować zdarzenia kliknięcia myszą i uzyskać numer zdarzenia, np. Klikając w oknie. W moim przypadku środkowy przycisk to:i chcę to zmapować:
Następnie uruchom
xinput --list
i znajdź swoje urządzenie wskaźnikowe, moje to:xinput get-button-map 9
zwroty:xinput-set-button-map:
UWAGA: zamień numer
9
na numer zwracany przezid=
A jeśli zdefiniowane jest zachowanie tego klucza, twoje wydarzenie jest mapowane. Jeśli nie, to trochę inna sprawa. Pod Wayland TBH nie znalazłem sposobu na wykonanie polecenia na zdarzeniu (co jest dość łatwe w przypadku Xorga
xbindkeys
) i dlatego w pełni dostosowuję zachowanie zdarzenia klucza i myszy. Wierzę, że Wayland stara się być bardziej bezpieczny i wyłącza to zachowanie .W każdym razie nadal możesz dość łatwo przełączyć się na Xorg i cieszyć się funkcjonalnością.
źródło
xinput set-button-map
dla każdej nowej sesji Wayland ...Option "ButtonMapping" "1 2 3 ..."
Zrobiłem mały skrypt powłoki + plik systemowy, który nazywam wayland-mouse-mapper .
fragment mathportillo / wayland-mouse-mapperźródło
Spróbuj zmodyfikować reguły udev hwdb. To rejestruje przyciski myszy jako klawisze klawiatury takie jak Launch8 / F16 i wyłącza ich funkcjonalność we wszystkich programach, Wayland lub w inny sposób.
następnie jako root
systemd-hwdb update; udevadm trigger
i odłącz mysz, a następnie podłącz ją ponownie.Dodatkowa kontrola poczytalności:
sudo udevadm info /dev/input/by-path/*-usb-*-mouse | grep -A3 -P3 KEYBOARD_KEY
lub zapytaj o to jako taki,systemd-hwdb query "evdev:input:v046dp406a*
zobacz źródło, aby uzyskać szczegółowe informacje na temat pobierania identyfikatora.Źródło: https://yulistic.gitlab.io/2017/12/linux-keymapping-with-udev-hwdb/
źródło