如何将AltGr +键绑定到符号?

爱丽丝·瑞尔(Alice Ryhl)

我想将AltGr+绑定Wæ,以及其他一些组合,该怎么做?我还需要AltGr+ Shift+WÆ

我通常setxkbmap用来更改键盘映射。

异想天开的袋熊

您可以使用自定义XKB映射来实现这一点。我建议您使用来转储当前地图xkbcomp $DISPLAY dump.xkb,对其进行编辑并使用进行加载xkbcomp newmap.xkb $DISPLAY转储文件很大,并且包含很多多余的信息。

进行编辑的最简单方法是查找altgr在当前地图中的使用方式。通常是ISO_LEVEL3修饰符。如果您当前的键盘映射不使用altgr,则可以尝试加载一个键盘映射来查看如何完成。例如,-layout us -variant altgr-intl范围很广,并且绑定了大多数(如果不是全部)欧洲密钥。以下是正在发生的事情的简短入门。

xkb从内核获取键码,为每个键码设置一个标签,并使用该标签和修饰键来决定应输出的键符。每个键都有一个分配给它的类型,该类型定义了期望的修饰键以及每种组合的输出。查看您得到的转储xkbcomp:标签在中定义xkb_keycodes,类型在中xkb_types,标签到键符号在中xkb_symbols其中xkb_symbols一个是您要编辑的,另两个是参考的,以了解要更改的内容。您也可以仅查看xkb_symbols并查找其当前工作方式,并根据需要进行修改。

xkb_types部分为键定义保留了不同的修饰符级别,您将需要一个具有altgr和shift模式的修饰符级别。例子:

type "FOUR_LEVEL_ALPHABETIC" {
    modifiers= Shift+Lock+LevelThree;
    map[Shift]= Level2;
    map[Lock]= Level2;
    map[LevelThree]= Level3;
    map[Shift+LevelThree]= Level4;
    map[Lock+LevelThree]= Level4;
    map[Shift+Lock+LevelThree]= Level3;
    level_name[Level1]= "Base";
    level_name[Level2]= "Shift";
    level_name[Level3]= "Alt Base";
    level_name[Level4]= "Shift Alt";
};

这意味着标记为的键FOUR_LEVEL_ALPHABETIC具有四种模式。正常,移位/大写,altgr,altgr-shift听起来像您要找的东西。

现在,如果您还不知道w的键码,则想知道它是什么。xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p'为您提供您按的键的键代码。grep在那里使输出更具可读性。

将您之前获得的密钥代码与xkb_keycodes转储映射部分中的内容进行交叉引用对我来说,w给出了键码25。less转储并找到了正确的键码<LABEL> = ##;,例如example <AD02> = 25;或者cat dump.xkb| grep ' = 25;'Label只是xkb在后面的部分中用来引用密钥的名称。

有了标签后,转到xkb_symbols将标签实际映射到键符的位置。格式是

key <AD02> {
        type= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [  w, W, aring, Aring ]
    };

type=是您在本xkb_types节中想要的类型symbols[Group1]=对于该类型所需的每种模式都有一个键符号。同样,这种类型的normal,shift / caps,altgr,shift-altgr也是如此。[Group1],据我所知,这是一种使用多个键映射的方法,您可以通过设置的锁定键即时更改。我自己不使用组,所以对我来说一切都是group1。

要找到您可以在此处使用的所有不同的键盘符号,请选中/usr/include/X11/keysymdef.h您要查找的两个符号分别ae是æ和AEÆ。

key <AD02> {
        type= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [  w, W, ae, AE ]
    };

我可能已经漫步了一下。在XKB上查看Arch Wiki的页面,无论您使用什么操作系统或发行版,它都是好东西。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章