Benjamin Herrenschmidt wrote:
On Wed, 2005-02-16 at 17:28 +0100, Charles-Edouard Ruault wrote:
Hi All,
i've been struggling for a few days tying to have my keyboard mapped correctly on my PowerBook Alu G4.
I'm running debian sid with kernel 2.6.10 and KDE 3.3.2.
After looking on the web i found some info ( mostly the files located at http://www.linux-france.org/ftp/macintosh/kbd-mac-fr.tar.gz ).
I've applied these recepies but with no success. The keyboard is mostly ok but i'm missing some important keys:
{|}~[] the Euro sign and possibly more.
My XF86Config-4 section for the keyboard is as follows:
.../...
I've spent hours in xkb trying to get that right (I also have a french keyboard) and never got it 100%...
The problem is that you can't really have the "option/alt" key be both used for the |,{,},... combos, _and_ be the real Alt key. I mean, you sort-of can define it that way, but you end up with apps like emacs who will decide it's Alt and thus can't be used to compose symbols...
The problem is historically on how xlib apps interpret modifiers it seems.
The best I got for now was to map "command/apple" to Meta, alt to ISO_Level3_Shift (you may need a recent enough X for that, like X.org, I'm not sure 4.3 in debian knows about ISO_Level3_Shift) so I can get the combos, and Fn-Alt to Alt (which makes the console switch a bit awkward, but I need it a lot less often than I need to type |,{,},...)
Note that it's still broken with ... latest emacs (xemacs is fine), it seems a recent patch to emacs broke it (that is emacs suddenly decided that ISO_Level3_Shift/Mod4 would be another Meta key... grrr...)
Enclosed is my keymap (I use it with X.org CVS head)
Ben.
------------------------------------------------------------------------
// // Copyright (C) 2004, Benjamin Herrenschmidt <[EMAIL PROTECTED]> // // This xkb file describes the differences between a Macintosh US Extended // keymap and an French keyboard layout in the style of Mac OS(X).
partial default alphanumeric_keys xkb_symbols "basic" {
name[Group1]= "French";
include "srvr_ctrl(xfree86)"
// Alphanumeric section
key <LSGT> { [ less, greater ] };
key <TLDE> { [ at, numbersign, periodcentered ] };
key <AE01> { [ ampersand, 1, dead_acute, dead_acute ] };
key <AE02> { [ eacute, 2 ] };
key <AE03> { [ quotedbl, 3 ] };
key <AE04> { [ quoteright, 4, quoteleft ] };
key <AE05> { [ parenleft, 5, braceleft, bracketleft ] };
key <AE06> { [ section, 6, paragraph ] };
key <AE07> { [ egrave, 7, guillemotleft, guillemotright ] };
key <AE08> { [ exclam, 8, exclamdown, Ucircumflex ] };
key <AE09> { [ ccedilla, 9, Ccedilla, Aacute ] };
key <AE10> { [ agrave, 0, oslash, Ooblique ] };
key <AE11> { [ parenright, degree, braceright, bracketright ] };
key <AE12> { [ minus, underscore ] };
key <AD01> { [ a, A, ae, AE ] };
key <AD02> { [ z, Z, Acircumflex, Aring ] };
key <AD03> { [ e, E, ecircumflex, Ecircumflex ] };
key <AD04> { [ r, R, registered, currency ] };
key <AD05> { [ t, T ] };
key <AD06> { [ y, Y, Uacute, ydiaeresis ] };
key <AD07> { [ u, U ] };
key <AD08> { [ i, I, icircumflex, idiaeresis ] };
key <AD09> { [ o, O ] };
key <AD10> { [ p, P ] };
key <AD11> { [ dead_circumflex, dead_diaeresis, ocircumflex, Ocircumflex ] };
key <AD12> { [ dollar, asterisk, comma, yen ] };
key <BKSL> { [ dead_grave, sterling, at, numbersign ] };
key <AC01> { [ q, Q, acircumflex, Acircumflex ] };
key <AC02> { [ s, S, Ograve, S ] };
key <AC03> { [ d, D ] };
key <AC04> { [ f, F, f, periodcentered ] };
key <AC05> { [ g, G ] };
key <AC06> { [ h, H, Igrave, Icircumflex ] };
key <AC07> { [ j, J, Idiaeresis, Iacute ] };
key <AC08> { [ k, K, Egrave, Ediaeresis ] };
key <AC09> { [ l, L, ssharp, bar ] };
key <AC10> { [ m, M, mu, Oacute ] };
key <AC11> { [ ugrave, percent, Ugrave, ucircumflex ] };
key <RTRN> { [ Return, Return, hyphen, hyphen ] };
key <AB01> { [ w, W ] };
key <AB02> { [ x, X ] };
key <AB03> { [ c, C, copyright, copyright ] };
key <AB04> { [ v, V ] };
key <AB05> { [ b, B ] };
key <AB06> { [ n, N, dead_tilde ] };
key <AB07> { [ comma, question, at, questiondown ] };
key <AB08> { [ semicolon, period ] };
key <AB09> { [ colon, slash, division, backslash ] };
key <AB10> { [ equal, plus, macron, plusminus ] };
// End alphanumeric section key <KPDL> { [ KP_Separator, KP_Delete ] };
// Special keys and modifiers key <LFSH> { [ Shift_L ] }; key <RTSH> { [ Shift_R ] }; key <LCTL> { [ Control_L ] }; key <RCTL> { [ Control_R ] }; key <LALT> { [ ISO_Level3_Shift ] }; key <RALT> { [ Alt_R ] }; key <LWIN> { [ Meta_L ] }; key <RWIN> { [ Meta_R ] };
// And now to map those modifiers ...
modifier_map Shift { Shift_L , Shift_R };
modifier_map Lock { Caps_Lock };
modifier_map Control{ Control_L, Control_R };
modifier_map Mod1 { Meta_L, Meta_R };
modifier_map Mod3 { Alt_R };
modifier_map Mod4 { ISO_Level3_Shift };
modifier_map Mod2 { Num_Lock };
modifier_map Mod5 { Scroll_Lock };
//interpret Meta_L {
// action = SetMods(modifiers=Alt);
//};
// include "level3(alt_switch)"
};
Hi Benjamin, thanks for the reply, however i had no luck with your keymap either .... Still the same behaviour :(
-- Charles-Edouard Ruault Idtect SA 115 rue Reaumur - 75002, Paris, France Tel: +33-1-55-34-76-65 Fax: +33-1-55-34-76-75 Web: http://www.idtect.com
-- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

