我已经在 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”