diff -uNr xkeyboard-config-0.8.orig/docs/README.enhancing xkeyboard-config-0.8/docs/README.enhancing
--- xkeyboard-config-0.8.orig/docs/README.enhancing 2005-09-21 23:29:24.000000000 +0200
+++ xkeyboard-config-0.8/docs/README.enhancing 2006-09-15 19:49:03.000000000 +0200
@@ -293,6 +293,19 @@
Lock+LevelThree modifiers apply the symbol from the third level
is taken. This also, shift-cancels-caps variant.
+ FOUR_LEVEL_MIXED_KEYPAD
+ A four-level keypad scheme where the first two levels are
+ controled by NumLock, with LevelThree overriding them and adding
+ two Shift-ed levels
+ Intended for the digit area of the keypad
+
+ FOUR_LEVEL_X
+ A four-level scheme where the base level accepts no modifier,
+ LevelThree provides two more Shift-ed levels like in the previous
+ scheme, and Ctrl+Alt controls the fourth level
+ Intended for the operator part of a keypad, though since NumLock
+ plays no part, it is not keypad-specific
+
Besides that, there are several schemes for special purposes:
PC_BREAK
diff -uNr xkeyboard-config-0.8.orig/po/fr.po xkeyboard-config-0.8/po/fr.po
--- xkeyboard-config-0.8.orig/po/fr.po 2006-03-04 18:41:23.000000000 +0100
+++ xkeyboard-config-0.8/po/fr.po 2006-09-15 19:49:03.000000000 +0200
@@ -179,6 +179,9 @@
msgid "Alternative"
msgstr "Autre"
+msgid "Alternative with unicode additions"
+msgstr "Autre, avec des suppléments unicode"
+
#: ../rules/base.xml.in.h:41
msgid "Alternative international (former us_intl)"
msgstr "International (auparavant us_intl)"
diff -uNr xkeyboard-config-0.8.orig/rules/base xkeyboard-config-0.8/rules/base
--- xkeyboard-config-0.8.orig/rules/base 2006-02-28 00:14:28.000000000 +0100
+++ xkeyboard-config-0.8/rules/base 2006-09-15 19:49:03.000000000 +0200
@@ -251,6 +251,8 @@
* yu = pc(pc105)+srp
$pcmodels fr-latin9 = pc(%m)+fr(latin9)
* fr-latin9 = pc(pc105)+fr(latin9)
+ $pcmodels fr-unicode = pc(%m)+fr(unicode)
+ * fr-unicode = pc(pc105)+fr(unicode)
$pcmodels us_intl = pc(%m)+us(alt-intl)
* us_intl = pc(pc105)+us(alt-intl)
$pcmodels ben(basic) = pc(%m)+in(ben)
@@ -409,6 +411,8 @@
* yu = pc(pc105)+srp%(v[1])
$pcmodels fr-latin9 = pc(%m)+fr(latin9)%(v[1])
* fr-latin9 = pc(pc105)+fr(latin9)%(v[1])
+ $pcmodels fr-unicode = pc(%m)+fr(unicode)%(v[1])
+ * fr-unicode = pc(pc105)+fr(unicode)%(v[1])
$pcmodels us_intl = pc(%m)+us(alt-intl)%(v[1])
* us_intl = pc(pc105)+us(alt-intl)%(v[1])
$pcmodels ben(basic) = pc(%m)+in(ben)
@@ -610,6 +614,7 @@
tml = +in(tam)%(v[2]):2
yu = +srp%(v[2]):2
fr-latin9 = +fr(latin9)%(v[2]):2
+ fr-unicode = +fr(unicode)%(v[2]):2
us_intl = +us(alt-intl)%(v[2]):2
ben(basic) = +in(ben):2
ben(probhat) = +in(ben_probhat):2
@@ -679,6 +684,7 @@
tml = +in(tam)%(v[3]):3
yu = +srp%(v[3]):3
fr-latin9 = +fr(latin9)%(v[3]):3
+ fr-unicode = +fr(unicode)%(v[3]):3
us_intl = +us(alt-intl)%(v[3]):3
ben(basic) = +in(ben):3
ben(probhat) = +in(ben_probhat):3
@@ -748,6 +754,7 @@
tml = +in(tam)%(v[4]):4
yu = +srp%(v[4]):4
fr-latin9 = +fr(latin9)%(v[4]):4
+ fr-unicode = +fr(unicode)%(v[4]):4
us_intl = +us(alt-intl)%(v[4]):4
ben(basic) = +in(ben):4
ben(probhat) = +in(ben_probhat):4
diff -uNr xkeyboard-config-0.8.orig/rules/base.lst xkeyboard-config-0.8/rules/base.lst
--- xkeyboard-config-0.8.orig/rules/base.lst 2006-03-04 18:45:00.000000000 +0100
+++ xkeyboard-config-0.8/rules/base.lst 2006-09-15 19:49:03.000000000 +0200
@@ -260,6 +260,7 @@
latin9 fr: Alternative
latin9_nodeadkeys fr: Alternative, eliminate dead keys
latin9_sundeadkeys fr: Alternative, Sun dead keys
+ unicode fr:Alternative with unicode additions
dvorak fr: Dvorak
generic gh: Multilingual
akan gh: Akan
diff -uNr xkeyboard-config-0.8.orig/rules/base.xml.in xkeyboard-config-0.8/rules/base.xml.in
--- xkeyboard-config-0.8.orig/rules/base.xml.in 2006-02-26 17:12:33.000000000 +0100
+++ xkeyboard-config-0.8/rules/base.xml.in 2006-09-15 19:49:03.000000000 +0200
@@ -1331,6 +1331,12 @@
+ unicode
+ <_description>Alternative with unicode additions
+
+
+
+
latin9_nodeadkeys
<_description>Alternative, eliminate dead keys
diff -uNr xkeyboard-config-0.8.orig/symbols/fr xkeyboard-config-0.8/symbols/fr
--- xkeyboard-config-0.8.orig/symbols/fr 2005-09-28 00:15:11.000000000 +0200
+++ xkeyboard-config-0.8/symbols/fr 2006-09-16 01:24:26.000000000 +0200
@@ -83,9 +83,9 @@
// Historic Linux French keyboard layout (fr-latin9)
// Copyright (c) 199x, 2002 Rene Cougnenc (original work)
-// Guylhem Aznar (maintainer)
+// Guylhem Aznar
// Nicolas Mailhot
-// (XFree86 submission)
+// (active maintainer))
//
// $XFree86: xc/programs/xkbcomp/symbols/fr-latin9,v 1.1 2002/12/20 02:07:11 dawes Exp $
//
@@ -107,45 +107,45 @@
// (If you can't read it you probably have no business changing this file anyway:)
//
// Les accents circonflexes des principales voyelles sont obtenus avec
-// la touche Alt_Gr, les trémas sont obtenus par Alt_Gr + Shift.
+// la touche Alt_Gr, les trémas sont obtenus par Alt_Gr + Shift.
//
// ____ _________ _____________ _______
-// | S A| S = Shift, A = AltGr + Shift | Imprime | Arrêt défil | Pause |
+// | S A| S = Shift, A = AltGr + Shift | Imprime | Arrêt défil | Pause |
// | s a| s = normal, a = AltGr | Exec | | Halte |
-// ¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯
+// ¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯
// ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______
-// | ½ "| 1 ·| 2 É| 3 ,| 4 '| 5 "| 6 || 7 È| 8 ¯| 9 Ç| 0 À| ° ÿ| + °| <-- |
-// | ¼ "| & '| é ~| " #| ' {| ( [| - || è `| _ \| ç ^| à @| ) ]| = }| |
+// | œ "| 1 ·| 2 É| 3 ,| 4 '| 5 "| 6 || 7 È| 8 ¯| 9 Ç| 0 À| ° ÿ| + °| <-- |
+// | Œ "| & '| é ~| " #| ' {| ( [| - || è `| _ \| ç ^| à @| ) ]| = }| |
// ========================================================================
-// | |<- | A ä| Z Å| E ¢| R Ç| T Þ| Y Ý| U ü| I ï| O ö| P '| " `| $ ë| , |
-// | ->| | a â| z å| e ¤| r ç| t þ| y ý| u û| i î| o ô| p ¶| ^ ~| £ ê| <-' |
-// ===================================================================¬ |
-// | | Q Ä| S Ø| D Ë| F ª| G Æ| H Ð| J Ü| K Ï| L Ö| M º| % Ù| µ ¥| |
-// | MAJ | q Â| s ø| d Ê| f ±| g æ| h ð| j Û| k Î| l Ô| m ¹| ù ²| * ³| |
+// | |<- | A ä| Z Ã…| E ¢| R Ç| T Þ| Y Ã| U ü| I ï| O ö| P '| " `| $ ë| , |
+// | ->| | a â| z å| e €| r ç| t þ| y ý| u û| i î| o ô| p ¶| ^ ~| £ ê| <-' |
+// ===================================================================¬ |
+// | | Q Ä| S Ø| D Ë| F ª| G Æ| H Ã| J Ãœ| K Ã| L Ö| M º| % Ù| µ Â¥| |
+// | MAJ | q Â| s ø| d Ê| f ±| g æ| h ð| j Û| k Î| l Ô| m ¹| ù ²| * ³| |
// ========================================================================
-// | ^ | > | W | X | C | V | B | N | ? | . | / | § | ^ |
-// | | | < || w «| x »| c ©| v ®| b ß| n ¬| , ¿| ; ×| : ÷| ! ¡| | |
+// | ^ | > | W | X | C | V | B | N | ? | . | / | § | ^ |
+// | | | < || w «| x »| c ©| v ®| b ß| n ¬| , ¿| ; ×| : ÷| ! ¡| | |
// ========================================================================
// | | | | | | | | |
// | Ctrl | Meta | Alt | Space Nobreakspace | AltGr | Multi|Menu | Ctrl |
-// ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯ ¯¯¯¯¯¯
+// ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯ ¯¯¯¯¯¯
//
//
// Si les touches mortes fonctionnent, utiliser les accents dits
-// « morts », i.e. fonctionnant comme l'accent circonflexe & le
-// tréma des machines à écrire ; sont disponibles :
+// « morts », i.e. fonctionnant comme l'accent circonflexe & le
+// tréma des machines à écrire ; sont disponibles :
//
// (^) : accent circonflexe,
-// Shift+(^) : tréma,
+// Shift+(^) : tréma,
// Shift+AltGr (^) : tilde,
// AltGr (1) : accent aigu,
// AltGr (7) : accent grave
//
-// Pour s'en servir, procéder comme avec l'accent circonflexe & le tréma
-// sur les vielles machines à écrire :
+// Pour s'en servir, procéder comme avec l'accent circonflexe & le tréma
+// sur les vielles machines à écrire :
//
-// AltGr (1) puis e : é
-// Shift+AltGr (1) puis e : É ...
+// AltGr (1) puis e : é
+// Shift+AltGr (1) puis e : É ...
partial alphanumeric_keys
@@ -216,6 +216,88 @@
include "level3(ralt_switch)"
};
+
+// Unicode derivative of the historic Linux French keyboard layout
+// Copyright © 2006 Nicolas Mailhot
+//
+// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲â”â”â”â”â”â”â”â”┓
+// │ Œ Ŭ │ 1 ´ │ 2 É │ 3 ¸ │ 4 ’ │ 5 ¨ │ 6 ¦ │ 7 È │ 8 ¯ │ 9 Ç │ 0 À │ ° ÿ │ + ˚ ┃↠Retour┃
+// │ œ Š│ & ´ │ é ~ │ " # │ ' { │ ( [ │ - | │ è ` │ _ \ │ ç ^ │ à @ │ ) ] │ = } ┃arrière ┃
+// ┢â”â”â”â”â”â”·â”┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺â”┳â”â”â”â”â”â”┫
+// ┃ ┃ A Â │ Z Å │ E ¢ │ R Ç │ T Þ │ Y à │ U Û │ I Î │ O Ô │ P ` │ ¨ ' │ £ Ê ┃Entrée┃
+// ┃Tab ↹ ┃ a â │ z å │ e € │ r ç │ t þ │ y ý │ u û │ i î │ o ô │ p ¶ │ ^ ~ │ $ ê ┃ ↵ ┃
+// ┣â”â”â”â”â”â”â”┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃
+// ┃ ┃ Q Ä │ S Ø │ D Ë │ F ª │ G Æ │ H à │ J Ü │ K à │ L Ö │ M º │ % Ù │ µ ¥ ┃ ┃
+// ┃Maj ⇬ ┃ q ä │ s ø │ d ë │ f ± │ g æ │ h ð │ j ü │ k ï │ l ö │ m ¹ │ ù ² │ * ³ ┃ ┃
+// ┣â”â”â”â”â”â”â”┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷â”â”â”â”â”â”»â”â”â”â”â”┫
+// ┃ ┃ > ≥ │ W “ │ X †│ C ™ │ V │ B – │ N — │ ? … │ . . │ / ∕ │ § − ┃ ┃
+// ┃Shift ⇧┃ < ≤ │ w « │ x » │ c © │ v ® │ b ß │ n ¬ │ , ¿ │ ; × │ : ÷ │ ! ¡ ┃Shift ⇧ ┃
+// ┣â”â”â”â”â”â”â”â•‹â”â”â”â”â”┷┳â”â”â”â”â”·â”┱───┴─────┴─────┴─────┴─────┴─────┴────┲┷â”â”â”â”â”╈â”â”â”â”â”┻┳â”â”â”â”â”â”┳â”â”â”â”â”›
+// ┃ ┃ ┃ ┃ Espace insécable┃ ┃ ┃ ┃
+// ┃Ctrl ┃Meta ┃Alt ┃Espace ┃AltGr⇮┃Menu ┃Ctrl ┃
+// â”—â”â”â”â”â”â”â”â”»â”â”â”â”â”â”â”»â”â”â”â”â”â”┹──────────────────────────────────────┺â”â”â”â”â”â”â”»â”â”â”â”â”â”â”»â”â”â”â”â”â”â”›
+
+partial alphanumeric_keys
+xkb_symbols "unicode" {
+
+ include "fr(latin9)"
+
+ name[Group1]="France - Alternative with unicode additions";
+
+ // Replace doublequotemarks with ubreve
+ key { [ oe, OE, ubreve, Ubreve ] }; // œ Œ ŠŬ
+
+ // Move acute and remove periodcentered
+ key { [ ampersand, 1, dead_acute, acute ] }; // & 1 ´ ´
+
+ // Add correct unicode typographical apostrophe
+ key { [ apostrophe, 4, braceleft, rightsinglequotemark ] }; // ' 4 { ’
+
+ // Group accented letters with the corresponding accented caps
+ key { [ a, A, acircumflex, Acircumflex ] }; // a A â Â
+ key { [ u, U, ucircumflex, Ucircumflex ] }; // u U û Û
+ key { [ i, I, icircumflex, Icircumflex ] }; // i I î Î
+ key { [ o, O, ocircumflex, Ocircumflex ] }; // o O ô Ô
+ key { [ dollar, sterling, ecircumflex, Ecircumflex ] }; // $ £ ê Ê
+
+ key { [ q, Q, adiaeresis, Adiaeresis ] }; // q Q ä Ä
+ key { [ j, J, udiaeresis, Udiaeresis ] }; // j J ü Ü
+ key { [ k, K, idiaeresis, Idiaeresis ] }; // k K ï Ã
+ key { [ l, L, odiaeresis, Odiaeresis ] }; // l L ö Ö
+ key { [ d, D, ediaeresis, Ediaeresis ] }; // d D ë Ë
+
+ // Move doublequotemarks
+ key { [ w, W, guillemotleft, leftdoublequotemark ] }; // w W « “
+ key { [ x, X, guillemotright, rightdoublequotemark ] }; // x X » â€
+
+ // add trademark access
+ key { [ c, C, copyright, trademark ] }; // c C © ™
+
+ // add typographical dashes, ellipsis and narrow no-break space
+ key { [ v, V, registered, 0x100202F ] }; // v V ® "narrow no-break space"
+ key { [ b, B, ssharp, 0x1002013 ] }; // b B ß –
+ key { [ n, N, notsign, 0x1002014 ] }; // n N ¬ —
+ key { [ comma, question, questiondown, 0x1002026 ] }; // , ? ¿ …
+
+ // Add more math operators
+ key { [ semicolon, period, multiply, 0x10022C5 ] }; // ; . × ⋅
+ key { [ colon, slash, division, 0x1002215 ] }; // : / ÷ ¿
+ key { [ exclam, section, exclamdown, 0x1002212 ] }; // ! § ¡ ¿
+
+
+ // Add brokenbar access
+ key { [ less, greater, lessthanequal, greaterthanequal ] }; // < > ¿ ¿
+
+ // Make nobreakspace harder to hit
+ key { [ space, space, space, nobreakspace ] };
+
+ // Add math operators and arrows to the keypad
+ include "keypad(unimath)"
+ include "keypad(uniarrows)"
+};
+
+
+
partial alphanumeric_keys
xkb_symbols "latin9_Sundeadkeys" {
@@ -252,7 +334,7 @@
key { [ asciicircum, diaeresis, asciitilde, quoteright ] };
};
-// Keymap Dvorak pour le Français
+// Keymap Dvorak pour le Français
// par Josselin Mouette .
partial alphanumeric_keys
diff -uNr xkeyboard-config-0.8.orig/symbols/fr~ xkeyboard-config-0.8/symbols/fr~
--- xkeyboard-config-0.8.orig/symbols/fr~ 1970-01-01 01:00:00.000000000 +0100
+++ xkeyboard-config-0.8/symbols/fr~ 2006-09-16 01:24:21.000000000 +0200
@@ -0,0 +1,401 @@
+// $XKeyboardConfig: xkbdesc/symbols/fr,v 1.8 2005/01/16 02:18:20 svu Exp $
+
+// based on a keyboard map from an 'xkb/symbols/fr' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/fr,v 1.2 2002/11/22 04:03:28 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "latin"
+
+ name[Group1]="France";
+
+ key { [ ampersand, 1, onesuperior, exclamdown ] };
+ key { [ eacute, 2, asciitilde, oneeighth ] };
+ key { [ quotedbl, 3, numbersign, sterling ] };
+ key { [apostrophe, 4, braceleft, dollar ] };
+ key { [ parenleft, 5, bracketleft, threeeighths ] };
+ key { [ minus, 6, bar, fiveeighths ] };
+ key { [ egrave, 7, grave, seveneighths ] };
+ key { [underscore, 8, backslash, trademark ] };
+ key { [ ccedilla, 9, asciicircum, plusminus ] };
+ key { [ agrave, 0, at, degree ] };
+ key { [parenright, degree, bracketright, questiondown ] };
+ key { [ equal, plus, braceright, dead_ogonek ] };
+
+ key { [ a, A, ae, AE ] };
+ key { [ z, Z, guillemotleft, less ] };
+ key { [ e, E, EuroSign, cent ] };
+ key { [dead_circumflex, dead_diaeresis, dead_diaeresis, dead_abovering ] };
+ key { [ dollar, sterling, currency, dead_macron ] };
+
+ key { [ q, Q, at, Greek_OMEGA ] };
+ key { [ m, M, mu, masculine ] };
+ key { [ ugrave, percent, dead_circumflex, dead_caron] };
+ key { [twosuperior, asciitilde, notsign, notsign ] };
+
+ key { [ asterisk, mu, dead_grave, dead_breve ] };
+ key { [ w, W, lstroke, Lstroke ] };
+ key { [ comma, question, dead_acute, dead_doubleacute ] };
+ key { [ semicolon, period, horizconnector, multiply ] };
+ key { [ colon, slash, periodcentered, division ] };
+ key { [ exclam, section, dead_belowdot, dead_abovedot ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+
+ // Modifies the basic French layout to use the Sun dead keys
+
+ include "fr(basic)"
+
+ key { [SunFA_Circum, SunFA_Diaeresis ] };
+ key { [comma, question, SunFA_Acute, dead_doubleacute ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "fr(Sundeadkeys)"
+
+ name[Group1]="France - Sun dead keys";
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ // Modifies the basic French layout to eliminate all dead keys
+
+ include "fr(basic)"
+
+ name[Group1]="France - Eliminate dead keys";
+
+ key { [ equal, plus, braceright, ogonek ] };
+ key { [asciicircum, diaeresis ] };
+ key { [ dollar, sterling, currency, macron ] };
+ key { [ ugrave, percent, asciicircum, caron ] };
+ key { [ asterisk, mu, grave, breve ] };
+ key { [ comma, question, acute, doubleacute ] };
+ key { [ exclam, section, dead_belowdot, abovedot ] };
+};
+
+// Historic Linux French keyboard layout (fr-latin9)
+// Copyright (c) 199x, 2002 Rene Cougnenc (original work)
+// Guylhem Aznar
+// Nicolas Mailhot
+// (active maintainer))
+//
+// $XFree86: xc/programs/xkbcomp/symbols/fr-latin9,v 1.1 2002/12/20 02:07:11 dawes Exp $
+//
+// This layout has long been distributed and refined outside official channels.
+// To this day it remains more feature-rich and popular than the 'fr' layout.
+//
+// This file is derived from an original version by Guylhem Aznar. The
+// original version is always available from:
+// http://en.tldp.org/HOWTO/Francophones-HOWTO.html
+// and is distributed under a GPL license.
+//
+// The author has given permission for this derived version to be distributed
+// under the standard XFree86 license. He would like all changes to this
+// version be send to him at so he can sync the
+// identically named linux console map (kbd, linux-console) and this
+// fileout-of-tree GPL version.
+//
+// Now follows the keyboard design description in French.
+// (If you can't read it you probably have no business changing this file anyway:)
+//
+// Les accents circonflexes des principales voyelles sont obtenus avec
+// la touche Alt_Gr, les trémas sont obtenus par Alt_Gr + Shift.
+//
+// ____ _________ _____________ _______
+// | S A| S = Shift, A = AltGr + Shift | Imprime | Arrêt défil | Pause |
+// | s a| s = normal, a = AltGr | Exec | | Halte |
+// ¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯
+// ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______
+// | œ "| 1 ·| 2 É| 3 ,| 4 '| 5 "| 6 || 7 È| 8 ¯| 9 Ç| 0 À| ° ÿ| + °| <-- |
+// | Œ "| & '| é ~| " #| ' {| ( [| - || è `| _ \| ç ^| à @| ) ]| = }| |
+// ========================================================================
+// | |<- | A ä| Z Ã…| E ¢| R Ç| T Þ| Y Ã| U ü| I ï| O ö| P '| " `| $ ë| , |
+// | ->| | a â| z å| e €| r ç| t þ| y ý| u û| i î| o ô| p ¶| ^ ~| £ ê| <-' |
+// ===================================================================¬ |
+// | | Q Ä| S Ø| D Ë| F ª| G Æ| H Ã| J Ãœ| K Ã| L Ö| M º| % Ù| µ Â¥| |
+// | MAJ | q Â| s ø| d Ê| f ±| g æ| h ð| j Û| k Î| l Ô| m ¹| ù ²| * ³| |
+// ========================================================================
+// | ^ | > | W | X | C | V | B | N | ? | . | / | § | ^ |
+// | | | < || w «| x »| c ©| v ®| b ß| n ¬| , ¿| ; ×| : ÷| ! ¡| | |
+// ========================================================================
+// | | | | | | | | |
+// | Ctrl | Meta | Alt | Space Nobreakspace | AltGr | Multi|Menu | Ctrl |
+// ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯ ¯¯¯¯¯¯
+//
+//
+// Si les touches mortes fonctionnent, utiliser les accents dits
+// « morts », i.e. fonctionnant comme l'accent circonflexe & le
+// tréma des machines à écrire ; sont disponibles :
+//
+// (^) : accent circonflexe,
+// Shift+(^) : tréma,
+// Shift+AltGr (^) : tilde,
+// AltGr (1) : accent aigu,
+// AltGr (7) : accent grave
+//
+// Pour s'en servir, procéder comme avec l'accent circonflexe & le tréma
+// sur les vielles machines à écrire :
+//
+// AltGr (1) puis e : é
+// Shift+AltGr (1) puis e : É ...
+
+partial alphanumeric_keys
+
+xkb_symbols "latin9" {
+
+ include "latin"
+
+ name[Group1]="France - Alternative";
+
+ key { [ oe, OE, leftdoublequotemark, rightdoublequotemark ] };
+ key { [ ampersand, 1, dead_acute, periodcentered ] };
+ key { [ eacute, 2, asciitilde, Eacute ] };
+ key { [ quotedbl, 3, numbersign, cedilla ] };
+ key { [ apostrophe, 4, braceleft, acute ] };
+ key { [ parenleft, 5, bracketleft, diaeresis ] };
+ key { [ minus, 6, bar, brokenbar ] };
+ key { [ egrave, 7, dead_grave, Egrave ] };
+ key { [ underscore, 8, backslash, macron ] };
+ key { [ ccedilla, 9, asciicircum, Ccedilla ] };
+ key { [ agrave, 0, at, Agrave ] };
+ key { [ parenright, degree, bracketright, ydiaeresis ] };
+ key { [ equal, plus, braceright, dead_abovering ] };
+
+ key { [ a, A, acircumflex, adiaeresis ] };
+ key { [ z, Z, aring, Aring ] };
+ key { [ e, E, EuroSign, cent ] };
+ key { [ r, R, ccedilla, Ccedilla ] };
+ key { [ t, T, thorn, THORN ] };
+ key { [ y, Y, yacute, Yacute ] };
+ key { [ u, U, ucircumflex, udiaeresis ] };
+ key { [ i, I, icircumflex, idiaeresis ] };
+ key { [ o, O, ocircumflex, odiaeresis ] };
+ key { [ p, P, paragraph, quoteleft ] };
+ key { [ dead_circumflex, dead_diaeresis, dead_tilde, quoteright ] };
+ key { [ dollar, sterling, ecircumflex, ediaeresis ] };
+
+ key { [ q, Q, Acircumflex, Adiaeresis ] };
+ key { [ s, S, oslash, Ooblique ] };
+ key { [ d, D, Ecircumflex, Ediaeresis ] };
+ key { [ f, F, plusminus, ordfeminine ] };
+ key { [ g, G, ae, AE ] };
+ key { [ h, H, eth, ETH ] };
+ key { [ j, J, Ucircumflex, Udiaeresis ] };
+ key { [ k, K, Icircumflex, Idiaeresis ] };
+ key { [ l, L, Ocircumflex, Odiaeresis ] };
+ key { [ m, M, onesuperior, masculine ] };
+ key { [ ugrave, percent, twosuperior, Ugrave ] };
+ key { [ asterisk, mu, threesuperior, yen ] };
+
+ key { [ less, greater, bar ] };
+ key { [ w, W, guillemotleft ] };
+ key { [ x, X, guillemotright ] };
+ key { [ c, C, copyright ] };
+ key { [ v, V, registered ] };
+ key { [ b, B, ssharp ] };
+ key { [ n, N, notsign ] };
+ key { [ comma, question, questiondown ] };
+ key { [ semicolon, period, multiply ] };
+ key { [ colon, slash, division ] };
+ key { [ exclam, section, exclamdown ] };
+
+ key { [ space, space, nobreakspace ] };
+
+ // French uses a comma as decimal separator, but keyboards are labeled with a period
+ // Will take effect when KP_Decimal is mapped to the locale decimal separator
+ key { [ KP_Delete, period, KP_Delete, KP_Decimal ] };
+
+ include "level3(ralt_switch)"
+};
+
+// Unicode derivative of the historic Linux French keyboard layout
+// Copyright © 2006 Nicolas Mailhot
+//
+// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲â”â”â”â”â”â”â”â”┓
+// │ Œ Ŭ │ 1 ´ │ 2 É │ 3 ¸ │ 4 ’ │ 5 ¨ │ 6 ¦ │ 7 È │ 8 ¯ │ 9 Ç │ 0 À │ ° ÿ │ + ˚ ┃↠Retour┃
+// │ œ Š│ & ´ │ é ~ │ " # │ ' { │ ( [ │ - | │ è ` │ _ \ │ ç ^ │ à @ │ ) ] │ = } ┃arrière ┃
+// ┢â”â”â”â”â”â”·â”┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺â”┳â”â”â”â”â”â”┫
+// ┃ ┃ A Â │ Z Å │ E ¢ │ R Ç │ T Þ │ Y à │ U Û │ I Î │ O Ô │ P ` │ ¨ ' │ £ Ê ┃Entrée┃
+// ┃Tab ↹ ┃ a â │ z å │ e € │ r ç │ t þ │ y ý │ u û │ i î │ o ô │ p ¶ │ ^ ~ │ $ ê ┃ ↵ ┃
+// ┣â”â”â”â”â”â”â”┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃
+// ┃ ┃ Q Ä │ S Ø │ D Ë │ F ª │ G Æ │ H à │ J Ü │ K à │ L Ö │ M º │ % Ù │ µ ¥ ┃ ┃
+// ┃Maj ⇬ ┃ q ä │ s ø │ d ë │ f ± │ g æ │ h ð │ j ü │ k ï │ l ö │ m ¹ │ ù ² │ * ³ ┃ ┃
+// ┣â”â”â”â”â”â”â”┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷â”â”â”â”â”â”»â”â”â”â”â”┫
+// ┃ ┃ > ≥ │ W “ │ X †│ C ™ │ V │ B – │ N — │ ? … │ . . │ / ∕ │ § − ┃ ┃
+// ┃Shift ⇧┃ < ≤ │ w « │ x » │ c © │ v ® │ b ß │ n ¬ │ , ¿ │ ; × │ : ÷ │ ! ¡ ┃Shift ⇧ ┃
+// ┣â”â”â”â”â”â”â”â•‹â”â”â”â”â”┷┳â”â”â”â”â”·â”┱───┴─────┴─────┴─────┴─────┴─────┴────┲┷â”â”â”â”â”╈â”â”â”â”â”┻┳â”â”â”â”â”â”┳â”â”â”â”â”›
+// ┃ ┃ ┃ ┃ Espace insécable┃ ┃ ┃ ┃
+// ┃Ctrl ┃Meta ┃Alt ┃Espace ┃AltGr⇮┃Menu ┃Ctrl ┃
+// â”—â”â”â”â”â”â”â”â”»â”â”â”â”â”â”â”»â”â”â”â”â”â”┹──────────────────────────────────────┺â”â”â”â”â”â”â”»â”â”â”â”â”â”â”»â”â”â”â”â”â”â”›
+
+partial alphanumeric_keys
+xkb_symbols "unicode" {
+
+ include "fr(latin9)"
+
+ name[Group1]="France - Alternative with unicode additions";
+
+ // Replace doublequotemarks with ubreve
+ key { [ oe, OE, ubreve, Ubreve ] }; // œ Œ ŠŬ
+
+ // Move acute and remove periodcentered
+ key { [ ampersand, 1, dead_acute, acute ] }; // & 1 ´ ´
+
+ // Add correct unicode typographical apostrophe
+ key { [ apostrophe, 4, braceleft, rightsinglequotemark ] }; // ' 4 { ’
+
+ // Group accented letters with the corresponding accented caps
+ key { [ a, A, acircumflex, Acircumflex ] }; // a A â Â
+ key { [ u, U, ucircumflex, Ucircumflex ] }; // u U û Û
+ key { [ i, I, icircumflex, Icircumflex ] }; // i I î Î
+ key { [ o, O, ocircumflex, Ocircumflex ] }; // o O ô Ô
+ key { [ dollar, sterling, ecircumflex, Ecircumflex ] }; // $ £ ê Ê
+
+ key { [ q, Q, adiaeresis, Adiaeresis ] }; // q Q ä Ä
+ key { [ j, J, udiaeresis, Udiaeresis ] }; // j J ü Ü
+ key { [ k, K, idiaeresis, Idiaeresis ] }; // k K ï Ã
+ key { [ l, L, odiaeresis, Odiaeresis ] }; // l L ö Ö
+ key { [ d, D, ediaeresis, Ediaeresis ] }; // d D ë Ë
+
+ // Move doublequotemarks
+ key { [ w, W, guillemotleft, leftdoublequotemark ] }; // w W « “
+ key { [ x, X, guillemotright, rightdoublequotemark ] }; // x X » â€
+
+ // add trademark access
+ key { [ c, C, copyright, trademark ] }; // c C © ™
+
+ // add typographical dashes, ellipsis and narrow no-break space
+ key { [ v, V, registered, 0x100202F ] }; // v V ® "narrow no-break space"
+ key { [ b, B, ssharp, 0x1002013 ] }; // b B ß –
+ key { [ n, N, notsign, 0x1002014 ] }; // n N ¬ —
+ key { [ comma, question, questiondown, 0x1002026 ] }; // , ? ¿ …
+
+ // Add more math operators
+ key { [ semicolon, period, multiply, 0x10022C5 ] }; // ; . × ⋅
+ key { [ colon, slash, division, 0x1002215 ] }; // : / ÷ ¿
+ key { [ exclam, section, exclamdown, 0x1002212 ] }; // ! § ¡ ¿
+
+
+ // Add brokenbar access
+ key { [ less, greater, lessthanequal, greaterthanequal ] }; // < > ¿ ¿
+
+ // Make nobreakspace harder to hit
+ key { [ space, space, space, nobreakspace ] };
+
+ // Add math operators and arrows to the keypad
+ include "keypad(unimath)"
+ include "keypad(uniarrows)"
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "latin9_Sundeadkeys" {
+
+ // Modifies the basic fr-latin9 layout to use the Sun dead keys
+
+ include "fr(latin9)"
+
+ key { [ ampersand, 1, SunFA_Acute, periodcentered ] };
+ key { [ egrave, 7, SunFA_Grave, Egrave ] };
+ key { [ SunFA_Circum, SunFA_Diaeresis, SunFA_Tilde, quoteright ] };
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "latin9_sundeadkeys" {
+
+ include "fr(latin9_Sundeadkeys)"
+
+ name[Group1]="France - Alternative, Sun dead keys";
+};
+
+partial alphanumeric_keys
+xkb_symbols "latin9_nodeadkeys" {
+
+ // Modifies the basic fr-latin9 layout to eliminate all dead keys
+
+ include "fr(latin9)"
+
+ name[Group1]="France - Alternative, eliminate dead keys";
+
+ key { [ ampersand, 1, apostrophe, periodcentered ] };
+ key { [ egrave, 7, grave, Egrave ] };
+ key { [ equal, plus, braceright ] };
+ key { [ asciicircum, diaeresis, asciitilde, quoteright ] };
+};
+
+// Keymap Dvorak pour le Français
+// par Josselin Mouette .
+
+partial alphanumeric_keys
+xkb_symbols "dvorak" {
+
+ name[Group1]= "France - Dvorak";
+
+ key { [ oe, OE, ae, AE ] };
+
+ key { [ slash, 1, ampersand, onesuperior ] };
+ key { [ plus, 2, asciitilde, twosuperior ] };
+ key { [ minus, 3, numbersign, threesuperior ] };
+ key { [ asterisk, 4, less, guillemotleft ] };
+ key { [ equal, 5, greater, guillemotright ] };
+ key { [ backslash, 6, at, notsign ] };
+ key { [ parenleft, 7, dead_circumflex, multiply ] };
+ key { [ grave, 8, dead_grave, division ] };
+ key { [ parenright, 9, asciicircum, plusminus ] };
+ key { [ quotedbl, 0, dead_diaeresis, dead_diaeresis ] };
+ key { [bracketleft, braceleft, bar, degree ] };
+ key { [bracketright, braceright, percent, percent ] };
+
+ key { [ colon, question, question, questiondown ] };
+ key { [ agrave, Agrave, aring, Aring ] };
+ key { [ eacute, Eacute, EuroSign, cent ] };
+ key { [ g, G, oslash, Ooblique ] };
+ key { [ period, exclam, periodcentered, exclamdown ] };
+ key { [ h, H, eth, ETH ] };
+ key { [ v, V ] };
+ key { [ c, C, copyright, registered ] };
+ key { [ m, M, mu, mu ] };
+ key { [ k, K, dollar, dollar ] };
+ key { [ egrave, Egrave, sterling, sterling ] };
+ key { [ z, Z, yen, yen ] };
+
+ key { [ o, O, ocircumflex, Ocircumflex ] };
+ key { [ a, A, acircumflex, Acircumflex ] };
+ key { [ u, U, ucircumflex, Ucircumflex ] };
+ key { [ e, E, ecircumflex, Ecircumflex ] };
+ key { [ b, B, ssharp, ssharp ] };
+ key { [ f, F ] };
+ key { [ s, S ] };
+ key { [ t, T, thorn, THORN ] };
+ key { [ n, N, ntilde, Ntilde ] };
+ key { [ d, D, section, section ] };
+ key { [ w, W, paragraph, paragraph ] };
+ key { [ ugrave, Ugrave, masculine, ordfeminine ] };
+
+ key { [ apostrophe, underscore, dead_acute, macron ] };
+ key { [ q, Q, guillemotleft, guillemotleft ] };
+ key { [ comma, semicolon, guillemotright, guillemotright ] };
+ key { [ i, I, icircumflex, Icircumflex ] };
+ key { [ y, Y, ydiaeresis, Ydiaeresis ] };
+ key { [ x, X, ediaeresis, Ediaeresis ] };
+ key { [ r, R, udiaeresis, Udiaeresis ] };
+ key { [ l, L, adiaeresis, Adiaeresis ] };
+ key { [ p, P, odiaeresis, Odiaeresis ] };
+ key { [ j, J, idiaeresis, Idiaeresis ] };
+
+ key { [ space, space, nobreakspace, nobreakspace ] };
+ key { [ ccedilla, Ccedilla ] };
+
+ include "level3(ralt_switch)"
+};
+
diff -uNr xkeyboard-config-0.8.orig/symbols/keypad xkeyboard-config-0.8/symbols/keypad
--- xkeyboard-config-0.8.orig/symbols/keypad 2005-09-21 23:29:26.000000000 +0200
+++ xkeyboard-config-0.8/symbols/keypad 2006-09-16 01:59:07.000000000 +0200
@@ -87,3 +87,77 @@
xkb_symbols "comma" {
key { [ KP_Delete, KP_Separator ] };
};
+
+
+// Keypad part with unicode math operators
+// Copyright © 2006 Nicolas Mailhot
+//
+// â”â”â”â”â”â”┱─────┬─────┬─────â”
+// ┃Num ┃ ∕ ₠│ . â‚‚ │ − ₃ │ â‚
+// ┃Lockâ‡â”ƒ / ÷ │ * × │ - − │ â‚‚
+// ┡â”â”â”â”â”╃─────┼─────┼─────┤ ₃
+// │ + ₄ │ ₄
+// │ │
+// ┤ │ 1 None
+// │ │ 2 Level3
+// │ + + │ 3 Shift+Level3
+// ╆â”â”â”â”â”┪ 4 Ctrl+Alt
+
+
+
+partial hidden keypad_keys
+xkb_symbols "unimath" {
+
+ key.type[Group1] = "FOUR_LEVEL_X" ;
+
+ key { [ KP_Divide, 0x1002215, 0x10000F7, XF86_Ungrab ] }; // / ∕ ÷
+ key { [ KP_Multiply, 0x10022C5, 0x10000D7, XF86_ClearGrab ] }; // * ⋅ ×
+ key { [ KP_Subtract, 0x1002212, 0x1002212, XF86_Prev_VMode ] }; // - − −
+
+ key { [ KP_Add, 0x100002B, 0x100002B, XF86_Next_VMode ] }; // + + +
+
+};
+
+
+// Keypad part with arrows
+// Copyright © 2006 Nicolas Mailhot
+//
+// â”â”â”â”â”â”â”± (Usual keypad level1 not represented)
+// ┃Num ┃
+// ┃Lockâ‡â”ƒ â‚ narrow no-break space
+// ┡â”â”â”â”â”╃─────┼─────┼
+// │ 7 ⇖ │ 8 ⇑ │ 9 ⇗ │ 1 None
+// │ ↖ │ ↑ │ ↗ │ 2 Num Lock
+// ├─────┼─────┼─────┤ 3 Level3
+// │ 4 ⇠│ 5 ⇔ │ 6 ⇗ │ 4 Shift+Level3
+// │ ↠│ ↔ │ ↗ │
+// ├─────┼─────┼─────╆â”â”â”â”â”┪
+// │ 1 ⇙ │ 2 ⇓ │ 3 ⇘ ┃Enter┃
+// │ ↙ │ ↓ │ ↘ ┃ ↵ ┃
+// ├─────┴─────┼─────┨ ┃
+// │ 0 ⇕ │ . ₠┃ ┃
+// │ ↕ │ , ┃ ┃
+// └───────────┴─────┺â”â”â”â”â”â”›
+
+partial hidden keypad_keys
+xkb_symbols "uniarrows" {
+
+ key.type[Group1] = "FOUR_LEVEL_MIXED_KEYPAD" ;
+
+ key { [ KP_Home, KP_7, 0x1002196, 0x10021D6 ] }; // 7 ↖ ⇖
+ key { [ KP_Up, KP_8, 0x1002191, 0x10021D1 ] }; // 8 ↑ ⇑
+ key { [ KP_Prior, KP_9, 0x1002197, 0x10021D7 ] }; // 9 ↗ ⇗
+
+ key { [ KP_Left, KP_4, 0x1002190, 0x10021D0 ] }; // 4 ↠â‡
+ key { [ KP_Begin, KP_5, 0x1002194, 0x10021D4 ] }; // 5 ↔ ⇔
+ key { [ KP_Right, KP_6, 0x1002192, 0x10021D2 ] }; // 6 → ⇒
+
+ key { [ KP_End, KP_1, 0x1002199, 0x10021D9 ] }; // 1 ↙ ⇙
+ key { [ KP_Down, KP_2, 0x1002193, 0x10021D3 ] }; // 2 ↓ ⇓
+ key { [ KP_Next, KP_3, 0x1002198, 0x10021D8 ] }; // 3 ↘ ⇘
+
+ key { [ KP_Insert, KP_0, 0x1002195, 0x10021D5 ] }; // 0 ↕ ⇕
+ // We could use KP_Decimal and KP_Separator but we do not want the locale
+ // decimal and separator symbol but locale-insensitive dot and comma
+ key { [ KP_Delete, period, comma, 0x100202F ] }; // . , "narrow no-break space"
+};
diff -uNr xkeyboard-config-0.8.orig/symbols/keypad~ xkeyboard-config-0.8/symbols/keypad~
--- xkeyboard-config-0.8.orig/symbols/keypad~ 1970-01-01 01:00:00.000000000 +0100
+++ xkeyboard-config-0.8/symbols/keypad~ 2006-09-15 19:49:03.000000000 +0200
@@ -0,0 +1,129 @@
+// $XKeyboardConfig: xkbdesc/symbols/keypad,v 1.2 2004/09/14 19:14:36 svu Exp $
+// $Xorg: keypad,v 1.3 2000/08/17 19:54:43 cpqbld Exp $
+
+partial hidden keypad_keys
+xkb_symbols "overlay" {
+ include "keypad(overlay1)"
+};
+
+partial hidden keypad_keys
+xkb_symbols "overlay1" {
+
+ // Begin "Keypad" section
+
+ key { [ KP_Home ], overlay1= };
+ key { [ KP_Up ], overlay1= };
+ key { [ KP_Prior ], overlay1= };
+
+ key { [ KP_Left ], overlay1= };
+ key { [ KP_Begin ], overlay1= };
+ key { [ KP_Right ], overlay1= };
+
+ key { [ KP_End ], overlay1=