如题。
fcitx5的漏字问题让我印象深刻。昨天重装系统,在尚更改系统语言为中文的情况下安装了fcitx5+rime+雾凇拼音,因为是hyprland所以仅设置了XIM的环境变量。用code测试输入法时发现没有出现任何异常。但是我没有做任何设置,code这样的electron应用应该至少会出现漏字情况才对。疑惑的时候突发奇想,我的locale是英文,这是唯一的变量,难道是因为locale?
测试一:
将/etc/locale.conf设置为LANG=zh_CN.UTF-8,code出现漏字问题。再次改回en_US.UTF-8,漏字问题小时。
测试二:
通过~/.config/locale.conf修改locale,情况复现。
测试三:
全局locale设置为中文。使用LANG=en_US.UTF.8环境变量启动code,漏字异常消失。
测试四:
用qq和typora进行上述操作,复现成功。
测试五:
从hyprland更换为niri,复现成功。
所以,当locale为英文时输入法不会出现任何异常。与之相对,常规的设置IM_MODULE变量或者设置–ozone-platform=wayland启动参数的解决办法能解决漏字问题,但依旧会出现错位、无法删除最后一个字母、删除输入的字母时误删光标右侧字符之类的异常。
有人有更深入的想法吗?这是为什么。