使用键盘模块的Python按键事件检测

毗湿奴(Pishesh)

我使用键盘模块为代码实现了按键事件检测器。我需要在一个while循环内的一个循环内检测keypress事件for代码如下

import keyboard

for i in range(5):
    loop = True
    while loop:
        if keyboard.is_pressed("space"):
            print("Iteration: {}\tSpace key pressed!".format(i))
            loop = False

space一次键后,输出显示

Iteration: 0    Space key pressed!
Iteration: 1    Space key pressed!
Iteration: 2    Space key pressed!
Iteration: 3    Space key pressed!
Iteration: 4    Space key pressed!

我希望它仅在按下键时才能检测到。is_pressed一旦按下该键,它将永远设置为true。还有其他方法可以使它仅被检测到一次并将其重置is_pressed为false吗?

Shyam米塔尔

如果在每次按键检查之间引入约0.2秒的延迟,以下代码将起作用。

import keyboard
import time

delay = 0.2 # or >= 0.2 secs works fine

for i in range(5):
    loop = True
    while loop:
        if keyboard.is_pressed("space"):
            print("Iteration: {}\tSpace key pressed!".format(i))
            loop = False
            time.sleep(delay) # adding delay between each checks

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章