有没有办法限制Python的keyboard.add_hotkey()每次按键只触发一次?

问题描述 投票:0回答:1
import keyboard
def on_c_pressed():
    print("C key was pressed")

keyboard.add_hotkey('c', on_c_pressed)

目前的情况是,当按键被启动并释放时,它会快速触发。

一种解决方案是跟踪全局变量标志并使用 on_c_pressed() 和 on_c_released,但这看起来有点混乱。你们中有人知道一种更干净的方法或替代库来检测我每次按下一次按键状态吗?

python keyboard-events keystroke python-keyboard
1个回答
0
投票

您只需等待按键释放即可:

import keyboard

def c_press():
    print('c was pressed')
    while True:
        if not keyboard.is_pressed('c'):
            break

keyboard.add_hotkey('c', c_press)

我们在此方法中等待“c”停止被按下。对于其他模块,您可能想看看

pynput

© www.soinside.com 2019 - 2024. All rights reserved.