好了,我通过做类似的事情来捕获一个键(比如空格键):
from pynput import keyboard
from pynput.keyboard import Key
def on_press(key, ctrl):
if key == Key.space:
print('captured')
def main():
with keyboard.Listener(on_press=on_press) as listener:
listener.join()
但是,我注意到它仍然会将原始键码发送给其他应用程序。我希望使用python将键(组合)“绑定”到其他键(或更高级的操作),因此需要防止这种情况。
这怎么办?还是这超出了操作系统允许执行python的范围?
答案 0 :(得分:0)
set prevent = True like
def main():
with keyboard.Listener(on_press=on_press, suppress=True) as listener:
listener.join()
答案 1 :(得分:0)
要阻止特定密钥在系统范围内(在Windows上)发送,可以使用kwarg“ win32_event_filter”。
lukakoczorowski在https://github.com/moses-palmer/pynput/issues/170上的工作示例
构造一个适当的“ win32_event_filter”也可以防止传播热键。