如何使用 XKB 配置小键盘按键?

如何使用 XKB 配置小键盘按键?

我还没弄清楚如何配置 XKB 来使用小键盘。我在“us”文件中找到了以下内容。

partial alphanumeric_keys modifier_keys 
xkb_symbols "basic" {

    name[Group1]= "USA";

    // Alphanumeric section
    key <TLDE> {    [     grave,    asciitilde  ]   };
    key <AE01> {    [     1,    exclam      ]   };
    key <AE02> {    [     2,    at      ]   };
    key <AE03> {    [     3,    numbersign  ]   };
    key <AE04> {    [     4,    dollar      ]   };
    key <AE05> {    [     5,    percent     ]   };
    key <AE06> {    [     6,    asciicircum ]   };
    key <AE07> {    [     7,    ampersand   ]   };
    key <AE08> {    [     8,    asterisk    ]   };
    key <AE09> {    [     9,    parenleft   ]   };
    key <AE10> {    [     0,    parenright  ]   };
    key <AE11> {    [     minus,    underscore  ]   };
    key <AE12> {    [     equal,    plus        ]   };

    key <AD01> {    [     q,    Q       ]   };
    key <AD02> {    [     w,    W       ]   };
    key <AD03> {    [     e,    E       ]   };
    key <AD04> {    [     r,    R       ]   };
    key <AD05> {    [     t,    T       ]   };
    key <AD06> {    [     y,    Y       ]   };
    key <AD07> {    [     u,    U       ]   };
    key <AD08> {    [     i,    I       ]   };
    key <AD09> {    [     o,    O       ]   };
    key <AD10> {    [     p,    P       ]   };
    key <AD11> {    [ bracketleft,  braceleft   ]   };
    key <AD12> {    [ bracketright, braceright  ]   };

    key <AC01> {    [     a,    A       ]   };
    key <AC02> {    [     s,    S       ]   };
    key <AC03> {    [     d,    D       ]   };
    key <AC04> {    [     f,    F       ]   };
    key <AC05> {    [     g,    G       ]   };
    key <AC06> {    [     h,    H       ]   };
    key <AC07> {    [     j,    J       ]   };
    key <AC08> {    [     k,    K       ]   };
    key <AC09> {    [     l,    L       ]   };
    key <AC10> {    [ semicolon,    colon       ]   };
    key <AC11> {    [ apostrophe,   quotedbl    ]   };

    key <AB01> {    [     z,    Z       ]   };
    key <AB02> {    [     x,    X       ]   };
    key <AB03> {    [     c,    C       ]   };
    key <AB04> {    [     v,    V       ]   };
    key <AB05> {    [     b,    B       ]   };
    key <AB06> {    [     n,    N       ]   };
    key <AB07> {    [     m,    M       ]   };
    key <AB08> {    [     comma,    less        ]   };
    key <AB09> {    [    period,    greater     ]   };
    key <AB10> {    [     slash,    question    ]   };

    key <BKSL> {    [ backslash,         bar    ]   };
    // End alphanumeric section
};

我被通知http://cgit.freedesktop.org/xkeyboard-config/tree/symbols/keypad,但我想知道是否有资源/手册可以理解它,以及如何修改它。

答案1

这些行应该这样读:

key <key_identifier> { [ Symbol(s)_actually_sent ] };

如果符号多个,则用逗号分隔;第一个是按 键时发送,第二个是按 时发送Shift,第三个是按 时发送AltGr,第四个是按AltGr+时发送Shift

小键盘按键的标识符以<KO.>;开头。方向键的名称为<KP.>;有些也有特定的名字。

如果您想重新定义其中一些键,则必须编写与上面类似的行。如果您只想启用它们,那么您很可能只需要加载现有的键盘定义。例如:(setxkbmap "us+keypad(x11)"您可以使用很多键盘定义,您可以查看文件/usr/share/X11/xkb/symbols/keypad)。

此外,选择正确的键盘模型/几何形状也应该自动启用它。

答案2

更新 iomartin 2012-04-27 的答案:该文档现在位于:https://www.charvolant.org/doug/xkb/html/node5.html

它是 Doug Palmer 所著的《XKB 配置不可靠指南》的一部分:https://www.charvolant.org/doug/xkb/html/xkb.html

另一篇介绍是 Michael Cardell Widerkrantz 的《Changing Keyboard Layouts with XKB》:https://hack.org/mc/writings/xkb.html

或者 Damiano Venturin 的“一个简单、简陋但全面的 Linux 版 XKB 指南”:https://medium.com/@damko/a-simple-humble-but-compressive-guide-to-xkb-for-linux-6f1ad5e13450

其他信息来源:

还有一些工具可以帮助生成布局配置,例如 kbdgen:https://divvun.github.io/kbdgen/

相关内容