3

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

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

4

1 回答 1

1

我假设您正在使用带有 X(org) 的系统。如果不能像 evdev 级别一样完成某些事情,那是另一回事了。

你的问题有两个部分:

  1. 拦截所有关键事件 -> XGrabKeyboard()
  2. 将关键事件发送到活动应用程序:我会使用 libfakekey,它有点 hacky hacky(它会动态重新映射当前键盘映射的一部分以发送您想要发送的 KeySym)但它对我有用(小提示,不要忘记生成按键和按键释放事件:p)。

当然,在您的应用程序抓取键盘时,您必须从 X 监听 KeyEvents 并从那里发送键。

于 2011-09-26T21:31:30.907 回答