触摸板手势切换工作区

我正在和一个拥有Mac的朋友交谈。他已经设置好了当他在触摸板上用三根手指划过时,它会沿着那个方向移动到工作区。在Ubuntu上能否设置这个功能呢?


1我个人无法保证这种方法是否有效,但有一个叫做EasyStroke的程序可能能够满足你的需求。请点击这里查看设置说明。 - JamesG
https://github.com/arunhedcet/mac-gestures - tkay
7个回答

如何使用触摸板手势在Ubuntu中更改工作区
完整教程使用Touchegg,Easystroke更适合与鼠标一起使用,而不是触摸板。
如果您正在使用Unity,可能会遇到一些与内置手势冲突的问题。我从教程中获取的信息处理了这个问题(请参阅下面的链接)。我没有任何内置手势,所以本教程只提供设置事项的信息。
  1. 下载Touchegg

    sudo apt install touchegg
    
  2. 运行它,但之后立即终止,它会创建一个文件

    ~/.config/touchegg/touchegg.conf
    
  3. 在所需的编辑器中打开它,并将以下三行添加到 name="All" 部分中

    <gesture type="DRAG" fingers="3" direction="RIGHT">
       <action type="SEND_KEYS">Control+Alt+Left</action>
    </gesture>
    <gesture type="DRAG" fingers="3" direction="LEFT">
       <action type="SEND_KEYS">Control+Alt+Right</action>
    </gesture>
    
  4. 运行 touchegg 进行尝试

    touchegg &
    
  5. 按需编辑配置文件,然后将 touchegg 添加到启动应用程序列表中

我提到的教程可以在这里找到 - 有些内容已经过时了(你不需要编译它)。无论如何,感谢创作者!

我的电脑无法识别手势 :( - Jonah
2这在Ubuntu 15.04上不起作用。 - Lucio
4是的,我的XPS13也无法工作,运行的是15.04或者(今天)16.04的夜间版本。我想知道是否有一种有效的方法来解决这个问题,因为操作系统确实能够识别三指点击(大部分情况下),但touchegg却不起作用。 - Scaine
它正常地运行得很好,使用 elementary OS :D - Akbarsha
3有没有适用于Ubuntu 16.04的解决方案? - Ivan Aracki
在我使用的Ubuntu 16.04上,它对我来说非常顺利地运行。 - Fabio
1我的情况不适用,Ubuntu 16.04 可以检测到双指滚动,但无法实现三指多点触控。需要安装其他软件吗? - Gerard Cuadras
我有4个工作区,排列成一个2x2的网格:如何重新配置我的Thinkpad触摸板上的三指(或四指)滑动操作,以在这四个工作区之间切换(而不仅限于用三根手指左右切换)?编辑:我刚刚发现我可以使用三指的左右滑动“重复地”浏览所有四个工作区,尽管它们不是以2x2的形式排列,而是以1x4的“网格”形式。如何将其设置为2x2,并实现左右和上下切换? - nutty about natty

舒适的滑动

试试舒适的滑动。提供了三指和四指手势来切换工作区,还有类似于Mac上的窗口展开等更多功能。

这也使用了xdotool,但如果你问我,比起卡顿的libinput-gestures更加舒适。


3适用于Ubuntu 18.04 LTS。 - Nitsan Baleli
在Kubuntu 18.04 LTS上运行非常顺畅。 - subtleseeker
2对于Ubuntu 18.10,您需要在src/comfortable-swipe.cpp文件中三次将"libinput-debug-events"替换为"libinput debug-events"。然后使用"bash install"进行安装。 - user685689
它在我的18.04上能运行,但需要几秒钟才能响应,而且我的风扇会疯狂地旋转并发出噪音,这让它不值得。在此期间,htop上没有显示任何特殊情况。 - wranvaud
工作了5分钟,其他的都在几个小时后无法正常运行。太棒了,谢谢分享! - maxime1992
在我的Dell G5上运行正常,确保按照README中显示的权限设置运行,并重新登录。上下滑动完美运作! - Jordan Mackie
在Ubuntu 20.04上运行得非常顺利。只是要注意,在项目的Github上给出的说明中,它说要注销然后重新登录。但这并不起作用 - 你必须重新启动计算机。 - John Red
1在XPS 9500 15英寸上与Ubuntu 20.10(Gnome)完美运行。无需重新启动,只需注销并重新登录即可。 - nealio82

你的触摸板(硬件)需要支持这个功能,然后你可能需要配置你的触摸板(Ubuntu会自动识别和启用一些硬件)。
一个常见的驱动程序是Synaptic。你可以在控制面板的鼠标和触摸板部分启用双指滚动。

control panel

如果您希望有额外的选项,您需要手动编辑一些配置文件,并且这些选项是与硬件相关的。
这里有一个调试页面:

https://wiki.ubuntu.com/DebuggingTouchpadDetection

看一下那个页面,如果你能识别出你的硬件,我们或许可以给你更具体的帮助。
硬件特定指南的一个例子:https://wiki.ubuntu.com/Multitouch/AppleMagicTrackpad 考虑使用easystroke 你也可以看一下"easystroke"。

http://sourceforge.net/apps/trac/easystroke/wiki

这是一个easystroke的演示:http://www.youtube.com/watch?v=CagAEgXAAzA

3我在Ubuntu 14.04上找不到水平滚动选项。这与我的硬件配置有关吗? - grant
2有没有适用于Ubuntu 16.04的解决方案? - Ivan Aracki

以下方法适用于我在Ubuntu 16.04和2017年的Dell XPS 13 (9360)上的情况:
sudo gpasswd -a $USER input
sudo apt-get install xdotool wmctrl libinput-tools
git clone http://github.com/bulletmark/libinput-gestures
cd libinput-gestures
sudo ./libinput-gestures-setup install

在完成上述步骤后,请重新启动您的计算机。我的~/.config/libinput-gestures.conf文件如下:
gesture swipe down  xdotool key ctrl+alt+Up
gesture swipe up    xdotool key ctrl+alt+Down
gesture swipe right xdotool key ctrl+alt+Left
gesture swipe left  xdotool key ctrl+alt+Right

谢谢,正在使用HP Envy 13上的17.10版本,配备Synaptics触摸板。 - lswim
这个功能完美运作,只要确保你在KDE中也配置了相应的快捷方式,因为xdotool只是触发键盘组合键。 - Andrew Crouthamel
无法在装有Ubuntu 16.04的Acer电脑上正常运行。 - Gerard Cuadras
无法在华为Matebook上使用Ubuntu 20.04。 - Fran Marzoa

这是我的解决方案:4个手指和自然方向。
 <gesture type="DRAG" fingers="4" direction="RIGHT">
       <action type="SEND_KEYS">Control+Alt+Right</action>
    </gesture>
    <gesture type="DRAG" fingers="4" direction="LEFT">
       <action type="SEND_KEYS">Control+Alt+Left</action>
    </gesture>

2需要什么程序? - JordyvD
@g3mini touchegg,就像tsusanka建议的那样。 - Andrii Abramov
谢谢 =) 当我问他/她的答案还没有出现 =D - JordyvD

我使用了Synaptics驱动程序和xdotool来实现这个...
为了提高我的MacBook触摸板的速度:
sudo nano /usr/share/X11/xorg.conf.d/70-synaptics.conf
# Touchpad Speedup
        Option "AccelFactor" "0.025"
        Option "MinSpeed" "0.80"
        Option "MaxSpeed" "0.95"
        Option "FingerHigh" "55"
        Option "FingerLow" "45"

使用三指手势切换工作区。
sudo nano ~/.config/libinput-gestures.conf
gesture swipe up        3       xdotool key ctrl+alt+Up
gesture swipe down      3       xdotool key ctrl+alt+Down
gesture swipe left      3       xdotool key ctrl+alt+Left
gesture swipe right     3       xdotool key ctrl+alt+Right

如前所述:
sudo gpasswd -a $USER input
sudo apt-get install xdotool wmctrl libinput-tools
git clone http://github.com/bulletmark/libinput-gestures
cd libinput-gestures
sudo ./libinput-gestures-setup install

但是你必须去:
cd ~/libinput-gestures

编辑创建的libinput-gestures.conf文件。
gedit libinput-gestures.conf

然后确保以下设置正确:
gesture swipe down  xdotool key ctrl+alt+Up
gesture swipe up    xdotool key ctrl+alt+Down
gesture swipe right xdotool key ctrl+alt+Left
gesture swipe left  xdotool key ctrl+alt+Right

记住:你必须在Ubuntu设置中将键盘组合设置为上面显示的那些 - 这些应该是默认的。