![](/img/trans.png)
[英]how do i detect key combinations in python from the background in linux?
[英]How can i detect key combinations in Windows python3+?
我正在尝试编写一些程序来检测何时按下组合键并调用某个 function。 所以我需要程序在按下并执行某些操作时检测诸如 ctrl+v 之类的东西,但似乎程序不能同时识别 ctrl+v,但是当我只测试 1 个键时它会:
COMBINATION = [
{keyboard.Key.ctrl, keyboard.KeyCode(char='v')}
]
在这段代码中,如果我删除了 2 个中的 1 个,程序似乎会检测到密钥,但如果它们在一起,则不会。 这就是我用来检测密钥的方法:
def on_press(key):
if any([key in COMBO for COMBO in COMBINATION]):
current.add(key)
if any(all(k in current for k in comb) for comb in COMBINATION):
execute()
如果两个参数都放在COMBINATION
中,则execute()
function 永远不会被执行,但如果只有一个参数,它似乎确实有效。 我正在使用 pynput 来按下按键,并使用一个监听器来监听所有按下的按键:
with keyboard.Listener(on_press=on_press, on_release=on_release) as listener:
listener.join()
谢谢!
所以有一个超级简单的库,叫做keyboard
用pip install keyboard
import keyboard
if keyboard.is_pressed('ctrl+v'):
# Call your function
我希望我对你有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.