python - keyboard.is_pressed() 在 Python 中是如何工作的?
问题描述
我试图弄清楚当我只按 1 次“u”时,为什么它会无限次按“w”。打印功能也不起作用,但如果我删除了keyboard.press('w')和keyboard.release('w'),打印功能开始正常工作(它打印出4,直到我按下一个按钮然后它打印输出正确的数字,当我释放按钮时,它再次写出 4)
while True:
if keyboard.is_pressed('u'):
keyboard.press('w')
keyboard.release('w')
print(0)
elif keyboard.is_pressed('j'):
#keyboard.press_and_release('s')
print(1)
elif keyboard.is_pressed('k'):
#keyboard.press_and_release('d')
print(2)
elif keyboard.is_pressed('h'):
#keyboard.press_and_release('a')
print(3)
else:
print(4)
keyboard.release('w')
解决方案
我知道那是一年前的事,但我今天发现了这个问题。
Sooo,根据键盘 API:
keyboard.press(hotkey)
模拟在键盘上按下热键。
keyboard.release(hotkey)
模拟在键盘上释放热键。
热键是键号、键名或两个或多个键的组合。
keyboard.press_and_release(hotkey)
或keyboard.send(hotkey)
模拟按下和释放键或热键。
按下和释放行为取决于使用 的值do_press
和do_release
时间keyboard.send()
。
例如:
keyboard.send('space', do_press=True, do_release=True)
将模拟按下和释放空格键,但是:
keyboard.send('space', do_press=False, do_release=True)
将模拟仅释放空格键。
keyboard.is_pressed(key)
如果按下了指定的键,则返回 True,否则返回 False
希望我有所帮助!
推荐阅读
- arrays - C 中的数组 - 左值与右值
- python - 我正在用 Python 准备一个代码,我在某一时刻感到震惊。我想明智地展示我最喜欢的食物列,但它显示的是行明智的。需要建议
- database - 数据库导入 csv 文件错误:导入数据时出错:UNIQUE 约束失败:StockPrice.stock_symbol
- bash - 获取文件完整路径中的最后一个子文件夹名称
- python - 如何从其他数据框(Python Pandas)中的非重复项中获取新的数据框?
- google-analytics - 识别登录页面(下一个会话)> 退出页面(上一个会话)时与 Bigquery 和 GA(通用)的巨大差异
- java - 如何通过应用程序上下文获取注释为服务的接口实例
- reverse-proxy - 定义 HAProxy ACL 以根据请求 URL 路由后端
- python - Django 迭代 zip 中的所有值
- java - 如何从 Ant 生成的战争中排除 java 源文件?