在 Java 应用程序中水平滚动被视为右键单击

在 Java 应用程序中水平滚动被视为右键单击

我已经在 Ubuntu 11.04 中为触摸板启用了水平滚动,但是在 Java 应用程序(在我的情况下是 NetBeans)中使用它时,它就像右键单击一样。

水平滚动在所有非用 Java 编写的应用程序中都能完美运行。

我该怎么做才能让它正常工作?

答案1

那是这个错误。您可以按照那里的描述通过运行来修复它synclient HorizTwoFingerScroll=0(两个手指滚动仍然可以正常工作)。

您可以使用“启动应用程序”对话框在启动时添加命令。

答案2

讨论了可能的解决方法Ubuntu论坛- 您可以手动运行脚本来启用或禁用右键单击,具体取决于您是否使用基于 JAVA 的应用程序。

例如,您可以将每个脚本连接为键盘快捷键,例如CTRL+ ALT+E启用和CTRL+ ALT+R禁用

创建一个名为“hscroll_disable”的脚本,其中包含:

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

创建一个名为“hscroll_disable”的脚本,其中包含:

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

赋予两个脚本执行权限,即

chmod +x hscroll_disable
chmod +x hscroll_enable

脚本的两个重要部分是“DEVICE_NAME”和“PROP_NAME”

您可以像这样找出系统上使用的设备名称:

xinput list --short

这将产生类似以下内容的输出:

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

然后找到属性名称:

xinput list-props "TPPS/2 IBM TrackPoint"

这将产生类似以下内容的输出:

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

以上解决方案转载自“vace117”

相关内容