`

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

阅读更多
有两个命令是用来开启和关闭触摸板的
命令:synclient touchpadoff=1 --关闭触摸板
命令:synclient touchpadoff=0 --开启触摸板


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

但是需要先把选项SHMConfig打开,否则运行这两个命令会报错:
Can't access shared memery area.SHMconfig disabled?


为了打开这个选项,需要增加一个文件:
gksudo gedit /etc/hal/fdi/policy/shmconfig.fdi
文件里放入以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
  <device>
    <match key="input.x11_driver" string="synaptics">
      <merge key="input.x11_options.SHMConfig" type="string">on</merge>
    </match>
  </device>
</deviceinfo>

可以分别将两个快捷键分别绑写到这两个命令上,比如<super>+F8是打开,<super>+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分页中,将这个命令对应的绑定键值设为<super>+F9。
这样在按下<super>+F9时,就会在开启和关闭触摸板之间进行切换了。

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

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

相关推荐

    linux 终端快捷键.pdf

    Linux终端快捷键是提高操作效率的重要工具,尤其对于系统管理员和...同时,由于不同版本的终端和Linux发行版可能会对快捷键的支持有所不同,用户应该查阅具体使用的终端模拟器或系统的帮助文档,以获得最准确的信息。

    linux快捷键(图)

    Linux快捷键、

    linux常用快捷键大全

    本文档旨在为Linux、Unix或Fedora的新手提供一套全面且实用的快捷键指南,帮助用户更快地熟悉系统操作。 #### 二、桌面与窗口管理 ##### 1. 切换应用窗口 - **Alt + Tab**:在打开的应用程序之间切换。 - **Alt + ...

    Linux下开关触摸板

    在大多数现代Linux发行版中,触摸板通常由`xinput`工具或内建的硬件驱动程序(如`synaptics`或`libinput`)来管理。`xinput`是一个命令行工具,可以用于查询和更改输入设备的各种属性,包括触摸板。 1. **识别触摸...

    linux终端常用的快捷键

    这是一个txt的文本文件,主要总结了一些常见linux终端的快捷的使用。

    VScode 快捷键大全 Linux

    VScode 快捷键大全 Linux

    神州优雅禁用关闭触摸板快键键驱动文件

    通常,神州优雅系列的用户可以通过按下Fn+F9键组合来开启或关闭触摸板,但有时这个快捷键可能无法正常工作,导致触摸板无法通过快捷键禁用。这个问题可能是由于驱动程序的问题或系统兼容性问题引起的。 描述中的...

    idea快捷键壁纸和linux快捷键壁纸.zip

    【标题】"Idea快捷键壁纸与Linux快捷键壁纸.zip" 涵盖了两个主要的知识领域:IntelliJ IDEA的快捷键和Linux操作系统的基本命令。这些资源是为程序员和系统管理员设计的,旨在提高他们在日常开发和系统管理中的效率。...

    linux终端快捷键

    ### Linux终端快捷键详解 在Linux环境中,终端是进行各种操作的重要工具之一。熟练掌握Linux终端的快捷键能够显著提高工作效率。本文将详细介绍Linux终端中的一些常见和实用的快捷键功能,帮助用户更加高效地使用...

    Linux环境下的pycharm常用快捷键.docx

    PyCharm 常用快捷键在 Linux 环境下的应用 PyCharm 是一款功能强大且广泛应用于软件开发的集成开发环境(IDE)。在 Linux 环境下,PyCharm 的应用非常广泛,特别是在 Ubuntu 系统中。使用 PyCharm 可以提高代码编写...

    Linux常用快捷键.pdf

    24. Ctrl+Alt+Delete: 在某些环境中,这个快捷键可以重启或关闭计算机。 25. Linux快捷键组合,如Ctrl+Alt+BackSpace和Ctrl+Alt+Delete,在不同的Linux发行版和桌面环境中可能会有不同的行为。 26. 其他快捷键如...

    LINUX 常用快捷键大全

    ### Linux常用快捷键详解 #### 引言 在Linux操作系统中,熟练掌握快捷键能够显著提升工作效率,尤其是在命令行界面下。本文将详细介绍一系列Linux常用快捷键,涵盖从基础的命令行操作到桌面环境的快捷方式,帮助...

    华硕触摸板驱动程序

    【华硕触摸板驱动程序】是专为华硕笔记本用户设计的一款重要软件组件,主要解决在特定情况下,如安装某些应用程序后,用户发现通过FN+F9快捷键无法正常关闭触摸板的问题。这个问题可能会对用户的使用体验造成不便,...

    Everything搜索快捷键用指定编辑器打开文件

    标题中的"Everything搜索快捷键用指定编辑器打开文件"是一个关于高效文件检索工具Everything和自定义编辑器结合使用的技巧。Everything是一款快速、小巧且资源占用极低的文件搜索工具,它能够实时索引电脑上的所有...

    win7笔记本触摸板怎么关闭.docx

    #### 方法一:使用键盘快捷键关闭触摸板 大多数笔记本电脑都内置了关闭触摸板的快捷键功能,这是最快捷的方法之一。具体操作步骤如下: 1. **查找关闭触摸板的快捷键**:通常,这些快捷键会标记有触摸板图标或者...

    VC++实验-鼠标,增加快捷键,快捷键Ctrl+M和菜单命令联动,

    ⑶在工具栏上添加并设计一个工具按钮图标,使该按钮与“鼠标位置”菜单项联动,并添加一个快捷键Ctrl+M和该菜单命令联动; ⑷在窗口客户区中右击鼠标,弹出快捷菜单,显示“查看”中的菜单命令。

    联想键盘免Fn

    在“联想键盘免Fn”这个压缩包文件中,很可能包含了专门用于修复联想键盘Fn快捷键问题的工具或说明文档。用户需要先解压文件,然后按照里面的指南操作。可能包含的内容有:特定的修复工具、键盘设置的教程、驱动更新...

    linux快捷键、cygwin快捷键、快捷方式(全)

    cygwin下linux快捷键汇总: Ctrl + a 切换到命令行开始 Ctrl + b 左移一个字符 Ctrl + c 终止命令(终止当前进程) Ctrl + d 退出shell,login(退出当前终端)/删除后一个字符 . .

Global site tag (gtag.js) - Google Analytics