Python键盘库未抑制Linux上的击键

时间:2019-07-01 23:34:02

标签: python keyboard keyboard-events hotkeys keyboard-hook

我正在制作一个脚本,该脚本使用称为alt+tab的{​​{1}}库将单个键(right-ctrl)重新映射到Python中。使用keyboard上的Autohotkey可以轻松做到这一点,但是,在windows上似乎不可能做到这一点。毕竟,在Linux文档中,他们拥有keyboard funcion(param, param, ,所以它应该正常工作吗?

Suppress=False)


我已经尝试从代码的角度释放密钥,但是它似乎不起作用,因为import keyboard def altTab: keyboard.release(97) keyboard.send("alt+tab") # 97 is the key_code for [right ctrl] on my system keyboard.on_press_key(97, altTab, suppress=True) ctrl+alt+tab不同。我还尝试使用alt+tab函数将keyboard.remap_key更改为right ctrl,并将right alt更改为right alt,以便left alt可以正常工作,然后发送只是right alt而不是tab,但仍然无法正常工作。我正在使用alt+tab
请帮助,我很困惑

1 个答案:

答案 0 :(得分:1)

您需要hook_key,即每次按下按键时调用提供的回调的方法:

import keyboard

def altTab(e):
    if e.event_type == "down":
        keyboard.release(97)
        keyboard.send("alt+tab")

# 97 is the key_code for [right ctrl] on my system
keyboard.hook_key(97, altTab, suppress=True)

编辑:添加了仅用于按键处理的代码。