从python CLI中读取Ctrl,Alt和Shift键



编写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()

最新更新