Skip to content

Instantly share code, notes, and snippets.

@bermanmaxim
Created May 31, 2015 15:31
Show Gist options
  • Save bermanmaxim/74c2c540e2b901d450ed to your computer and use it in GitHub Desktop.
Save bermanmaxim/74c2c540e2b901d450ed to your computer and use it in GitHub Desktop.
Logitech K760 French keyboard layout for XKB configuration file
// Maxim : copied from macintosh_vndr/fr and modified to suit Logitech K760 french keyboard layout
// put in /usr/share/X11/xkb/symbols/fr
// select with setxkbmap -device 14 -layout fr -variant ipad
// 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.)
partial alphanumeric_keys
xkb_symbols "ipad" {
name[Group1]= "French (iPad)";
key <LSGT> { [ 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 <TLDE> { [ less, greater, VoidSymbol, VoidSymbol ] }; // EXCHANGED
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 ] };
key <KPDL> { [ comma,KP_Decimal ] };
include "level3(ralt_switch)"
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment