// Marc.Shapiro@inria.fr 19-sep-1998
// modifications : Etienne Herlent <eherlent@linux-france.org> june 2000
// adapted to the new input layer :
//        Martin Costabel <costabel@wanadoo.fr> 3-jan-2001
// adapted for Latin9 alphabet (ISO-8859-15): 
//        Etienne Herlent <eherlent@linux-france.org> march 2005

// 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]= "France - Mac";

    // Alphanumeric section
    key <TLDE> {	[          at,     numbersign, periodcentered,  Ydiaeresis	]	}; // MISSING: Ydiaeresis; eherlent : ok in Latin9
    key <AE01> {	[   ampersand,    1,   VoidSymbol,    dead_acute	]	}; // MISSING: Apple
    key <AE02> {	[      eacute,    2,   ediaeresis,        Eacute	]	};
    key <AE03> {	[    quotedbl,    3,   VoidSymbol,    VoidSymbol	] 	}; // CHECK all quotemarks
    key <AE04> {	[  apostrophe,    4,   VoidSymbol,    VoidSymbol	] 	};
    key <AE05> {	[   parenleft,    5,    braceleft,   bracketleft	]	};
 // CHECK section
    key <AE06> {	[     section,    6,    paragraph,         aring	]	};
    key <AE07> {	[      egrave,    7, guillemotleft, guillemotright	]	};
    key <AE08> {	[      exclam,    8,   exclamdown,   Ucircumflex	]	};
    key <AE09> {	[    ccedilla,    9,     Ccedilla,        Aacute	]	};
    key <AE10> {	[      agrave,    0,       oslash,    VoidSymbol	]	}; // MISSING: Oslash
    key <AE11> {	[  parenright, degree, braceright,  bracketright	]	};
    key <AE12> {	[       minus, underscore, emdash,        endash	]	}; // CHECK dashes

    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,   VoidSymbol,  VoidSymbol	]	};
    key <AD06> {	[           y,  Y,       Uacute,  Ydiaeresis	]	}; // MISSING: Ydiaeresis; eherlent : ok in Latin9
    key <AD07> {	[           u,  U,   VoidSymbol, ordfeminine	]	}; // MISSING: ordmasculine?
    key <AD08> {	[           i,  I,  icircumflex,  idiaeresis	]	};
    key <AD09> {	[           o,  O,           oe,          OE      	]	}; // MISSING: oe, OE lacking in Latin1; eherlent ok in Latin9
    key <AD10> {	[           p,  P,   VoidSymbol,  VoidSymbol	]	};
    key <AD11> {	[dead_circumflex,dead_diaeresis, ocircumflex, Ocircumflex	]	};
    key <AD12> {	[      dollar, asterisk,   EuroSign, yen		]	}; // eherlent : EuroSign in Latin9

    key <AC01> {	[         q, Q, acircumflex,         Agrave		]	};
    key <AC02> {	[         s, S,      Ograve,     VoidSymbol	]	};
    key <AC03> {	[         d, D,  VoidSymbol,     VoidSymbol	]	};
    key <AC04> {	[         f, F,  VoidSymbol, periodcentered	]	}; // MISSING: oblong script f??
    key <AC05> {	[         g, G,  VoidSymbol,     VoidSymbol	]	}; // MISSING: kerned fi, fl
    key <AC06> {	[         h, H,      Igrave,    Icircumflex	]	};
    key <AC07> {	[         j, J,  Idiaeresis,         Iacute	]	};
    key <AC08> {	[         k, K,      Egrave,     Ediaeresis	]	};
    key <AC09> {	[         l, L,     notsign,            bar	]	};
    key <AC10> {	[         m, M,          mu,         Oacute	]	};
    key <AC11> {	[    ugrave,percent, Ugrave,    ucircumflex	]	}; // MISSING: per-mille
    key <BKSL> {	[ dead_grave, sterling,  at,     numbersign	]	};

    key <LSGT> {	[      less, greater, VoidSymbol, VoidSymbol	]	};
    key <AB01> {	[         w, W, VoidSymbol,   VoidSymbol	]	};	// MISSING: half-guillemot (single angle bracket)
    key <AB02> {	[         x, X, VoidSymbol,   VoidSymbol	]	}; // CHECK similarequal; MISSING: extra-slanted slash
    key <AB03> {	[         c, C,  copyright,         cent	]	};
    key <AB04> {	[         v, V,    diamond,  leftradical	]	}; // CHECK diamond, leftradical
    key <AB05> {	[         b, B,     ssharp,   VoidSymbol	]	}; // CHECK: Greek_beta or ssharp?; MISSING: oblong script s
    key <AB06> {	[         n, N,  dead_tilde,  asciitilde	]	};
    key <AB07> {	[     comma,  question, VoidSymbol,  questiondown	]	};
    key <AB08> {	[ semicolon,  period, VoidSymbol,  periodcentered	]	};
    key <AB09> {	[     colon,  slash,   division,        backslash	]	};
    key <AB10> {	[     equal,   plus, VoidSymbol,        plusminus	]	};

    key <SPCE> {	[     space,  space, nobreakspace,   nobreakspace	]	};
    // End alphanumeric section

    key <KPDL> {	[  comma,KP_Decimal	]	};

    include "level3(ralt_switch)"
};


