这个问题是我之前问题的一般版本:更改 xterm 为组合键生成的转义序列。关于如何更改 xterm 生成的转义序列,我有一个很好的答案(将其转换表更改为 .主目录中的 Xresources 文件)。
现在我想知道是否有更通用的方法可以更改linux(Ubuntu/CentOS)中生成的转义序列。我的意思是,我希望更改不仅适用于 xterm,也适用于侏儒终端。我正在考虑 terminfo 来执行此操作,但我尝试并修改了术语信息,重新编译了 terminfo,但无法实现在终端中按 Ctrl+F2 的 ^[O5Q 响应。
我也尝试了以下方法,但没有成功:
- xmodmap,但对于组合键它不起作用
- xdotool 窗口激活 xyz 类型 ^[O5P,这将返回单个字符的字符代码
- xmacro,它不会将击键发送到其他窗口
- ironahk,我在尝试运行 example.ahk 时一开始就遇到了错误,并且在其轻型手册中找不到我想要的命令。 绑定 '\e[
- 1;5P":"\e[O5P"',这里的第一个键码是我目前在键入 ctrl+f1 时获得的键码,在我希望通过此组合获得的键码之后。没有效果。
- xbindkeys + xvkbd,也没有帮助
提前谢谢。
没有通用的方法可以做到这一点。每个终端小部件(VTE等)都有自己的方法,用于将按键转换为字符序列,有些甚至可以在代码本身中对其进行硬编码。