python - 检测键盘按下
问题描述
我想制作一个程序,当您单击键盘上的按钮时运行代码,例如,我按 A 并运行一些代码,但我不必按 enter 或输入它来运行它。就像在电子游戏中一样,如果你按下 W,你的角色就会移动。对不起,如果措辞不好,我对此感到很困惑。
请记住,它是 Python 2.7
解决方案
我假设您的意思是在控制台中,而不是在 tkinter 之类的任何 gui 中。
我建议使用 pynput (pip install pynput)
使用与此类似的代码
from pynput.keyboard import Key, Listener
def on_press(key):
print('{0} pressed'.format(
key))
def on_release(key):
print('{0} release'.format(
key))
if key == Key.esc:
# Stop listener
return False
while True:
with Listener(on_press=on_press,on_release=on_release) as listener:
listener.join()
警告词:上面的代码还捕获了退出键,因此 ctrl + c 不会停止控制台。为此,当按下 ctrl+c 时,您需要实现一些东西来打破 While 循环。
推荐阅读
- python - CCC 2018 j4 问题中的二维数组问题
- flask - 用于人脸识别的本地网络上的网络摄像头可访问性
- php - Laravel - 在控制器中使用 post 方法
- html - SASS/CSS ~ 背景: URL(); 不管用
- mysql - MySQL 用于在 uuid 上加入表并省略两个表中存在的 uuid
- python-3.x - 带有平方根条件检查的python中的for循环
- lightningchart - 折线图中的虚线图或虚线图
- arrays - 对长度为 1M 的数组进行排序的数组声明中的可能错误
- python-3.x - 我的代码在运行时重复,是有问题还是我可以让它运行一次?
- c# - 在 C# 中打开表单时获取文本框的宽度