Emacs 在Linux中向后台进程发送密钥码

Emacs 在Linux中向后台进程发送密钥码,emacs,keycode,Emacs,Keycode,我最近在emacs中进入了邪恶模式,以拯救我的小指 一切都很好,除了vi正常模式与中文输入法不兼容(输入法将捕获单字母命令)。我想做一个脚本,其中切换中文/英文开关自动为我 问题来了:我如何向(后台)进程发送密钥码? 还是有更好的办法解决我的问题 另外,我正在用xfce在archlinux上使用ibus和gnu emacs。 我尝试使用$ibus引擎在IME之间切换,它可以工作,但会顺便重置我的密钥映射(已经向ibus项目报告)。所以现在我想到的最好的方法是给输入法发送一个切换键,在中文输入法中

我最近在emacs中进入了邪恶模式,以拯救我的小指

一切都很好,除了vi正常模式与中文输入法不兼容(输入法将捕获单字母命令)。我想做一个脚本,其中切换中文/英文开关自动为我

问题来了:我如何向(后台)进程发送密钥码? 还是有更好的办法解决我的问题

另外,我正在用xfce在archlinux上使用ibus和gnu emacs。 我尝试使用$ibus引擎在IME之间切换,它可以工作,但会顺便重置我的密钥映射(已经向ibus项目报告)。所以现在我想到的最好的方法是给输入法发送一个切换键,在中文输入法中启用英文输入,而不是在输入法之间切换。 如果你能给我一些链接来帮助我理解Linux如何处理keycode、keymap和相关的东西,那就太好了。谢谢

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

在这里我找到了一个解决办法。使用xautomation包中的“xte”模拟击键。例如,$echo“key Conrtol|u R”| xte,这将导致IME在语言之间切换。当我同时按下另一个修改键时,它就是不起作用,但无论如何,现在解决了我的问题


如果有更好的方法,我会更新这篇文章。

不清楚:你是想让emacs切换你的键盘布局吗?也许我说的太多了,一些不相关的背景……实际上我要做的是编写一个脚本,它会向IME进程发送一个切换开关。当在insert/normal之间切换时,emacs将调用此脚本。我尝试了另一种方法:让ibus使用$ibus引擎在中文输入法/英文输入法之间切换。这将重置我不希望它重置的键映射(它应该是ibus错误)。