> 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.


Reply via email to