Przewijanie środkowym przyciskiem myszy za pomocą ThinkPad / unikanie wklejania


11

Mam klawiaturę ThinkPad USB i chcę używać środkowego kliknięcia do wklejania i przewijania.

Działa to na moim laptopie ThinkPad. Jeśli na laptopie środkowy przycisk kliknięcia jest przytrzymany przez wystarczająco krótki czas, to po zwolnieniu jest interpretowany jako „ wklej ”. Dłuższe przytrzymanie interpretowane jest jako „ przewijanie ”.

Problemem jest to, że za pomocą klawiatury USB, decyzja o wklej występuje, gdy środkowy przycisk jest wciśnięty , a nie kiedy jest zwolniony , więc jeśli próbuję przewijania z środkowego kliknięcia, będzie wklej, następnie przewinąć, kiedy trzymał ją w dół (choć co ciekawe, ta pasta nie pojawia się, jeśli już przesuwam kursor, co jest moim bieżącym obejściem).

Czy istnieje sposób, aby powiedzieć X11, aby wklejał przy zwolnieniu środkowego przycisku zamiast naciskać (z decyzją przewijania zamiast wklejania w zależności od tego, jak długo był przytrzymywany)?


2
Zaskakujące jest to, że zachowanie X11 będzie różne w zależności od używanej myszy. Sugeruję, xevaby obserwować zdarzenia ButtonPressi ButtonReleasesprawdzić, czy przycisk laptopa naprawdę wysyła zdarzenia, o których myślisz, że są w momencie, w którym myślisz, że tak jest. Możliwe, że zamiast tego robi trochę swojej magii i „okłamuje” X11, kiedy przyciski są naciskane i zwalniane. Nawiasem mówiąc, wydaje się normalne, że pasta pojawia się natychmiast po naciśnięciu przycisku 2, a nie zwolnieniu .
Celada

1
Chciałbym również wiedzieć, jak to zrobić, ponieważ jestem na klawiaturze Lenovo Bluetooth Trackpoint.
Justin N

Ta klawiatura USB, jaki to dokładnie model? Czy ma „prawdziwy” touchpad lub tak zwany touchpad (bez fizycznych przycisków)? Jakiego środowiska dystrybucyjnego i stacjonarnego używasz? Czy istnieje jakaś specjalna konfiguracja xorg (/etc/X11/xorg.conf oraz w /etc/X11/xorg.conf.d/)? Niektóre wskaźniki możesz znaleźć tutaj: askubuntu.com/questions/2557/thinkpad-middle-button-scrolling oraz dla touchpada tutaj: askubuntu.com/questions/380825/…
doktor5000

1
Wszelkie aktualizacje na ten temat? Ten sam problem występuje z zewnętrzną klawiaturą Lenovo.
languitar

FWIW, mam dwa modele klawiatury trackpoint Bluetooth i jeden ma ten problem. xevpokazuje, że ButtonPressprzycisk for 2, gdy tylko kliknę, a następnie, ButtonReleasegdy zacznę przewijać. Powinno się zdarzyć, że żadne z tych zdarzeń nie zostanie wygenerowane, dopóki akcja nie zostanie ujednoznaczniona przez przesunięcie punktu ścieżki (w którym to przypadku nie jest generowane ani naciśnięcie ani zwolnienie) ani przycisk 2 nie zostanie zwolniony (w którym to przypadku oba zdarzenia są wysyłane po zwolnieniu).
stewSquared

Odpowiedzi:


1

Działa to dla mnie dobrze w /etc/X11/xorg.conf.d/20-thinkpad.conf:

Section "InputClass"
    Identifier  "Trackpoint Wheel Emulation"
    MatchProduct    "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device|Composite TouchPad / TrackPoint"
    MatchDevicePath "/dev/input/event*"
    Option      "EmulateWheel"      "true"
    Option      "EmulateWheelButton"    "2"
    Option      "Emulate3Buttons"   "false"
    Option      "XAxisMapping"      "6 7"
    Option      "YAxisMapping"      "4 5"
EndSection

Ważną częścią jest MatchProductwpis, który obejmuje również klawiaturę USB. Można znaleźć ciąg produktów w klawiaturę /var/log/Xorg.0.logprzez grepping dla (II) evdev:.


1

Spróbuj włączyć emulację przewijania za pomocą następujących poleceń, które działają dobrze w kilku modelach klawiatury trackpoint:

dev="TPPS/2 IBM TrackPoint"
xinput --set-int-prop "$dev" "Evdev Wheel Emulation Axes" 8 6 7 4 5
xinput --set-int-prop "$dev" "Evdev Wheel Emulation Button" 8 2
xinput --set-int-prop "$dev" "Evdev Wheel Emulation" 8 1

Jeśli ci się nie podoba, możesz to cofnąć za pomocą

xinput --set-int-prop "$dev" "Evdev Wheel Emulation" 8 0

Konieczne może być dostosowanie dewelopera w zależności od modelu klawiatury. Biegać

xinput --list | grep TrackPoint

aby zobaczyć, jak nazywa się twoje urządzenie wskazujące.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.