Andreas Tobler wrote:

My question, is there an active macintosh keyboard maintainer around?
I'd like to know how the right(tm) rules are to configure a macintosh de_CH map. I have written the one which is in xfree86 since 2000. Now I encountered some problems and want to help improving the situation.

My current configuration works with some 'hacks'. I first want to know if the seem ok or if I have to first understand the xkb logic correctly.

So far I got no response. And thus I don't know if the below is the right(tm) way?

Attached the de_CH which looks the same as the de_CH on OS-X. I took all the symbols I could find from OS-X and placed them under the according keysym.
I have also prepared other mac maps the same way.
Now, I got somehow confused as there seem to be a new layout at least for pc style keyboards.

I'd really welcome some thoughts about how to do it the right way. I volunteer to get the work done, but I'd like to do it only once.

Regards,
Andreas

P.S, I'd like to have a mac keymap and not only a pc keymap mapped onto a mac keyboard as a few linux people do.

// $XFree86$
//
// 03.01.2003
// Andreas Tobler <[EMAIL PROTECTED]>
// modified for Swiss German Apple Extended Keyboard II

partial alphanumeric_keys
xkb_symbols "extended" {
    
    name[Group1]= "Swiss German Apple Extended Keyboard II";

    // Alphanumeric section

    key <AE01> { [  1,                  plus                    ],
                 [  plusminus,          infinity                ]       };
    key <AE02> { [  2,                  quotedbl                ],
                 [leftdoublequotemark,  rightdoublequotemark    ]       };
    key <AE03> { [  3,                  asterisk                ],
                 [  numbersign,         0x01002039              ]       };
                                        // left angle
    key <AE04> { [  4,                  ccedilla                ],
                 [  Ccedilla,           slash                   ]       };
    key <AE05> { [  5,                  percent                 ],
                 [  bracketleft,        NoSymbol                ]       };
    key <AE06> { [  6,                  ampersand               ],
                 [  bracketright,       NoSymbol                ]       };
    key <AE07> { [  7,                  slash                   ],
                 [  bar,                backslash               ]       };
    key <AE08> { [  8,                  parenleft               ],
                 [  braceleft,          Ograve                  ]       };
    key <AE09> { [  9,                  parenright              ],
                 [  braceright,         Ocircumflex             ]       };
    key <AE10> { [  0,                  equal                   ],
                 [  notequal,           Uacute                  ]       };
    key <AE11> { [  apostrophe,         question                ],
                 [  questiondown,       NoSymbol                ]       };
    key <AE12> { [  dead_circumflex,    dead_grave              ],
                 [  dead_acute,         asciicircum             ]       };
    key <AD01> { [  q,                  Q                       ],
                 [  oe,                 OE                      ]       };
    key <AD02> { [  w,                  W                       ],
                 [  Greek_SIGMA,        Aacute                  ]       };
    key <AD03> { [  e,                  E                       ],
                 [  EuroSign,           Ediaeresis              ]       };
    key <AD04> { [  r,                  R                       ],
                 [  registered,         Egrave                  ]       };
    key <AD05> { [  t,                  T                       ],
                 [  dagger,             Icircumflex             ]       }; 
    key <AD06> { [  z,                  Z                       ],
                 [  Greek_OMEGA,        Iacute                  ]       };
    key <AD07> { [  u,                  U                       ],
                 [  degree,             Ugrave                  ]       };
    key <AD08> { [  i,                  I                       ],
                 [  exclamdown,         idotless                ]       };
    key <AD09> { [  o,                  O                       ],
                 [  oslash,             Ooblique                ]       };
    key <AD10> { [  p,                  P                       ],
                 [  Greek_pi,           Greek_PI                ]       };
    key <AD11> { [  udiaeresis,         egrave                  ],
                 [  section,            ydiaeresis              ]       };
    key <AD12> { [  dead_diaeresis,     exclam                  ],
                 [  grave,              apostrophe              ]       };
    key <AC01> { [  a,                  A                       ],
                 [  aring,              Aring                   ]       };
    key <AC02> { [  s,                  S                       ],
                 [  ssharp,             NoSymbol                ]       }; 
                                        // ligature fl
    key <AC03> { [  d,                  D                       ],
                 [  0x01002202,         NoSymbol                ]       };
                    // partial differential
    key <AC04> { [  f,                  F                       ],
                 [  function,           doubledagger            ]       };
    key <AC05> { [  g,                  G                       ],
                 [  at,                 comma                   ]       };
    key <AC06> { [  h,                  H                       ],
                 [  ordfeminine,        periodcentered          ]       };
    key <AC07> { [  j,                  J                       ],
                 [  masculine,          0x010002dc              ]       };
                                        // small tilde  
    key <AC08> { [  k,                  K                       ],
                 [  Greek_DELTA,        macron                  ]       };
    key <AC09> { [  l,                  L                       ],
                 [  notsign,            caret                   ]       };
    key <AC10> { [  odiaeresis,         eacute                  ],
                 [  cent,               breve                   ]       };
    key <AC11> { [  adiaeresis,         agrave                  ],
                 [  ae,                 AE                      ]       };
    key <AB01> { [  y,                  Y                       ],
                 [  yen,                Ydiaeresis              ]       };
    key <AB02> { [  x,                  X                       ],
                 [  0x01002248,         trademark               ]       };
                    // almost equal
    key <AB03> { [  c,                  C                       ],
                 [  copyright,          NoSymbol                ]       };
    key <AB04> { [  v,                  V                       ],
                 [  radical,            diamond                 ]       };
    key <AB05> { [  b,                  B                       ],
                 [  integral,           NoSymbol                ]       };  
    key <AB06> { [  n,                  N                       ],
                 [  dead_tilde,         0x010002d9              ]       };
                                        // dot above
    key <AB07> { [  m,                  M                       ],
                 [  mu,                 0x010002da              ]       };
                                        // ring above
    key <AB08> { [  comma,              semicolon               ],
                 [  guillemotleft,      guillemotright          ]       };
    key <AB09> { [  period,             colon                   ],
                 [  ellipsis,           division                ]       };
    key <AB10> { [  minus,              underscore              ],
                 [  hyphen,             emdash                  ]       };
    key <TLDE> { [  section,            degree                  ],
                 [  NoSymbol,           0x01002030              ]       };
                    // ligature fi      // per mille
    key <SPCE> { [  space                                       ],
                 [  nobreakspace,       nobreakspace            ]       };
    key <LSGT> { [  less,               greater                 ],
                 [  lessthanequal,      greaterthanequal        ]       };
    key <BKSL> { [  dollar,             sterling                ],
                 [  paragraph,          enfilledcircbullet      ]       };

    // End alphanumeric section
    
    key <KPDL> { [  KP_Separator ,      KP_Delete               ]       };

};

partial alphanumeric_keys
xkb_symbols "nodeadkeys" {
    include "macintosh/de_CH"
};

Reply via email to