Rolagem horizontal tratada como clique direito em aplicativos Java

14

Habilitei a rolagem horizontal para o meu touchpad no Ubuntu 11.04, mas ao usá-lo em aplicativos Java (NetBeans no meu caso), é como um clique direito.

A rolagem horizontal funciona perfeitamente em todos os aplicativos que não são gravados em Java.

O que posso fazer para que ele funcione corretamente?

JLinden
fonte

Respostas:

4

Esse é esse bug . Você pode corrigi-lo como descrito lá, executando synclient HorizTwoFingerScroll=0(a rolagem com dois dedos ainda funcionará bem).

Você pode adicionar o comando na inicialização com a caixa de diálogo "aplicativos de inicialização".

NoBugs
fonte
2

A possível solução alternativa foi discutida no UbuntuForums - você pode executar manualmente um script para ativar ou desativar o botão direito do mouse, dependendo de estar usando um aplicativo baseado em JAVA.

Você pode - por exemplo, conectar cada um dos scripts como atalhos de teclado, por exemplo, CTRL+ ALT+ Epara ativar e CTRL+ ALT+ Rpara desativar

Crie um script chamado "hscroll_disable" contendo:

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

Crie um script chamado "hscroll_disable" contendo:

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

Permita que ambos os scripts executem permissão, ou seja

chmod +x hscroll_disable
chmod +x hscroll_enable

As duas partes importantes dos scripts são "DEVICE_NAME" e "PROP_NAME"

Você pode descobrir qual nome de dispositivo usar no seu sistema assim:

xinput list --short

Isso fornecerá uma saída semelhante a:

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

Então, para encontrar o nome da propriedade:

xinput list-props "TPPS/2 IBM TrackPoint"

Isso fornecerá uma saída semelhante a:

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

Solução reproduzida acima de "vace117"

liberdade de expressão
fonte