> I must admit I'm not an expert in keycodes, but anyway, what I wrote
> works! ;-)
> Examining your proposition, it seems you can either use macintosh and
> macintosh/xx or macintosh_old and xx, respectively for XkbModel and
> XkbLayout. But you can't use macintosh_old and macintosh/xx it seems, as
> you reported.
Well, my experience is a different one. I've tested all 4 possibilities:
o XkbModel macintosh, XkbLayout de_CH:
I get a screwed up keyboard (as expected, because Mac keycodes are being
generated and then interpreted as Linux keycodes), and the X server doesn't
show any errors (in its console output, you have to "startx" manually from
runlevel 3 to see this).
o XkbModel macintosh, XkbLayout macintosh/de_CH
o XkbModel macintosh_old, XkbLayout macintosh/de_CH
(same behavior for both):
I get a semi-functional swiss german keyboard: plain and shifted special
characters work, but not option-ed. The X server says:
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Error: Can't find file "macintosh/macintosh/de_CH" for symbols include
> Exiting
> Abandoning symbols file "default"
I don't really understand this one. How does it know that I'm using a swiss
german keyboard if it can't find the file that should tell it so?
o XkbModel macintosh_old, XkbLayout de_CH:
Everything works, no error message from the X server.
Maybe we are talking about something different? I'm using Mac keycodes for
all examples; my XF86Config-4 keyboard section is as follows:
Section "InputDevice"
Identifier "Keyboard1"
Driver "Keyboard"
Option "AutoRepeat" "250 30"
Option "XkbRules" "xfree86"
Option "XkbModel" "macintosh_old"
Option "XkbLayout" "de_CH"
EndSection
and the relevant lines in xkb/rules/xfree86 are
! model = keycodes geometry
macintosh = xfree86 macintosh(macintosh)
macintosh_old = macintosh macintosh(macintosh)
! model layout = symbols
macintosh us = macintosh/us(extended)
macintosh en_US = macintosh/us(extended)
macintosh * = macintosh/us(extended)+macintosh/%l%(v)
macintosh_old us = macintosh/us(extended)
macintosh_old en_US = macintosh/us(extended)
macintosh_old * = macintosh/us(extended)+macintosh/%l%(v)
> Setting the XkbModel to macintosh for linux keycodes doesn't give
> exactly the same result as pc105, so i prefer pc105.
Of course. macintosh gives you a more Mac-like keyboard, and pc105 gives you
a more PC-like.