linux触摸板开关快捷键,Ubuntu增加快捷键打开或关闭触摸板

在笔记本上装了Linux-mint7,它是基于Ubuntu 9.04的一个发行版。装上后有个小问题一直没解决,就是不能用键盘上的功能键关闭触摸板,只能在鼠标设置的图形界面去设置,如果每次想切换时都要这样做,可就太麻烦了。

有两个命令是用来开启和关闭触摸板的

命令:synclient touchpadoff=1 --关闭触摸板

命令:synclient touchpadoff=0 --开启触摸板

但是需要先把选项SHMConfig打开,否则运行这两个命令会报错:

Can't access shared memery area.SHMconfig disabled?

为了打开这个选项,需要增加一个文件:

gksudo gedit /etc/hal/fdi/policy/shmconfig.fdi

文件里放入以下内容:

on

可以分别将两个快捷键分别绑写到这两个命令上,比如+F8是打开,+F9是关闭,但这样不方便,最好是一个快捷键能在两种状态之间进行切换。我们需要一个脚本来做这件事。

写一个脚本文件lockpad.py,其中内容如下:

#!/usr/bin/Python

# -*- coding:utf8 -*-

#这段脚本用来关闭或打开触摸板,运行时会在两个状态间进行切换。

#使这段脚本起作用,需要先将系统的选项SHMConfig置为yes.

#Vivian Wang

import subprocess

stdReturn = subprocess.Popen(args='synclient -l',shell=True, \

stdout=subprocess.PIPE,stderr=subprocess.PIPE).communicate()

if len(stdReturn)==0:

exit()

vl=stdReturn[0].split()

i=vl.index('TouchpadOff')

if i<0:

import gtk

import pygtk

md = gtk.MessageDialog(None, \

gtk.DIALOG_DESTROY_WITH_PARENT, gtk.MESSAGE_INFO, \

gtk.BUTTONS_OK, "SHMConfig should be enabled.")

md.set_position(gtk.WIN_POS_CENTER)

md.run()

md.destroy()

exit()

subprocess.Popen(args='synclient touchpadoff='+str(1-int(vl[i+2])),shell=True)

这段脚本会先读出触摸板的当前状态是开启的还是关闭的,然后分别调用相应的命令打开或关闭它。

chmod +x lockpad.py

将它设为可执行的。

绑定快捷键需要在CompizConfig中勾选commands,然后增加一个命令:

/home/vivian/lockpad.py

指向上文中的脚本文件。

然后在Key Bindings分页中,将这个命令对应的绑定键值设为+F9。

这样在按下+F9时,就会在开启和关闭触摸板之间进行切换了。

经过实践,命令总是有效的。但也有意外的情况,会出现SHMConfig开启状态失效的情况,系统还是报错说”SHMConfig should be enabled.“,具体原因不清楚,似乎是在用CompizConfig时容易出现这种情况。上面的脚本在这种情况下,会弹出一个对话框提示一下。如果出现这种情况,一般重启一下系统就OK了。

要使上面的脚本能跑起来,需要装python2.X、python-gtk2这些组件。0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值