我想在安装了 KDE Plasma 的 NixOS 上使用带有 libpinyin 的 IBus。 IBus 已安装并且工作正常,使用以下配置/etc/nixos/configuration.nix
# use IBus for input
i18n.inputMethod = {
enabled = "ibus";
ibus.engines = with pkgs.ibus-engines; [libpinyin];
};
当我在“英语”模式下使用 libpinyin 或使用英语输入引擎时,我还希望能够编写一些特定的字符。根据各种指南,我尝试了以下配置:
~/.xsessionrc
:
xmodmap -e "keysym ISO_Level3_Shift = Multi_key"
~/.XCompose
:
include "%L"
# Compose keys for pinyin with tone marks
<Multi_key> <a> <a> : "ā"
<Multi_key> <a> <e> : "ē"
<Multi_key> <a> <i> : "ī"
<Multi_key> <a> <o> : "ō"
<Multi_key> <a> <u> : "ū"
<Multi_key> <s> <a> : "á"
<Multi_key> <s> <e> : "é"
<Multi_key> <s> <i> : "í"
<Multi_key> <s> <o> : "ó"
<Multi_key> <s> <u> : "ú"
<Multi_key> <d> <a> : "ǎ"
<Multi_key> <d> <e> : "ě"
<Multi_key> <d> <i> : "ǐ"
<Multi_key> <d> <o> : "ǒ"
<Multi_key> <d> <u> : "ǔ"
<Multi_key> <f> <a> : "à"
<Multi_key> <f> <e> : "è"
<Multi_key> <f> <i> : "ì"
<Multi_key> <f> <o> : "ò"
<Multi_key> <f> <u> : "ù"
使用此配置,任何撰写字符都不起作用。如果我运行bash ~/.xsessionrc
,我可以看到xev
报告正确的撰写字符,如下所示;
如果我输入<alt_gr> <s> <a>
,那么日志中会出现各种事件,其中之一包括这一行:
XmbLookupString gives 3 bytes: (61 cc 81) "á"
因此 xsessionrc 文件没有在正确的时间运行(我想是在登录时),但此外,没有其他应用程序实际上允许我使用组合组合。两者kwrite
都chromium
忽略 XCompose 配置,即使在我的~/.profile
;中使用了下面的建议配置后也是如此。
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
(此配置正在设置,如图env
所示这些变量已设置。)
需要明确的是,只有 xev 显示配置可能有点正确。没有真正需要输入的实际应用程序会让我编写这些字符。我怎样才能获得我想要的撰写行为?