将 Unicode 字符发送到 X 上的活动窗口

Rob*_*Rob 5 x11 unicode input

我正在寻找一种将 Unicode 字符发送到活动窗口的方法。目前,我有一个我不满意的解决方案。这是(Python 语言):

Xlib.display.Display.change_keyboard_mapping(keycode, [{ordchar}])
// send the keycode with KeyPress and KeyRelease
sleep(0.05)
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,keycode是 8 到 255 之间的任意数字,并且ordchar是要发送的 Unicode 代码点。

我对上面的代码有两个问题:

  1. 程序必须修改键盘映射。这规避了只有 cca​​. 可以发送 250 个键码。
  2. 我必须在发送两个字符之间插入延迟,否则它们之间的键盘映射更改可能无法注册。0.05 的延迟可以消除排放,但角色到达时会出现明显的延迟。