Linux增加快捷键打开或关闭触摸板

作者: 51Touch     时间:2012-05-15     源于:中国IT实验室    总点击:
【导读】:这段脚本会先读出触摸板的当前状态是开启的还是关闭的,然后分别调用相应的命令打开或关闭它。

    北京时间05月15日消息,中国触摸屏网讯,linux增加快捷键打开或关闭触摸板

    本文来自:http://www.51touch.com/touchscreen/news/dynamic/201205/15-15451.html

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

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

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

  www.2cto.com

  上述命令不成功,请往下看。

  但是需要先把选项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: www.2cto.com

  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 www.2cto.com

  指向上文中的脚本文件。

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

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

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

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


    触摸屏与OLED网推出微信公共平台,每日一条微信新闻,涵盖触摸屏材料、触摸屏设备、触控面板行业主要资讯,第一时间了解触摸屏行业发展动态。关注办法:微信公众号“i51touch” 或微信中扫描下面二维码关注,或这里查看详细步骤
相关阅读:3D打印    模具产业    微铸锻技术    石墨烯    OLED面板    夏普    iPhone 8    半导体    苹果    
关于我们 | 广告服务 | 联系我们 | 版权声明 | 隐私政策 | 网站地图 | 友情链接 | 欢迎投稿 | 加入收藏 | 意见反馈 | 经销商加入
网站广告、经销商加盟、触摸屏软件销售: 028-85108892 13183843395 028-66219290 联系人: 张小姐 产品购买联系方式如下:
地址:成都市高升桥东路2号高盛中心1109室 电话: 028-85108892 13183843395 028-66219290
版权所有 Copyright(C) 2003-2015 All rights reserved 中国触摸屏网 电子邮件: 51touch@126.com touch8@gmail.com
业务合作QQ:触摸屏技术,触摸屏报价,触摸屏软件咨询 43361182 触摸屏软件制作与技术支持:触摸屏软件,触摸查询系统,触摸查询软件 893008608 媒体合作QQ: 893008608

2000人超级QQ触摸屏群:59897879 171220106


分享到