在Linux上使用Python拦截并发送击键

时间:2011-09-26 20:28:10

标签: linux keyboard keyboard-events intercept

我正在寻找一种方法来拦截所有键盘信号,直到它们到达活动应用程序。然后我想解释和映射击键,然后将它们发送到当前活动的应用程序。

Python库会很棒,但C / C ++也足够了。

1 个答案:

答案 0 :(得分:1)

我假设你正在使用带有X(org)的系统。如果没有一些东西可以完成以及evdev级别,但这是另一个故事。

你问题的两个部分:

  1. 拦截所有关键事件 - > XGrabKeyboard()
  2. 将关键事件发送到活动应用程序:我使用libfakekey,它有点hacky hacky(它动态地重新映射当前keymap的一部分以发送你要发送的KeySym)但它对我有用(小提示,不要不要忘记按键和按键释放事件:p)。
  3. 当然,在你的应用程序抓取键盘时,你必须从X听取KeyEvents并从那里发送密钥。