我正在运行带有 Unity 的 Ubuntu 14.10。我非常想让一些多点触控手势起作用,这样我就可以使用我的触摸板来执行例如展开所有窗口、更改工作区等操作。我的电脑有一个 SynPS/2 Synaptics 触摸板。当我运行 geisview 并查看以下内容时:
“设备 [ID] 已添加:SynPS/2 Synaptics TouchPad”
它显示“设备触摸:2”,这应该意味着我的触摸板只能识别 2 个手指。我在另一个论坛上检查过(Arch Linux -https://wiki.archlinux.org/index.php/Touchpad_Synaptics#Using_xinput_to_determine_touchpad_capabilities)。这里说我可以使用 xinput 来确定它的功能。所以我运行:
xinput list-props "SynPS/2 Synaptics TouchPad" | grep Capabilities
我得到了这个输出:
Synaptics Capabilities (295): 1, 0, 1, 1, 1, 1, 1
这显然意味着它应该能够识别至少 3 个手指。
当我下载 touchegg 并在终端中运行它时,它完全没有任何输出...甚至没有使用 1 或 2 个手指手势。
有谁能帮忙吗?我很乐意帮忙!提前谢谢!:)
答案1
您必须强制 Xorg 使用 evdev(通用)驱动程序,而不是常规的 synaptics 驱动程序。对我来说,它(Touchegg)确实有效,唯一的问题是鼠标输入不再被识别,只能识别手势。另请参阅我的问题,但也许它确实适用于您的系统,所以我认为值得一试!
要加载 evdev 驱动程序;
- 运行 xinput 并获取触摸板的设备 ID
- 运行 xinput --watch-props DEVICEID 并记下设备节点 (234),例如 /dev/input/eventXXXX
- 告诉 Xorg 加载 evdev 驱动程序 (/etc/x11/xorg.conf) (替代 eventXXXX)
“输入类”部分 标识符“触摸板万能钥匙” 驱动程序“evdev” MatchDevicePath“/dev/input/eventXXXX” 选项“忽略”“false” 选项“浮动”“关闭” 结束部分
- 现在您只需使用“sudo service lightdm restart”重新启动 X 服务器,即可使更改生效。
我还发现这Ubuntu 官方 Wiki 上的页面指出,按照说明操作,三指触摸应该可以工作,我试过了,但没有成功。所以我仍然不明白这是 Ubuntu 的一个功能,还是我们真的需要这些外部应用程序。
另一个值得尝试的外部应用程序可能是滑动,我从未尝试过,但它似乎包含相同的功能。虽然有人担心电池寿命,但可以通过降低精度来解决。
答案2
您可以在这里找到 touchegg 的有效替代方案:https://github.com/intersimone999/xSwipe
它可以处理最多 5 个手指(如果您的触摸板支持的话),各种滑动(上、下、左、右),也可以从边缘进行。
按照 README.md 文件中的说明进行操作,安装有点棘手,因为您必须替换 xserver-xorg-input-synaptic 驱动程序。
您可以根据需要自定义手势,模拟任何组合键。
这是我的个人版本(我将所有桌面放在一列中,因此我可以更轻松地处理滑动):
- 两个手指:
- 右边缘:降低音量(特殊音量键)
- 左边缘:提高音量(特殊音量键)
- 三根手指:
- 上:更改桌面(下)(CTRL+ALT+DOWN)
- 向下:更改桌面(上方)(CTRL+ALT+UP)
- 左:浏览器上的前进历史记录(ALT+RIGHT)
- 右图:浏览器历史记录返回(ALT+LEFT)
- 边缘向上:无(效果不佳)
- 边缘向下:无(效果不佳)
- 四根手指:
- 向上:显示所有窗口(CTRL+ALT+SHIFT+W:我在 compiz 配置中更改了默认的 SUPER+SHIFT+W 组合,因为我无法模拟 SUPER 作为修饰符)
- 向下:显示所有窗口(当前桌面)(CTRL+ALT+W)
- 左:无
- 正确:没有
- 边缘向上:无(效果不佳)
- 边缘向下:无(效果不佳)
- 五指:
- 向上:在下方桌面移动窗口(CTRL+ALT+SHIFT+DOWN)
- 向下:移动上方桌面的窗口(CTRL+ALT+SHIFT+UP)
- 左:无
- 右:无
- 向上边缘:无
- 边缘向下:无