python - 如何使用键盘事件作为条件语句的一部分
问题描述
我正在尝试制作一个输出按键事件作为对另一个键盘事件的响应的程序。如何让它使用条件语句中按下的键的特定值?我尝试的代码似乎完全跳过了条件语句。
最初尝试[if key == '1':],
然后累了[if key == 1:]
。还尝试了将 [key] 分配给变量的各种方法。还尝试了 [print('2')] 而不是使用[pyautogui.typewrite('2')]
. 尝试将代码放在 on_press(key) 和 on_release(key) 中。
`
import pyautogui
from pynput.keyboard import Key, Listener
def on_press(key):
print('{0} pressed'.format(key))
def on_release(key):
print('{0} release'.format(key))
k = format(key)
if k == '1': #THIS IS THE PART I CAN'T GET TO WORK
pyautogui.typewrite('2', 0.5)
if key == Key.esc:
# Stop listener
return False
# Collect events until released
with Listener(
on_press=on_press,
on_release=on_release) as listener:
listener.join()
`
每当我在键盘上按“1”时,预计会输出“2”(除了 keypress 和 keyrelease 事件的输出)。按下“1”的输出不起作用。
解决方案
您可以使用keyboard
库来处理/创建关键事件。
while True:
try:
if keyboard.is_pressed('1'):
print('{} is pressed'.format(1))
break
else:
pass
except:
break
上面的代码一直运行,直到1
作为按键被接收。按 键后,1 is pressed
将打印。
您还可以进一步使用该库的其他功能,以检测按键按下。
推荐阅读
- java - 异常在 Websphere 8.5.5.x 上部署 spring 5 应用程序
- mongodb - 子文档上的猫鼬查询使用投影返回其他子文档的数组
- c - 这个包含模数的代码有什么问题?
- android - 如何在相机应用中应用实时照片滤镜
- ios - 如何为 React Native 组件编写 IOS 框架
- python - 区分圆上的矩形(python-openCV)
- html - HTML/CSS 段落中断,保留
完全有或没有浮动图像
- javascript - 如何在几秒钟内禁用 onkeyup
- c# - 我需要帮助来实现 XPath
- javascript - React 函数不会重新分配(让)或推入数组