编写CLI程序,我想阅读Ctrl+<anything>
命令。
如何侦听和处理,即:从我的 CLI python 应用程序中Ctrl+R
组合键?
目前,它仅适用于 Linux 环境。pythonic 方法将是最好的选择,但我不知道怎么做。
从信号中,可以处理众所周知的输入,但不能处理自定义击键。
> Pynput 是一个设置为处理各种操作系统的鼠标和键盘输入的软件包。此 Github 问题演示了如何检测持有的密钥。如果您不想点击链接:
from pynput import keyboard
# The key combination to check
COMBINATION = {keyboard.Key.cmd, keyboard.Key.ctrl}
# The currently active modifiers
current = set()
def on_press(key):
if key in COMBINATION:
current.add(key)
if all(k in current for k in COMBINATION):
print('All modifiers active!')
if key == keyboard.Key.esc:
listener.stop()
def on_release(key):
try:
current.remove(key)
except KeyError:
pass
with keyboard.Listener(on_press=on_press, on_release=on_release) as listener:
listener.join()