keyboard库
import keyboarddef keydown(key):
print(key.name)
keyboard.on_press(keydown)
keyboard.wait()
input()
因为用了keyboard,所以input失效,有解决方法吗 这个问题的主要原因是, keyboard.wait()会暂停程序的执行,直到用户按下一个键。在你的代码中,这意味着keyboard.wait()会使input()语句无法执行,因为它需要程序的控制权以监听用户的输入。
一个简单的解决方案是将keyboard.wait()移动到代码的末尾,如下所示:
import keyboard
def keydown(key):
print(key.name)
keyboard.on_press(keydown)
input()
keyboard.wait()
但如果你想在键盘事件触发时同时使用input(),你可能需要考虑使用多线程,这样你可以在一个线程中处理键盘事件,而在另一个线程中处理输入。你可以使用 Python 的threading库来实现这一点。如下所示:
import keyboard
import threading
def keydown(key):
print(key.name)
def input_func():
while True:
input()
keyboard.on_press(keydown)
input_thread = threading.Thread(target=input_func)
input_thread.start()
keyboard.wait()
请注意,这将同时处理键盘事件和输入。如果用户同时按下一个键并输入一些东西,这两个事件可能会在不确定的顺序发生。另外, input()会阻止当前线程,直到用户输入一些内容,这可能并不是你想要的行为。你可能需要适当修改代码以满足你的特定需求。 import keyboard
def keydown(key):
print(key.name)
keyboard.add_hotkey('page up, page down', keydown) # 正确
keyboard.add_hotkey('page up + page down', keydown) # 错误
页:
[1]