gpt4 book ai didi

python - 使用键盘模块时检测按键释放

转载 作者:行者123 更新时间:2023-12-01 08:59:25 25 4
gpt4 key购买 nike

警告:我的英语很糟糕,而且我对 python 还很陌生
所以我正在制作一个需要特定按键(例如空格键)才能继续循环的程序,例如:

for i in *some sort of list*: 
print(something)
*waits for a key*

最后一行的方法是键盘模块(不是来自 pynput),它具有函数is_pressed。当我按下一个键时,我得到了输出:

*something*
*something*
*something*
*repeats for several times*

我知道该函数检测按键而不是按下并释放,因此一旦我释放它,此输出就会停止。但这不是我的程序的工作原理。每次我释放该键时它都应该响应。不幸的是,我找不到名为 is_released 的函数或其他函数,并且模块 pynput 无法使用 Listener 获取我按下的键。至少我不能。

此外,有没有办法让 keyboardpynput 都可以导入到计算机中?安装 pynput 后,我的 VS Code 会忽略键盘

编辑:这是我的问题解决方案,但它非常愚蠢:

while True:
if keyboard.is_pressed('space'):
while True:
if not keyboard.is_pressed('space'):
break
break

有没有一个函数可以做同样的事情?

最佳答案

由于它仅检测按键,因此请使用标志。我认为这样的事情可以做到:1. 创建一个 bool 变量来检测单个按键2. 如果按下 键,bool 将被设置为 true3. 如果 bool 为 true 而不是 key.is_pressed:做你的事4.运行后将bool设置为false

例如,在代码中,将是这样的:

keypress = False
key = 'space'
while True:
if keypress and not keyboard.is_pressed(key):
'''DO YOUR THING'''
#beak out of while loop?
keypress = False
break
elif keyboard.is_pressed(key) and not keypress:
keypress = True

不知道你是否会这样做,但我想你可以从中明白我的意思。祝你好运!

关于python - 使用键盘模块时检测按键释放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52576914/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com