检测 Ctrl+L

Jui*_*icy 5 python signals

我发现了一些检测特殊键盘命令(例如Ctrl+CCtrl+ )的示例D,但我想检测Ctrl+L并按如下方式处理它:

def ctrl_c():
   ...

signal.signal(signal.SIGINT, ctrl_c)
Run Code Online (Sandbox Code Playgroud)

我只针对 Linux 终端。不需要 GUI 和跨平台解决方案。

SiH*_*iHa 1

正如评论中所述,我不认为Ctrl+L会生成可以捕获的信号,但此代码将获取终端上的所有按键,并且如果是普通字符,则简单地回显它们,或者对Ctrl+CCtrl+做出反应L您可以也许实施类似的东西?

import getch
import sys
while True:
    char = getch.getch()
    if ord(char) == 3:
        sys.exit()
    elif ord(char) == 12:
        print 'Ctrl + L Pressed!'
    else:
        sys.stdout.write(char)
Run Code Online (Sandbox Code Playgroud)

注意,我在 Windows 机器上测试了这个,msvcrt因为我手头没有 Linux 系统,但它应该可以正常工作。