如何设置键盘快捷键以打开/关闭,例如触控板?

我使用的是ubuntu 14.04。 我目前已在“系统设置 – >鼠标和触摸板”中关闭笔记本电脑的触控板。 我可以设置键盘快捷键来打开和关闭触控板,就像系统设置中的选项一样吗?

您可以放置​​一个小脚本来检查快捷键下的当前状态,然后使其切换到另一个状态。

这适用于很多情况,例如切换触控板,切换(许多)指示符图标等的可见性(参见编辑,在post中向下)

下面的脚本可以:

#!/usr/bin/env python3 import subprocess key = "org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled" cmd1 = "/bin/bash", "-c", "gsettings get "+key new_state = "false" if subprocess.check_output(cmd1).decode("utf-8").strip() == "true" else "true" cmd2 = "gsettings set "+key+" "+new_state subprocess.Popen(["/bin/bash", "-c", cmd2]) 

如何使用

  1. 将脚本复制到空文件中,将其另存为toggle_touchpad.py
  2. 通过运行(在终端中)命令来测试它:

     python3 /path/to/toggle_touchpad.py 
  3. 如果一切正常,请将其添加到快捷键组合中:选择:系统设置>“键盘”>“快捷方式”>“自定义快捷方式”。 单击“+”并添加命令:

     python3 /path/to/toggle_touchpad.py 

现在快捷键应该打开/关闭触摸板

说明

触摸板由键启用/禁用:

 org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled 

要获得当前状态:

 gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled 

设置为enabled

 gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled true 

要设置为已disabled

 gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled false 

笔记

1.在自定义键盘快捷键中使用绝对路径

.desktop文件一样, ~等相对路径不能用于自定义键盘快捷键。 此外,就像终端命令一样,空格需要转义:

代替:

 python3 ~/Keyboard\ shortcuts/toggle_touchpad.py 

使用:

 python3 /home/yourname/"Keyboard shortcuts"/toggle_touchpad.py 

2.使用15.04中的命令

由于一个错误(似乎)命令:

 gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled true 

工作正常,但命令:

 gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled false 

需要运行两次(!!)才能禁用触控板…

3. Bash版本的脚本

对于那些因某些原因喜欢bash版本的人:

 #!/bin/bash key="org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled" current=$(gsettings get $key) if [ "$current" == "true" ]; then gsettings set $key false else gsettings set $key true fi 

将其保存为toggle_touchpad.sh ,使用该命令运行它

 /bin/bash /path/to/toggle_touchpad.sh 

编辑

上面的脚本可用于切换由gsettings命令完成的任何类型为boolean (false / true)的设置。 只需更改行:

 key = "org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled" 

由相应的密钥。

一个例子:

如果我将行更改为:

 key = "com.canonical.indicator.sound visible" 

它切换声音指示器图标的可见性。