编写CLI程序,我想阅读Ctrl+<anything>
命令。
如何从CLI python应用程序中监听和处理即:Ctrl+R
组合键?
目前,仅适用于Linux环境。 pythonic方法是最好的选择,但我不知道如何。
根据信号,可以处理众所周知的输入,但不能处理自定义击键。
答案 0 :(得分:2)
Pynput是一个用于处理各种操作系统的鼠标和键盘输入的软件包。 This Github issue演示了如何检测保持的密钥。如果您不想关注该链接:
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()