无法在 synclient/xinput 中更改 Synaptic 触控板 ClickPad 区域

无法在 synclient/xinput 中更改 Synaptic 触控板 ClickPad 区域

我在尝试配置 Dell XPS 13 中 Cypress 触控板的 ClickPad 区域时遇到了麻烦。默认情况下,如果我按下左键,我会得到左键单击,如果我按下右键,我会得到右键单击。我想更改这些区域(也许禁用右键和/或添加中间按钮)。

在 synclient 中设置 RightButtonAreaLeft/etc. 似乎不会对注册右键单击的区域产生任何变化。同样,在 50-synaptics.conf 中设置它或在 xinput“Synaptic Soft Button Areas”中设置它似乎也不会产生任何变化。

是否有可能因为 Cypress 驱动程序不支持这些更改,所以更改这些选项不会产生任何效果?请参阅https://bugs.launchpad.net/ubuntu/+source/linux/+bug/978807/comments/108

我正在运行全新安装的 Ubuntu 13.04(也在 Xubuntu 13.04 上试过)。内核 3.8.0-19(其他一切都正常,包括背光和 Wifi)。我的理解是我不需要添加 Sputnik PPA,因为所有内容都已推送到 13.04...

我确认 synclient 和 xinput 接受其他选项,例如 TouchpadOff、TapButton、ClickFinger。

将 ClickPad 设置为 0 不会关闭 ClickPad 左/右按钮功能!不过,我可以在相同的触控板区域单击左键和右键。

这也许很重要:我注意到 xinput 测试似乎显示的 x,y 坐标不是对应于触摸位置,而是对应于屏幕上鼠标光标的位置(左上角为 0,0,右下角为 1600,900)。但 synclient -m 1(需要启用 SHMConfig,在 50-synaptics.conf 中设置)产生的坐标对应于触摸位置(右下角为 1100,620)。

这看起来很奇怪,因为 synclient 中默认的 RightButtonAreaLeft(相当于 xinput 中 Synaptics Soft Button Areas 的第一个值)设置为 800(恰好是 1600 的一半,即光标位于屏幕右边缘时 xinput 显示的 x 坐标)。这难道不应该是右边缘触摸位置 550 的一半吗?y 坐标也类似。

任何见解都将不胜感激。

答案1

你可以说我迂腐,但你的问题在一点上并不准确:你是否尝试将 RightButtonAreaLeft 以及 SoftButtonAreas 应用于你的 50-synaptics.conf,或者你是否仅通过 xinput 尝试过 SoftButtonAreas 设置?

对我来说,以下内容(应用于我自己的 60-my-own-trackpad.conf,推荐)是有效的:

Option "SoftButtonAreas" "0 0 0 0 0 0 0 0"

这是完全禁用区域,更改相应的 RightButtonAreaLeft、Right 等,这正是我想要的。除了直接通过终端上的 synclient 应用它之外的任何其他方法对我来说都不起作用。要确保更改已设置,请使用以下命令列出您的设置:

synclient -l

如果区域似乎仍然没有变化,请检查以下设置:

  • RTCornerButton
  • RB角落按钮
  • LT角落按钮
  • LB角按钮

这就是synaptics 手册页对此有如下评论:

选项“RTCornerButton”“整数”右上角点击时报告哪个鼠标按钮。设置为 0 以禁用。属性:“Synaptics Tap Action”

我也必须应用这些设置。

如果这些都不起作用,那么应该总是可以通过 xmodmap 交换按钮。以下行交换右键和中键:

xmodmap -e "pointer = 1 3 2"

但我不喜欢这个。对于这种问题来说,它太老套了。

相关内容