Bla*_*der 3 python msvcrt keyrelease python-3.x
就像我按下按键a
1秒钟,当我将手指从按键上移开(释放按键)时,它就会print("Key 'a' pressed then released")
。
我尝试使用模块来完成此操作keyboard
,但我不知道如何使用它。我曾经用它来检测按键。
msvcrt
模块不适合我,但如果msvcrt
可以做我想要的,那么你可以回答我。
我不想使用Pygame
或任何其他module
会显示弹出窗口的
您可以使用该pynput
模块:
from pynput import keyboard
def on_key_release(key):
print('Released Key %s' % key)
with keyboard.Listener(on_release = on_key_release) as listener:
listener.join()
Run Code Online (Sandbox Code Playgroud)
根据键盘侦听器的文档,它是一个线程,它调用使用 key 参数pynput
指定的函数。on_release
您还可以指定一个on_press
函数。
编辑:
false
正如讨论中所要求的,您可以通过从函数返回来停止侦听器on_key_release
。像那样:
def on_key_release(key):
print('Released Key %s' % key)
return False
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以使用tkinter
它:
from tkinter import *
def keyup(e):
print('up', e.char)
def keydown(e):
print('down', e.char)
root = Tk()
frame = Frame(root, width=100, height=100)
frame.bind("<KeyPress>", keydown)
frame.bind("<KeyRelease>", keyup)
frame.pack()
frame.focus_set()
root.mainloop()
Run Code Online (Sandbox Code Playgroud)