死键在自定义 XKB 布局中不起作用

死键在自定义 XKB 布局中不起作用

我使用源自股票布局 hr(us) 的自定义 XKB 布局:

{
    name[Group1] = "My HR Layout";
    include "hr(us)"
    key <AB09> { [       NoSymbol,       NoSymbol, dead_doublegrave, dead_invertedbreve ] }; // D˵ D? 
    key <AB10> { [       NoSymbol,       NoSymbol,     dead_acute,    dead_macron ] }; //   D´ 
    key <AC01> { [       NoSymbol,       NoSymbol,     adiaeresis,     Adiaeresis ] }; //   ä Ä 
    key <AC03> { [       NoSymbol,       NoSymbol,            eth                 ] }; //   ð 
    key <AC09> { [       NoSymbol,       NoSymbol,        lstroke,        Lstroke ] }; //   ł Ł 
    key <AD03> { [       NoSymbol,       NoSymbol,          U011B,          U011A ] }; //   ě Ě 
    key <AD07> { [       NoSymbol,       NoSymbol,     udiaeresis,     Udiaeresis ] }; //   ü Ü 
    key <AD08> { [       NoSymbol,       NoSymbol,     idiaeresis,     Idiaeresis ] }; //   ï Ï 
    key <AD09> { [       NoSymbol,       NoSymbol,     odiaeresis,     Odiaeresis ] }; //   ö Ö 
    key <AE01> { [       NoSymbol,       NoSymbol,    onesuperior                 ] }; //   ¹ 
    key <AE02> { [       NoSymbol,       NoSymbol,    twosuperior                 ] }; //   ² 
    key <AE03> { [       NoSymbol,       NoSymbol,  threesuperior                 ] }; //   ³ 
    key <AE04> { [       NoSymbol,       NoSymbol,          U2074,          U20AC ] }; //   ⁴ € 
    key <AE05> { [       NoSymbol,       NoSymbol,          U2075                 ] }; //   ⁵ 
    key <AE06> { [       NoSymbol,       NoSymbol,          U2076                 ] }; //   ⁶ 
    key <AE07> { [       NoSymbol,       NoSymbol,          U2077                 ] }; //   ⁷ 
    key <AE08> { [       NoSymbol,       NoSymbol,          U2078                 ] }; //   ⁸ 
    key <AE09> { [       NoSymbol,       NoSymbol,          U2079                 ] }; //   ⁹ 
    key <AE10> { [       NoSymbol,       NoSymbol,          U2070,          U00B0 ] }; //   ⁰ °
    key <AE11> { [       NoSymbol,       NoSymbol,         endash,         emdash ] }; //   – — 
    key <TLDE> { [       NoSymbol,       NoSymbol,     dead_grave                 ] }; //   D` 
};

一切工作正常,除了死键表现不同:

  • 死重音符(AltGr-TLDE)、死尖音符(AltGr-AB10)和死长音符(AltGr-Shift-AB10)可以正常工作,并且与拉丁字母“a”组合分别产生“à”、“á”和“ā”。
  • 死双重音符号 (AltGr-AB09) 不起作用。按下 AltGr-AB09 后跟拉丁字母“a”不会产生任何符号,尽管它应该产生“ȁ”,这是在 X11/locale/en_US.UTF-8/Compose 下定义的:
<dead_doublegrave> <a>                      : "ȁ"   U0201 # LATIN SMALL LETTER A WITH DOUBLE GRAVE
  • 倒置短音符 (AltGr-Shift-AB09) 也不起作用,但方式不同。按下 AltGr-Shift-AB09 后跟拉丁字母“a”只会产生“a”,尽管它应该产生“ȃ”,这也在组合规则中定义:
<dead_invertedbreve> <a>                    : "ȃ"   U0203 # LATIN SMALL LETTER A WITH INVERTED BREVE

寻求有关该问题的帮助,或者至少寻求有关如何调试 XKB 地狱、从哪里开始以及使用哪些工具的建议。我不是开发和系统管理方面的新手,但 XKB 总是让我头疼。

相关内容