Przewijanie w poziomie jest traktowane jak kliknięcie prawym przyciskiem myszy w aplikacjach Java

14

Włączyłem przewijanie w poziomie dla mojego touchpada w Ubuntu 11.04, ale podczas używania go w aplikacjach Java (w moim przypadku NetBeans) jest to kliknięcie prawym przyciskiem myszy.

Przewijanie w poziomie działa idealnie we wszystkich aplikacjach, które nie są napisane w Javie.

Co mogę zrobić, aby działał poprawnie?

JLinden
źródło

Odpowiedzi:

4

To jest ten błąd . Możesz to naprawić zgodnie z opisem tam, uruchamiając synclient HorizTwoFingerScroll=0(przewijanie dwoma palcami nadal będzie działać dobrze).

Możesz dodać polecenie podczas uruchamiania za pomocą okna dialogowego „aplikacje startowe”.

NoBugs
źródło
2

Możliwe obejście zostało omówione na UbuntuForums - albo uruchamiasz skrypt ręcznie, aby włączyć lub wyłączyć kliknięcie prawym przyciskiem w zależności od tego, czy używasz aplikacji opartej na JAVA.

Możesz - na przykład, połączyć każdy ze skryptów jako Skróty klawiaturowe, np. CTRL+ ALT+, EAby włączyć i CTRL+ ALT+, Raby wyłączyć

Utwórz skrypt o nazwie „hscroll_disable” zawierający:

DEVICE_NAME='TPPS/2 IBM TrackPoint'
PROP_NAME='Evdev Wheel Emulation Axes'

xinput set-int-prop "$DEVICE_NAME" "$PROP_NAME" 8 4 5 4 5
if [[ $? -eq 0 ]] ; then
  zenity --info --text "Horizontal Scrolling Disabled"
else
  zenity --error --text "Error disabling horizontal scroll."
fi

Utwórz skrypt o nazwie „hscroll_disable” zawierający:

DEVICE_NAME='TPPS/2 IBM TrackPoint'
PROP_NAME='Evdev Wheel Emulation Axes'

xinput set-int-prop "$DEVICE_NAME" "$PROP_NAME" 8 6 7 4 5
if [[ $? -eq 0 ]] ; then
  zenity --info --text "Horizontal Scrolling Enabled"
else
  zenity --error --text "Error enabling horizontal scroll."
fi

Daj obu skryptom uprawnienia do wykonania, tj

chmod +x hscroll_disable
chmod +x hscroll_enable

Dwie ważne części skryptów to „DEVICE_NAME” i „PROP_NAME”

Możesz dowiedzieć się, której nazwy urządzenia użyć w swoim systemie:

xinput list --short

To da wynik podobny do:

"Virtual core pointer"  id=0    [XPointer]
"Virtual core keyboard" id=1    [XKeyboard]
"ThinkPad Extra Buttons"        id=2    [XExtensionKeyboard]
"AT Translated Set 2 keyboard"  id=3    [XExtensionKeyboard]
"Video Bus"     id=4    [XExtensionKeyboard]
"Macintosh mouse button emulation"      id=5    [XExtensionPointer]
"TPPS/2 IBM TrackPoint" id=6    [XExtensionPointer]

Następnie, aby znaleźć nazwę właściwości:

xinput list-props "TPPS/2 IBM TrackPoint"

To da wynik podobny do:

Device 'TPPS/2 IBM TrackPoint':
        Device Enabled (93):            1
        Evdev Axis Inversion (230):             0, 0
        Evdev Reopen Attempts (227):            10
        Evdev Axis Calibration (228):           
        Evdev Axes Swap (229):          0
        Evdev Middle Button Emulation (231):            1
        Evdev Middle Button Timeout (232):              50
        Evdev Wheel Emulation (233):            1
        Evdev Wheel Emulation Axes (234):               6, 7, 4, 5
        Evdev Wheel Emulation Inertia (235):            10
        Evdev Wheel Emulation Timeout (236):            200
        Evdev Wheel Emulation Button (237):             2
        Evdev Drag Lock Buttons (238):          0

Rozwiązanie przedstawione powyżej z „vace117”

fossfreedom
źródło