在 Ubuntu 键盘布局中交换组iso next group

问题描述

我按照该手册更改了 Ubuntu 中的键盘布局: https://askubuntu.com/questions/510024/what-are-the-steps-needed-to-create-new-keyboard-layout-on-ubuntu

我为它更改了 /usr/share/X11/xkb/symbols/de 并且它运行良好。现在,我想使用 Caps-Look 键来更改布局,有两个布局,例如:

key <AC10>  { [odiaeresis,Odiaeresis],[ U00F8,U00D8 ] };
key <AC11>  { [adiaeresis,Adiaeresis],[ U00E6,U00C6 ] };

(德语元音在布局中,斯堪的纳维亚语在两个布局中。)

我已经读到可以使用这一行:

key <CAPS> { [ ISO_Next_Group ] };

它实际上什么都不做。我应该怎么做才能实现那个换群功能

我的 sudo cp da /usr/share/X11/xkb/symbols/de 看起来像这样(开头,长文件的其余部分像往常一样:

default
xkb_symbols "basic" {

    include "latin(type4)"

    name[Group1]="Deutsch Alternativ";

    key <AE01>  { [         U0021]  };
    key <AE02>  { [         quotedbl]   };
    key <AE03>  { [         EuroSign,section,terling ]    };
    key <AE04>  { [         dollar] };
    key <AE05>  { [         U0025]  };
    key <AE06>  { [         U0026]  };
    key <AE07>  { [         U002F,U007C     ] };
    key <AE08>  { [         U0028      ]    };
    key <AE09>  { [         U0029      ]    };
    key <AE10>  { [         U003D,U2260   ]    };
    key <AE11>  { [         U00DF,U1E9E ]  };

    //key <AE11> {type[Group1]="FOUR_LEVEL_PLUS_LOCK",symbols[Group1]=
     //             [ssharp,question,backslash,questiondown,0x1001E9E ]};
    //key <AE12>    { [dead_acute,dead_grave,dead_cedilla,dead_ogonek ] };
    key <AE12>  { [U003F]   };

    key <AD01>  { [         q,Q,at,at ],[         b,B,at ] };
    key <AD02>  { [         w,W]  };
    key <AD03>  { [         e,E,EuroSign,EuroSign ] };
    key <AD04>  { [         r,R,U211D,U211A ]   };
    key <AD06>  { [         z,Z,U2124,yen ] };
    key <AD07>  { [         u,U,U00EB,U00CB ]   };
    key <AD08>  { [         i,I,U00EF,U00CF ]   };
    key <AD09>  { [         o,O,U0153,U0152 ]   };
    key <AD11>  { [udiaeresis,Udiaeresis,U00E5,U00C5] };
    key <AD12>  { [      plus,asterisk,asciitilde,macron ]  };

    key <AC01>  { [         a,A,U2200,U2203    ] };
    key <AC02>  { [         s,S,U2208,U2209    ] };
    key <AC03>  { [         d,D,U2205,U2192    ] };
    key <AC04>  { [         f,F,U2227,U2228    ] };
    key <AC05>  { [         g,G,U2229,U222A    ] };
    key <AC06>  { [         h,H] };
    key <AC07>  { [         j,J,dead_belowdot,dead_abovedot   ] };
    key <AC08>  { [         k,K,U21D2,U21D0 ] };
    key <AC09>  { [         l,L,U0040,U21D4 ] };
    key <AC10>  { [odiaeresis,Odiaeresis,U00F8,U00D8 ] };
    key <AC11>  { [adiaeresis,Adiaeresis,U00E6,U00C6 ] };
    key <TLDE>  { [dead_acute,dead_circumflex] };

    key <BKSL>  { [numbersign,apostrophe,rightsinglequotemark,dead_breve ] };
    key <AB01>  { [         y,Y,guillemotright,U203A   ] };
    key <AB02>  { [         x,X,guillemotleft,U2039   ] };
    key <AB03>  { [         c,C,U00E7,U00C7 ] };
    key <AB04>  { [         v,V,doublelowquotemark,singlelowquotemark ]   };
    key <AB05>  { [         b,leftdoublequotemark,leftsinglequotemark ] };
    key <AB06>  { [         n,N,U007E,U2115 ]   };
    key <AB08>  { [     comma,semicolon,periodcentered,multiply   ] };
    key <AB09>  { [    period,colon,U2026,division   ] };
    key <AB10>  { [     minus,underscore,endash,emdash ] };
    key <LSGT>  { [     less,greater,bar,dead_belowmacron ] };
    //key.type = "ONE_LEVEL";
    //key <CAPS> { [ ISO_Next_Group ] };

    include "kpdl(comma)"

    include "level3(ralt_switch)"
};

partial alphanumeric_keys
xkb_symbols "deadtilde" {
    // prevIoUs standard Deutsch Alternativ layout with tilde as dead key

    include "de(basic)"
    name[Group1]="Deutsch Alternativ (dead tilde)";

    key <AD12>  { [      plus,dead_tilde,dead_macron ] };
};

partial alphanumeric_keys
xkb_symbols "nodeadkeys" {

    // modify the basic Deutsch Alternativ layout to not have any dead keys

    include "de(basic)"
    name[Group1]="Deutsch Alternativ (no dead keys)";

    key <TLDE>  { [asciicircum,degree,notsign,notsign ] };
    key <AE12>  { [      acute,grave,cedilla,cedilla ] };
    key <AD11>  { [ udiaeresis,diaeresis,diaeresis ] };
    key <AD12>  { [       plus,macron ] };
    key <AC10>  { [ odiaeresis,doubleacute,doubleacute ] };
    key <AC11>  { [ adiaeresis,asciicircum,asciicircum ] };
    key <BKSL>  { [ numbersign,grave ] };
};

注意:q 键是目前唯一具有第二组的键(作为随机示例)

有人知道更多吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)