将命令绑定到所有键盘事件

将命令绑定到所有键盘事件

嘿,我有一个Sentelic 触摸板在 Linux 上效果不太好,它应该是全多点触摸之类的,在 MS Windows 上效果还行。不过我真的不喜欢使用 Windows。

最糟糕的是,它在输入时不会自行禁用,因此它总是会夺走焦点。我可以用禁用它,modprobe -r psmouse但如果它能自动执行此操作就更好了。

此外,如果您能想到一种解决方法来自动重新启用它,那就太好了:)

答案1

我最终找到了解决方案。几乎总是有比我聪明的人遇到同样的问题,并且也找到了解决方案 :)github.com/gokmen/Sentelic

Sentelic Mouse(Asus UX31)在打字时禁用守护进程。

  1. 首先安装 Xlib 和 Udev Python 绑定。(不过 Udev Python 绑定是可选的)
  2. 您需要 root 权限才能运行守护进程。

    $ sudo ./sentelic.py
    
  3. 默认超时时间为0.9秒。您可以在以下位置定义超时/etc/sentelic.conf

    timeout=1.5
    

答案2

在任意位置编写 2 个 bash 脚本,就拿主目录来说吧。在主目录中创建两个空文档。将第一个命名为 ,将Enable Touchpad另一个命名Disable Touchpad为 。在“启用触摸板”中插入以下文本

#!/bin/bash
sudo modprobe psmouse

将以下内容插入到第二个中:

#!/bin/bash
sudo modprobe -r psmouse

现在通过右键单击它们->属性->权限->选中“允许将文件作为程序执行”框,使两个文件均可执行。

打开键盘首选项窗口。如果您使用的是 Unity,可以通过在仪表板中输入键盘来完成此操作,或者打开系统设置 -> 键盘。现在转到“快捷方式”选项卡。转到“自定义快捷方式”并单击“+”按钮。将第一个命名为“启用触摸板”,并将相应脚本的位置作为命令括起来'/user/home/Enable Touchpad'。创建第二个用于禁用触摸板的快捷方式,命名并指向正确的脚本:'/user/home/Disable Touchpad'

最后单击新的键盘快捷键,它们就会开始抓取组合键。输入您想要的组合键。现在,无论您何时要开始输入,只需通过组合键禁用触摸板,完成后再重新启用。

**注意:由于 modprobe 需要 root 访问权限,因此每次启用/禁用时您都必须输入密码。

相关内容