首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在python中检查键位

如何在python中检查键位
EN

Stack Overflow用户
提问于 2018-06-21 04:47:51
回答 2查看 1.2K关注 0票数 2

我需要检查电脑上的箭头键是否被按下,并在按住它的同时执行一些操作。例如,如果:

如果按下箭头向上键,控制台将打印:向上,向上..-until发布。我该怎么做呢?我尝试了一些库,但似乎每个库都只注册了一次单击,而不是重复按住。

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2018-06-21 05:02:22

您可以尝试使用Pynput库和键盘监听器。

我做了一个代码片段给你测试,希望对你有帮助!

代码语言:javascript
复制
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()

别忘了

代码语言:javascript
复制
pip install pynput

编辑:

要查看所有按键,您可以尝试将回调更改为:

代码语言:javascript
复制
try:
    print('{0} pressed'.format(
        key.char))
except :
    print('key {0} pressed'.format(
        key))

except块也只是一个显示特殊键的变通方法

票数 3
EN

Stack Overflow用户

发布于 2018-06-21 04:55:46

不确定其他平台,但在Windows上有一个库conio,你可以在C中使用,如下所示:

代码语言:javascript
复制
#include<stdio.h>
#include<conio.h>

int main() {
    while (1) {
        printf("%c", getch());
    }
    return 0;
}

在Cython中,如果您链接到conio库,则可以以相同的方式使用getch()函数。

即使在POSIX平台上使用termios库,这也应该是getch包以跨平台的方式为您做的事情。

如果您不想使用非标准库,那么您最终将编写与平台相关的代码,就像getch包为您所做的那样:

代码语言:javascript
复制
import msvcrt
while True:
    print(msvcrt.getch())
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50956810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档