如何使用 setxkbmap -geometry 选项?

如何使用 setxkbmap -geometry 选项?

我的 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其他选项来查看设置的内容。

相关内容