// Marc.Shapiro@inria.fr 19-sep-1998 // modifications : Etienne Herlent june 2000 // adapted to the new input layer : // Martin Costabel 3-jan-2001 // This map is an almost-complete mapping of the standard French // MacIntosh keyboard under Xwindows. I tried to remain as faithful // as possible to the Mac meaning of each key. I did this entirely by // hand and by intuition, relying on the Clavier (Keyboard?) Desktop // Accessory for the Mac meaning of keys, and on reading keysymdef.h // to intuit the corresponding X names. Lacking proper documentation, // I may have made some mistakes. // Entries marked CHECK are particularly uncertain // Entries marked MISSING mark Mac characters for which I was unable // to find a corresponding keysym. (Some for sure don't: e.g. the // Apple mark and the oe/OE character; others I may have simply not // found.) xkb_symbols "extended" { name[Group1]= "FR-1"; key { [ Escape ] }; // Alphanumeric section key { [ at, numbersign ], [periodcentered, VoidSymbol ] }; // MISSING: Ydiaeresis key { [ KP_Enter ] }; key { [ ampersand, 1 ], [ VoidSymbol, dead_acute ] }; // MISSING: Apple key { [ eacute, 2 ], [ ediaeresis, Eacute ] }; key { [ quotedbl, 3 ], [ VoidSymbol, VoidSymbol ] }; // CHECK all quotemarks key { [ apostrophe, 4 ], [ VoidSymbol, VoidSymbol ] }; key { [ parenleft, 5 ], [ braceleft, bracketleft ] }; key { [ section, 6 ], // CHECK section [ paragraph, aring ] }; key { [ egrave, 7 ], [guillemotleft, guillemotright] }; key { [ exclam, 8 ], [ exclamdown, Ucircumflex ] }; key { [ ccedilla, 9 ], [ Ccedilla, Aacute ] }; key { [ agrave, 0 ], [ oslash, VoidSymbol ] }; // MISSING: Oslash key { [ parenright, degree ], [ braceright, bracketright ] }; key { [ minus, underscore ], [ emdash, endash ] }; // CHECK dashes key { [ BackSpace, VoidSymbol ], [ Delete, VoidSymbol ] }; key { [ Tab, ISO_Left_Tab ] }; key { [ a, A ], [ ae, AE ] }; key { [ z, Z ], [ Acircumflex, Aring ] }; key { [ e, E ], [ ecircumflex, Ecircumflex ] }; key { [ r, R ], [ registered, currency ] }; key { [ t, T ], [ VoidSymbol, VoidSymbol ] }; key { [ y, Y ], [ Uacute, VoidSymbol ] }; // MISSING: Ydiaeresis key { [ u, U ], [ VoidSymbol, ordfeminine ] }; // MISSING: ordmasculine? key { [ i, I ], [ icircumflex, idiaeresis ] }; key { [ o, O ], [ VoidSymbol, VoidSymbol ] }; // MISSING: oe, OE lacking in Latin1 key { [ p, P ], [ VoidSymbol, VoidSymbol ] }; key { [dead_circumflex,dead_diaeresis ], [ ocircumflex, Ocircumflex ] }; key { [ dollar, asterisk ], [ VoidSymbol, yen ] }; key { [ Caps_Lock ] }; key { [ q, Q ], [acircumflex, Agrave ] }; key { [ s, S ], [ Ograve, VoidSymbol ] }; key { [ d, D ], [VoidSymbol, VoidSymbol ] }; key { [ f, F ], [VoidSymbol, periodcentered ] }; // MISSING: oblong script f?? key { [ g, G ], [VoidSymbol, VoidSymbol ] }; // MISSING: kerned fi, fl key { [ h, H ], [ Igrave, Icircumflex ] }; key { [ j, J ], [Idiaeresis, Iacute ] }; key { [ k, K ], [ Egrave, Ediaeresis ] }; key { [ l, L ], [ notsign, bar ] }; key { [ m, M ], [ mu, Oacute ] }; key { [ ugrave, percent ], [ Ugrave, ucircumflex ] }; // MISSING: per-mille key { [ dead_grave, sterling ], [ at, numbersign ] }; key { [ Return ] }; key { [ less, greater ], [VoidSymbol, VoidSymbol ] }; key { [ w, W ], [VoidSymbol, VoidSymbol ] }; // MISSING: half-guillemot (single angle bracket) key { [ x, X ], [VoidSymbol, VoidSymbol ] }; // CHECK similarequal; MISSING: extra-slanted slash key { [ c, C ], [ copyright, cent ] }; key { [ v, V ], [ diamond, leftradical ] }; // CHECK diamond, leftradical key { [ b, B ], [ ssharp, VoidSymbol ] }; // CHECK: Greek_beta or ssharp?; MISSING: oblong script s key { [ n, N ], [ dead_tilde, asciitilde ] }; key { [ comma, question ], [VoidSymbol, questiondown ] }; key { [ semicolon, period ], [VoidSymbol, periodcentered ] }; key { [ colon, slash ], [ division, backslash ] }; key { [ equal, plus ], [VoidSymbol, plusminus ] }; key { [ space, space ], [nobreakspace, nobreakspace ] }; // End alphanumeric section // Begin modifier mappings key { [ Alt_L, Meta_L ] }; key { [ Shift_L ] }; key { [ Control_L ] }; key { [ Mode_switch ] }; key { [ Meta_R ] }; key { [ Shift_R ] }; key { [ Control_R ] }; key { [ script_switch ] }; // End modifier mappings // Begin "Function" section key { [ F1 ] }; key { [ F2 ] }; key { [ F3 ] }; key { [ F4 ] }; key { [ F5 ] }; key { [ F6 ] }; key { [ F7 ] }; key { [ F8 ] }; key { [ F9 ] }; key { [ F10 ] }; key { [ F11 ] }; key { [ F12 ] }; key { [ F13, Print ] }; key { [ F14, Scroll_Lock ] }; key { [ F15, Pause ] }; // End "Function" section // Begin "Editing" section key { [ Insert ] }; key { [ Home ] }; key { [ Prior ] }; key { [ Delete ] }; key { [ End ] }; key { [ Next ] }; key { [ Up ] }; key { [ Left ] }; key { [ Down ] }; key { [ Right ] }; // End "Editing" section // Begin "Keypad" section key { [ Clear ] }; key { [ KP_Equal ] }; key { [ KP_Divide ] }; key { [ KP_Multiply ] }; key { [ KP_7 ] }; key { [ KP_8 ] }; key { [ KP_9 ] }; key { [ KP_Subtract ] }; key { [ KP_4 ] }; key { [ KP_5 ] }; key { [ KP_6 ] }; key { [ KP_Add ] }; key { [ KP_1 ] }; key { [ KP_2 ] }; key { [ KP_3 ] }; key { [ KP_Enter ] }; key { [ KP_0 ] }; key { [ comma,KP_Decimal ] }; // End "Keypad" section // begin modifier mappings 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 Mod2 { Alt_L, Alt_R }; modifier_map Mod3 { Mode_switch }; // end modifier mappings };