我需要检查电脑上的箭头键是否被按下,并在按住它的同时执行一些操作。例如,如果:
如果按下箭头向上键,控制台将打印:向上,向上..-until发布。我该怎么做呢?我尝试了一些库,但似乎每个库都只注册了一次单击,而不是重复按住。
谢谢!
发布于 2018-06-21 05:02:22
您可以尝试使用Pynput库和键盘监听器。
我做了一个代码片段给你测试,希望对你有帮助!
from pynput import keyboard
def keyPress(key):
if key == keyboard.Key.up:
print('Up pressed')
with keyboard.Listener(
on_press=keyPress) as kb:
kb.join()
别忘了
pip install pynput
编辑:
要查看所有按键,您可以尝试将回调更改为:
try:
print('{0} pressed'.format(
key.char))
except :
print('key {0} pressed'.format(
key))
except块也只是一个显示特殊键的变通方法
发布于 2018-06-21 04:55:46
不确定其他平台,但在Windows上有一个库conio
,你可以在C中使用,如下所示:
#include<stdio.h>
#include<conio.h>
int main() {
while (1) {
printf("%c", getch());
}
return 0;
}
在Cython中,如果您链接到conio
库,则可以以相同的方式使用getch()
函数。
即使在POSIX平台上使用termios
库,这也应该是getch
包以跨平台的方式为您做的事情。
如果您不想使用非标准库,那么您最终将编写与平台相关的代码,就像getch
包为您所做的那样:
import msvcrt
while True:
print(msvcrt.getch())
https://stackoverflow.com/questions/50956810
复制相似问题