Défilement horizontal traité comme un clic droit dans les applications Java

14

J'ai activé le défilement horizontal pour mon pavé tactile dans Ubuntu 11.04, mais lors de son utilisation dans des applications Java (NetBeans dans mon cas), il s'agit plutôt d'un clic droit.

Le défilement horizontal fonctionne parfaitement dans toutes les applications qui ne sont pas écrites en Java.

Que puis-je faire pour le faire fonctionner correctement?

JLinden
la source

Réponses:

4

Voilà ce bug . Vous pouvez le réparer comme décrit ici, en exécutant synclient HorizTwoFingerScroll=0(le défilement à deux doigts fonctionnera toujours bien).

Vous pouvez ajouter la commande au démarrage avec la boîte de dialogue "Applications de démarrage".

NoBugs
la source
2

Une solution de contournement possible a été discutée sur UbuntuForums - vous exécutez manuellement un script pour activer ou désactiver le clic droit selon que vous utilisez une application basée sur JAVA.

Vous pouvez - par exemple, connecter chacun des scripts en tant que raccourcis clavier, par exemple CTRL+ ALT+ Epour activer et CTRL+ ALT+ Rpour désactiver

Créez un script appelé "hscroll_disable" contenant:

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

Créez un script appelé "hscroll_disable" contenant:

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

Donnez aux deux scripts la permission d’exécuter, c.-à-d.

chmod +x hscroll_disable
chmod +x hscroll_enable

Les deux parties importantes des scripts sont "DEVICE_NAME" et "PROP_NAME"

Vous pouvez savoir quel nom d'appareil utiliser sur votre système comme ceci:

xinput list --short

Cela donnera une sortie similaire à:

"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]

Ensuite, pour trouver le nom de la propriété:

xinput list-props "TPPS/2 IBM TrackPoint"

Cela donnera une sortie similaire à:

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

Solution reproduite ci-dessus à partir de "vace117"

liberté de fossé
la source