Bash shell 脚本:如何检测 Alt+N 击键?

Ana*_*Das 6 command-line bash scripts shortcut-keys

我想编写一个脚本,该脚本始终在后台侦听并在用户点击特定组合键(例如Alt+ )时执行特定命令N。如何做到这一点?

Syl*_*eau 7

下载以下 python 模块:showkey.py

然后创建一个python脚本(我们称之为test.py):

#!/usr/bin/env python

from showkey import ShowKey

def alt_n(arg):
    print "Alt N was pressed"

sk = ShowKey()
sk.addKeyAction([49, 56], alt_n)    # adds handler for Alt-N comb.
sk.run()
Run Code Online (Sandbox Code Playgroud)

showkey.py你的PYTHONPATH或者把两者test.pyshowkey.py在同一个文件夹中。

以这种方式运行你的 python 脚本:

sudo ./test.py
Run Code Online (Sandbox Code Playgroud)

alt_n()当用户点击该回调将触发Alt+N组合。根据您的需要调整处理程序内容。

要知道要使用的键码(showkey命令使用的相同代码)showkey.py,只需将其作为脚本再次运行sudo. 所有按键事件都将打印在您的终端中。

$ sudo ./showkey.py 
Current terminal mode: OFF
Key pressed - keycode: 28
Key pressed - keycode: 56
[...]
Run Code Online (Sandbox Code Playgroud)