抑制pynput的热键组合
我从 alt+f4 ?
from pynput import keyboard
def keyboard_listener():
global listener
def on_press(key):
print('on press', key)
def on_release(key):
print('on release', key)
if key == keyboard.Key.esc:
return False # This will quit the listener
def win32_event_filter(msg, data):
if (msg == 257 or msg == 256) and data.vkCode == 112: # Key Down/Up & F1
print("Suppressing F1 up")
listener._suppress = True
# return False # if you return False, your on_press/on_release will not be called
else:
listener._suppress = False
return True
return keyboard.Listener(
on_press=on_press,
on_release=on_release,
win32_event_filter=win32_event_filter,
suppress=False
)
listener = keyboard_listener()
if __name__ == '__main__':
with listener as ml:
ml.join()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
on_press
,on_release
和win32_event_filter
始终返回单个键,因此您需要检查两个按钮是否按下并忽略该操作。可以找到更多详细信息在这里。在这里,我如何抑制该关键组合:The
on_press
,on_release
, andwin32_event_filter
always return a single key in action so you need to check if both buttons are pressed and ignore that action. More detail can be found here. Here how I can suppressing that key combination: