终于把 Linux 下的输入法搞定了,大概四五年前,某次 Ubuntu 升级后,发现 ibus 会重置 xkb,从而导致 xmodmap 失效,本来想自己生改 xkb,但是极其复杂的配置文件最后让我缩了。之后一直都使用的非常别扭的方式:在 vbox 的 windows 虚拟机里打字然后拷出来。直到最近又碰到新问题,android 模拟器跟 vbox 冲突,所以这几天关了 vbox 后非常不方便,试着想解决的方法,结果轻而易举的找到了:xkbcomp $DISPLAY dump.txt 可以把当前的设置 dump 下来,这样一对比就容易知道 xmodmap 里的改动在 xkb 里是什么写法了。其实我现在改的键位只有两个,但是都很重要:Shift + Esc~,以及右 Shift 改成多媒体键 XF86Game,作为呼叫 Tilda 的热键。最终这两行改动都写在 /usr/share/X11/xkb/symbols/pc