转Ubuntu系统后以后终于领会到两个系统间触控板控制的差距,在Windows中可以使用二指、三指和四指完成页面滚动、页面放大缩小、程序间的切换等一些基本操作,但是在Ubuntu中只能通过两指完成页面滚动功能。
在Ubuntu系统中长按Win(super)键可以查看一些Ubuntu的快捷键,在系统的setting - keyboard选项下面可以查看和设置这些快捷键,在命令行终端的edit -preference选项下面也可以设置命令行终端的一些快捷键。
fusuma是一个实现多指控制器的包,能够识别手指在触控板上的扫动动作(swipe)和捏动作(pinch)。
$ sudo gpasswd -a $USER input
也可以用命令
$ sudo usermod -a -G input $USER
在执行这一步后需要重新登录账户。
$ sudo apt-get install libinput-tools
$ sudo gem install fusuma
$ sudo apt-get install xdotool
$ gsettings set org.gnome.desktop.peripherals.touchpad send-events enabled
这里在.config下面新建fusuma文件夹并在其中添加YML配置文件。
$ mkdir -p ~/.config/fusuma
$ gedit ~/.config/fusuma/config.yml
Github上面提供了centos的自定义手势,但是不能在Ubuntu上面使用,这里我根据自己的需求设置了Ubuntu的自定义手势。
二指:上下左右:页面滑动 拉近拉远:放大缩小
三指:上:显示所有运行的窗口 下:显示桌面 左:返回到前一个界面 右:前进到下一个界面(浏览器中适用)
四指:上:显示搜索窗口 下:暂且设置为返回桌面 左右:选择文件夹中的文件
需要说明的是,这里的threshold表示键盘检测的敏感度,interval表示程序检测连续两次键盘手势的时间间隔,default值均为1,但是我想要更好的检测效果,将两个参数都设置成比较小的值。
swipe:
3:
left:
command: 'xdotool key alt+Left'
right:
command: 'xdotool key alt+Right'
up:
command: 'xdotool key super+W'
down:
command: 'xdotool key ctrl+super+d'
4:
left:
command: 'xdotool key super+Left'
right:
command: 'xdotool key super+Right'
up:
command: 'xdotool key super+a'
down:
command: 'xdotool key ctrl+super+d'
pinch:
2:
in:
command: 'xdotool key ctrl+plus'
threshold: 0.1
out:
command: 'xdotool key ctrl+minus'
threshold: 0.1
threshold:
swipe: 0.1
pinch: 0.1
interval:
swipe: 0,1
pinch: 0.1
通过命令
$ fusuma
运行fusuma,,fusuma会调用配置的YML配置文件。
如果需要升级为最新的版本,通过下面的命令实现。
$ sudo gem update fusuma
1.查看fusuma的系统位置
$ which fusuma
2.进行GNOME桌面启动配置
$ gnome-session-properties
3.添加fusuma和fusuma的路径,并在路径的末尾加上 -d 表示在后台运行(daemonize process),然后重启Ubuntu即可自启动fusuma实现手势控制。
——————————————————
快捷键冲突:我在命令行终端中将复制(ctrl+shift+c)和粘贴(ctrl+shift+v)分别修改为ctrl+c和ctrl+v,保存后发现这两个键是生效的,但是结束当前进程的快捷键(ctrl+c)失效了,变为了ctrl+shift+c,发生了快捷键的冲突。由于复制键用的比较少,粘贴键用的比较多,最后只将粘贴更改为ctrl+v,保留了复制(ctrl+shift+c)和结束进程(ctrl+c)的设置。
YML文件配置:在很多大同小异的教程中都看到了下面这段配置格式,其实这个格式在fusuma V1.0后就被移除了,需要更改为 command: 'xdotool key alt+Left'这个格式。
swipe:
3:
left:
shortcut: 'alt+Left'