![将脚本分配给按键以切换触摸板](https://linux22.com/image/1039402/%E5%B0%86%E8%84%9A%E6%9C%AC%E5%88%86%E9%85%8D%E7%BB%99%E6%8C%89%E9%94%AE%E4%BB%A5%E5%88%87%E6%8D%A2%E8%A7%A6%E6%91%B8%E6%9D%BF.png)
由于我的默认 sony vaio 快捷键在 Ubuntu 12.04 中不能完全工作,我想为 Fn + F1 分配一个脚本,它可以打开和关闭触摸板,这样光标在我打字时就会停止移动。由于我使用鼠标,很少需要使用触摸板,所以我不想使用“在书写时禁用触摸板”,这似乎无论如何都不起作用。
我认为使用以下命令的脚本是可行的(但是我每次都必须打开一个终端):
xinput set-prop 12 "Device Enabled" 0
此时我有两个问题。一是我不知道如何编写此脚本,以便它在打开时将其关闭,在关闭时将其打开。我知道我应该使用 if 语句,但我不知道应该检查什么值来查看它是打开还是关闭。
第二个问题是,我在创建新快捷方式时遇到了问题。我使用系统设置 -> 键盘 -> 快捷方式。我尝试通过单击“+”符号将新快捷方式添加到自定义快捷方式中。我将其命名为 Toggle Touchpad,并通过键入上面的行添加了可执行脚本的路径
/home/irem/.toggletouchpad
我已使用 chmod 将其设为可执行文件。问题是,当我单击“应用”,然后单击“返回”以定义按键时,它会重新打开对话框。我无法定义新按键。(条目的右栏显示已禁用)。
我也尝试过 xbindkeys,但它几乎总是崩溃。如果可以设置快捷方式,我更喜欢系统设置。
如果有人能帮忙我将非常感激。谢谢。
答案1
虽然已经很晚了,但万一你还在为此苦苦挣扎,那就晚点了。编辑:如果你想知道为什么我不能把这个作为你原始问题的评论,因为我没有足够的积分(需要 50 分):o
xev
尝试在终端中使用该命令,然后按fn+ f1。
如果终端中没有显示任何内容,则表明您的组合确实未被识别。也可能只有您按住 fn 时按下的某个键才会显示出来。(您的情况是 f1)
例如,如果我按住fn并按下,r我只会获得与没有按住 fn 时相同的输出。
当组合可行时,引用该键的方式以 XF86 开头,然后添加一些内容(例如,对于我的触摸板切换,它是 XF86TouchpadToggle),至少这对我的电脑来说是正确的,我不知道对你来说是否会有所不同。
fn这是合并+后得到的输出f9。
KeyRelease事件,序列49,合成NO,窗口0x3200001,
根 0xcc,subw 0x0,时间 29885150,(-1401,-268),根:(300,600),
状态 0x10,键码 199(键符 0x1008ffa9,XF86触摸板切换), same_screen 是,
XLookupString 给出 0 个字节:
XFilterEvent 返回:False
粗体部分是您需要添加快捷方式时可以使用的单词。
希望这会有所帮助,即使您已经解决了该问题。;)