使用触摸板时,鼠标指针在左键单击之前跳到左下角

我有一个安装了16.04和Unity的华硕Zenbook UX305。 当使用触控板(由xinput标识的“Elan触控板”)时,我用右手操作鼠标指针,左边用左键点击触控板左下角。 不幸的是,在点击完成之前,鼠标通常会跳到屏幕的左下方。 最初我认为跳跃完全是左下角,但后来我发现跳跃只是在那个方向(通过调整鼠标指针的速度)。

我已经在鼠标和触摸板设置中尝试了各种设置,并且还摆弄了synclient中的各种设置(例如FingerHigh),但无济于事。

一般来说,在用左手点击之前,我从触摸板上取下右手; 但是,有时候释放和点击之间的间隔可能太小或不存在。 我的感觉是,当我释放它时,左手的初始压力被视为从右手位置的非常快速的动作到右下方的压力。

我真的想解决这种恼人的行为。

附加信息:

$ xinput --list ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Elan Touchpad id=10 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Video Bus id=7 [slave keyboard (3)] ↳ Sleep Button id=8 [slave keyboard (3)] ↳ USB2.0 UVC HD Webcam id=9 [slave keyboard (3)] ↳ Asus WMI hotkeys id=11 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]

$ xinput --list-props "Elan Touchpad" Device 'Elan Touchpad': Device Enabled (137): 1 Coordinate Transformation Matrix (139): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 Device Accel Profile (265): 1 Device Accel Constant Deceleration (266): 2.500000 Device Accel Adaptive Deceleration (267): 1.000000 Device Accel Velocity Scaling (268): 12.500000 Synaptics Edges (269): 123, 2974, 114, 2005 Synaptics Finger (270): 25, 30, 0 Synaptics Tap Time (271): 180 Synaptics Tap Move (272): 165 Synaptics Tap Durations (273): 180, 100, 100 Synaptics ClickPad (274): 1 Synaptics Middle Button Timeout (275): 0 Synaptics Two-Finger Pressure (276): 282 Synaptics Two-Finger Width (277): 7 Synaptics Scrolling Distance (278): 75, 75 Synaptics Edge Scrolling (279): 0, 0, 0 Synaptics Two-Finger Scrolling (280): 1, 1 Synaptics Move Speed (281): 1.000000, 1.750000, 0.053305, 0.000000 Synaptics Off (282): 2 Synaptics Locked Drags (283): 0 Synaptics Locked Drags Timeout (284): 5000 Synaptics Tap Action (285): 2, 3, 0, 0, 1, 3, 0 Synaptics Click Action (286): 1, 3, 0 Synaptics Circular Scrolling (287): 0 Synaptics Circular Scrolling Distance (288): 0.100000 Synaptics Circular Scrolling Trigger (289): 0 Synaptics Circular Pad (290): 0 Synaptics Palm Detection (291): 0 Synaptics Palm Dimensions (292): 10, 200 Synaptics Coasting Speed (293): 20.000000, 50.000000 Synaptics Pressure Motion (294): 30, 160 Synaptics Pressure Motion Factor (295): 1.000000, 1.000000 Synaptics Resolution Detect (296): 1 Synaptics Grab Event Device (297): 0 Synaptics Gestures (298): 1 Synaptics Capabilities (299): 1, 0, 0, 1, 1, 1, 1 Synaptics Pad Resolution (300): 33, 32 Synaptics Area (301): 0, 0, 0, 0 Synaptics Soft Button Areas (302): 1548, 0, 1737, 0, 0, 0, 0, 0 Synaptics Noise Cancellation (303): 18, 18 Device Product ID (257): 1267, 5 Device Node (258): "/dev/input/event7"

[免责声明:这与如何阻止光标从所需位置跳到屏幕最左侧非常相似? ,但我们无法确定它是相同还是不同的问题,因为原始海报在问题上停止了回应。

您描述的事件序列是:

  • 右手手指拖动,然后
  • 右手手指抬起,接着是
  • 左手手指触摸和释放(轻拍)。

当您使用特定方法单击(用手上的两只手指)时,请确保释放右手手指接触用左手手指点击。 这应该有助于内核识别快速点击作为左击并且(我希望)区分它和在垫上感觉为连续的轨迹,根据上面的顺序从右手到左手。

长期尝试各种途径或可能改变您使用触摸板的方式。

1)惯性行驶:首先阅读文档并确保禁用“常规滑行” 。 如果您想滑行,请确保仅启用“边缘滑行” 。 否则,上面描述的序列类型将导致我称之为“指针移动泄漏”(“传统惯性滑行”),这种行为包括指针继续其直线运动的事实,即使您已经停止在打击垫上驱动它。 通过水龙头停止常规滑行。 另一方面, “边缘滑行”仅在您在垫边缘上施加手指压力时激活。 当手指压力低于给定值时,它立即停止。

2)其次,调整Synaptics Tap Durations (273): 180, 100, 100

3个值是:

  Option "MaxTapTime" "integer" Single touch timeout or maximum time (in milliseconds) for detecting a tap. Option "MaxDoubleTapTime" "integer" Maximum time (in milliseconds) for detecting a double tap. Option "ClickTime" "integer" Duration of the mouse click generated by tapping. 

尝试将MaxTapTime (触摸和释放时间)的值从180降低到90,比如说90.这将使垫对触摸更敏感,希望帮助内核在指针移动过程中区分快速敲击和手指变化。 这肯定会产生副作用,你可以参考这个来衡量。

如果这不能给您带来满意的结果,请尝试:

3)关闭Synaptics Pressure Motion (294): 30, 160

  • Synaptics压力运动:32位,2个值,最小值,最大值

您需要的所有工具和文档都将在本答案以及您之前引用的前一个答案中进行参考和演示。

注意:我不确定是否有人可以帮助你,因为解决方案非常依赖于反复试验和个人品味。 出于这个原因,这类问题并没有引起太大的兴趣。 这对你来说是很重要的,但我担心得到这些细节和具体细节可能不属于一般利益范围。

我有一个Synaptics触摸板的问题,解决它的是改变噪音消除值。 全新安装后,噪音消除值为:

 Synaptics Noise Cancellation (353): 8, 8 

所以我用命令将噪声消除值改为20,20

 xinput --set-prop 13 "Synaptics Noise Cancellation" 20 20 

如他们所说,你的里程可能会有所不同……

照顾自己。