我需要知道当前按下了哪个键。我不是在寻找捕获某些特定键以触发事件或类似操作,
我想知道现在按下了哪些键,并显示它们的列表。
我还需要捕获像F1...F12、shift、alt、home、windows等特殊键。基本上键盘上的所有键都要。
如何在Python中实现这一点?如何捕获键盘事件?
相关
编辑
只是让您知道我不是在试图制作一个键盘记录器。我正在尝试制作一个诊断工具(我把水倒在笔记本电脑上,键盘有时会变得疯狂!!)
我需要知道当前按下了哪个键。我不是在寻找捕获某些特定键以触发事件或类似操作,
我想知道现在按下了哪些键,并显示它们的列表。
我还需要捕获像F1...F12、shift、alt、home、windows等特殊键。基本上键盘上的所有键都要。
如何在Python中实现这一点?如何捕获键盘事件?
编辑
只是让您知道我不是在试图制作一个键盘记录器。我正在尝试制作一个诊断工具(我把水倒在笔记本电脑上,键盘有时会变得疯狂!!)
PyKeylogger 在相关问题中提到,可能可以胜任此工作。
如果您不是太挑剔的话,最简单的方法就是引入GUI工具包,如pygame或wxPython。例如,运行wxPython演示,然后转到KeyEvents演示。
(来自pynput文档)
from pynput import keyboard
def on_press(key):
try:
print('alphanumeric key {0} pressed'.format(
key.char))
except AttributeError:
print('special key {0} pressed'.format(
key))
def on_release(key):
print('{0} released'.format(
key))
if key == keyboard.Key.esc:
# Stop listener
return False
# Collect events until released
with keyboard.Listener(
on_press=on_press,
on_release=on_release) as listener:
listener.join()