I have a Sun Type7 keyboard on my Debian Linux (/etc/debian_version == 7.8) box, and, since it appears to be much like the Sun type6 I attempted:
$ (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)" };
};
Note that the first bit of output looks like it tries to set the geometry to 'sun:type6', but that the reported xkb_geometry ends up as 'pc(pc104)'
There does appear to be a type6 geometry defined in my /usr/share/X11/xkp/geometry/sun file, but the subsequent 'setxkbmap -print' seems insensitive to the '-geometry xxxx' options I've tried (where xxxx in pc101, pc104 ).
How does one configure the 'setxkbmap -geometry' option so that something like:
xkbprint :0 - |ps2pdf - > sun6.pdf # try to make use of the xkb_geometry
... would display a picture of the Sun type 6 keyboard?
Edited to change sun:type6 to sun(type6): The format of the options seems to be 'file(entry)' within the /usr/share/X11/xkb/option_name/ directory.
model
. As per/usr/share/X11/xkb/rules/base
onlysun_type6_usb = sun(type6)
is defined; if you scroll down you'll see that all undefined models are mapped to pc104:* = pc(pc104)
. If you want to usesun6
as a model you'll have to define it. Otherwise just runsetxkbmap -rules 'xorg' -model 'sun_type6_usb' -layout us -geometry 'sun(type6)' -v 10
. Let me know if it works for you (works fine here but I'm not on Debian).! model variant = geometry
lines aren't comments, they are actual parser directions, which makes things much more clear.