![](/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.