如何创建自定义键盘布局?

如何创建自定义键盘布局?

我尝试过教程,但是它不起作用。

基本上我将其粘贴到 /usr/share/X11/xkb/symbols/ru 中:

partial alphanumeric_keys
xkb_symbols "wlasna" {

    include "pl"
    name[Group1]= "Russian (custom)";

    key <LatQ> { [    Cyrillic_shcha,    Cyrillic_SHCHA  ] };
    key <LatZ> { [       Cyrillic_ze,       Cyrillic_ZE,    Cyrillic_zhe,      Cyrillic_ZHE  ] };
    key <LatS> { [       Cyrillic_es,       Cyrillic_ES,    Cyrillic_sha,      Cyrillic_SHA  ] };
    key <LatA> { [        Cyrillic_a,        Cyrillic_A,     Cyrillic_ya,       Cyrillic_YA  ] };
    key <LatW> { [       Cyrillic_ve,       Cyrillic_VE  ] };
    key <LatC> { [      Cyrillic_tse,      Cyrillic_TSE,    Cyrillic_che,      Cyrillic_CHE  ] };
    key <LatX> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN  ] };
    key <LatD> { [       Cyrillic_de,       Cyrillic_DE  ] };
    key <LatE> { [       Cyrillic_ie,       Cyrillic_IE,      Cyrillic_e,        Cyrillic_E  ] };
    key <LatV> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN  ] };
    key <LatF> { [       Cyrillic_ef,       Cyrillic_EF  ] };
    key <LatT> { [       Cyrillic_te,       Cyrillic_TE  ] };
    key <LatR> { [       Cyrillic_er,       Cyrillic_ER  ] };
    key <LatN> { [       Cyrillic_en,       Cyrillic_EN  ] };
    key <LatB> { [       Cyrillic_be,       Cyrillic_BE  ] };
    key <LatH> { [       Cyrillic_ha,       Cyrillic_HA  ] };
    key <LatG> { [      Cyrillic_ghe,      Cyrillic_GHE  ] };
    key <LatY> { [     Cyrillic_yeru,     Cyrillic_YERU  ] };
    key <LatM> { [       Cyrillic_em,       Cyrillic_EM  ] };
    key <LatJ> { [   Cyrillic_shorti,   Cyrillic_SHORTI  ] };
    key <LatU> { [        Cyrillic_u,        Cyrillic_U,     Cyrillic_yu,       Cyrillic_YU  ] };
    key <LatK> { [       Cyrillic_ka,       Cyrillic_KA  ] };
    key <LatI> { [        Cyrillic_i,        Cyrillic_I  ] };
    key <LatO> { [        Cyrillic_o,        Cyrillic_O  ] };
    key <LatL> { [       Cyrillic_el,       Cyrillic_EL  ] };
    key <LatP> { [       Cyrillic_pe,       Cyrillic_PE  ] };
};

(如果你想知道我试图实现什么——语音键盘,所有非字母符号的位置与我的母语(波兰语)相同,使用“特殊”符号作为替代字符在发音最接近它们的键上,而不仅仅是在随机键上(例如A key+ alt- яюon U+ altшon S+alt等)。)

然后我将其放入 /usr/share/X11/xkb/rules/evdev.xml:

 <variant>
   <configItem>
     <name>wlasna</name>
     <description>Russian (custom)</description>
   </configItem>
 </variant> 

然后我重新启动了计算机,并且...我仍然无法在布局列表中找到我的自定义布局:/

我是不是做错了什么,还是这个教程已经过时了,我应该使用另一个?因为我没有发现任何错误。

答案1

这对我来说可以。 :)

evdev.xml请注意,您需要将其作为俄罗斯布局的变体放入,即在此部分下方的某处:

    <layout>
      <configItem>
        <name>ru</name>
        <!-- Keyboard indicator for Russian layouts -->
        <shortDescription>ru</shortDescription>
        <description>Russian</description>
        <languageList>
          <iso639Id>rus</iso639Id>
        </languageList>
      </configItem>
      <variantList>

evdev.xmlusr/share/X11/xkb/rules/evdev.xml在我的案例中可以发现。

相关内容