![如何使用 XKB 配置小键盘按键?](https://linux22.com/image/19196/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20XKB%20%E9%85%8D%E7%BD%AE%E5%B0%8F%E9%94%AE%E7%9B%98%E6%8C%89%E9%94%AE%EF%BC%9F.png)
我还没弄清楚如何配置 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
其他信息来源:
- Arch Linux 维基:https://wiki.archlinux.org/index.php/X_keyboard_extension
- XKB 规范本身:https://www.x.org/releases/current/doc/kbproto/xkbproto.html
还有一些工具可以帮助生成布局配置,例如 kbdgen:https://divvun.github.io/kbdgen/