我最近在emacs中转移到邪恶模式以保存我的小指 .

一切都很棒,除了vi普通模式与中文IME不兼容(IME将捕获单字母命令) . 我想创建一个脚本,为我自动切换中文/英文切换 .

问题出现了:如何将密钥代码发送到(后台)流程?或者有更好的方法来解决我的问题?

PS . 我正在使用带有xfce的archlinux上的ibus和gnu emacs . 我已经尝试使用$ ibus引擎在IME之间切换,它可以正常工作但是会重置我的键盘映射(已经报告给ibus项目) . 所以现在我最好的方法是向IME发送一个切换键以启用中文IME中的英文输入,而不是在IME之间切换 . 如果你能给我一些链接来帮助我理解Linux如何处理密钥代码,键盘映射和相关内容,那将是很棒的 . 谢谢!

-----更新------

我在这里找到了解决方案 . 使用包xautomation中的“xte”来模拟击键 . 例如 . $ echo“key Conrtol_R”| xte,这将导致IME在语言之间切换 . 当我同时按下另一个Modifier键时,它不起作用,但无论如何,现在解决了我的问题 .

当有更好的方法时,我会更新这篇文章 .