我的 Debian Linux (/etc/debian_version == 7.8) 盒子上有一个 Sun Type7 键盘,而且,因为它看起来很像我尝试过的 Sun type6:
$ (setxkbmap -model sun6 -layout us -geometry 'sun(type6)' -v 10 ; setxkbmap -print) |sed 's/^/ /'
Setting verbose level to 10
locale is C
Warning! Multiple definitions of keyboard model
Using command line, ignoring X server
Warning! Multiple definitions of keyboard layout
Using command line, ignoring X server
Trying to load rules file ./rules/evdev...
Success.
Warning! Multiple definitions of geometry
Using command line, ignoring rules file
Applied rules from evdev:
rules: evdev
model: sun6
layout: us
Trying to build keymap using the following components:
keycodes: evdev+aliases(qwerty)
types: complete
compat: complete
symbols: pc+sun_vndr/us(type6)+inet(evdev)
geometry: sun(type6)
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+sun_vndr/us(type6)+inet(evdev)" };
xkb_geometry { include "pc(pc104)" };
};
请注意,输出的第一位看起来像是尝试将几何图形设置为“sun:type6”,但报告的 xkb_geometry 最终为“pc(pc104)”
我的 /usr/share/X11/xkp/geometry/sun 文件中似乎定义了 type6 几何图形,但后续的“setxkbmap -print”似乎对我尝试过的“-geometry xxxx”选项不敏感(其中 xxxx在 pc101、pc104 中)。
如何配置“setxkbmap -geometry”选项,以便:
xkbprint :0 - |ps2pdf - > sun6.pdf # try to make use of the xkb_geometry
...会显示 Sun 6 型键盘的图片吗?
编辑将 sun:type6 更改为 sun(type6):选项的格式似乎是 /usr/share/X11/xkb/ 中的“文件(条目)”选项名称/ 目录。
答案1
根据上面 don_crissti 的评论,我最终编辑了 /usr/share/X11/xkb/rules/evdev 以在该!model = geometry
部分下包含这些行:
!model = geometry
...
sun6 = sun(type6)
sun5 = sun(type5)
sun4 = sun(type4)
这http://anti.teamidiot.de/nei/2010/06/sun_unix_keyboard_linux_gnome/也是了解这些文件用途的良好资源。
我当前的设置如下,每个 xkb_(WHAT) 行都可以通过在适当的 /usr/share/X11/xkb/(WHAT) 目录中查找 RHS 上的文件来解释。
$ setxkbmap -print
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+sun_vndr/us(type6)+inet(evdev)+ctrl(nocaps)" };
xkb_geometry { include "sun(type6)" };
};
$
以下命令将 xkb/geometry 设置为 /usr/share/X11/xkb/geometry/sun 文件中定义为“type6”的条目:
setxkbmap -geometry 'sun(type6)'
如果在设置选项时使用 -print 选项,它只会回显给定的选项,不会报告最终的配置。不做setxbkmap -print
其他选项来查看设置的内容。