Stephane_Paris
J'ai trouvé une solution!
Pour le keyboard layout Language = France, Variants = French j'obtient le comportement souhaité en modifiant le fichier /usr/share/X11/xkb/symbols/fr de façon à typer les touches de la première rangée en alphabétique.
Pour cela il faut ajouter le paramètre : type= "FOUR_LEVEL_ALPHABETIC" dans le name group France pour les touches AE01 à AE012:
Fichier initial :
// $XKeyboardConfig$
// 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 <AE01> { [ ampersand, 1, onesuperior, exclamdown ] };
key <AE02> { [ eacute, 2, asciitilde, oneeighth ] };
key <AE03> { [ quotedbl, 3, numbersign, sterling ] };
key <AE04> { [apostrophe, 4, braceleft, dollar ] };
key <AE05> { [ parenleft, 5, bracketleft, threeeighths ] };
key <AE06> { [ minus, 6, bar, fiveeighths ] };
key <AE07> { [ egrave, 7, grave, seveneighths ] };
key <AE08> { [underscore, 8, backslash, trademark ] };
key <AE09> { [ ccedilla, 9, asciicircum, plusminus ] };
key <AE10> { [ agrave, 0, at, degree ] };
key <AE11> { [parenright, degree, bracketright, questiondown ] };
key <AE12> { [ equal, plus, braceright, dead_ogonek ] };
key <AD01> { [ a, A, ae, AE ] };
key <AD02> { [ z, Z, guillemotleft, less ] };
key <AD03> { [ e, E, EuroSign, cent ] };
key <AD11> { [dead_circumflex, dead_diaeresis, dead_diaeresis, dead_abovering ] };
key <AD12> { [ dollar, sterling, currency, dead_macron ] };
key <AC01> { [ q, Q, at, Greek_OMEGA ] };
key <AC10> { [ m, M, mu, masculine ] };
key <AC11> { [ ugrave, percent, dead_circumflex, dead_caron] };
key <TLDE> { [twosuperior, asciitilde, notsign, notsign ] };
key <BKSL> { [ asterisk, mu, dead_grave, dead_breve ] };
key <AB01> { [ w, W, lstroke, Lstroke ] };
key <AB07> { [ comma, question, dead_acute, dead_doubleacute ] };
key <AB08> { [ semicolon, period, horizconnector, multiply ] };
key <AB09> { [ colon, slash, periodcentered, division ] };
key <AB10> { [ exclam, section, dead_belowdot, dead_abovedot ] };
include "level3(ralt_switch)"
};
....
Fichier modifié :
// $XKeyboardConfig$
// 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 <AE01> { type= "FOUR_LEVEL_ALPHABETIC", [ ampersand, 1, onesuperior, exclamdown ] };
key <AE02> { type= "FOUR_LEVEL_ALPHABETIC", [ eacute, 2, asciitilde, oneeighth ] };
key <AE03> { type= "FOUR_LEVEL_ALPHABETIC", [ quotedbl, 3, numbersign, sterling ] };
key <AE04> { type= "FOUR_LEVEL_ALPHABETIC", [apostrophe, 4, braceleft, dollar ] };
key <AE05> { type= "FOUR_LEVEL_ALPHABETIC", [ parenleft, 5, bracketleft, threeeighths ] };
key <AE06> { type= "FOUR_LEVEL_ALPHABETIC", [ minus, 6, bar, fiveeighths ] };
key <AE07> { type= "FOUR_LEVEL_ALPHABETIC", [ egrave, 7, grave, seveneighths ] };
key <AE08> { type= "FOUR_LEVEL_ALPHABETIC", [underscore, 8, backslash, trademark ] };
key <AE09> { type= "FOUR_LEVEL_ALPHABETIC", [ ccedilla, 9, asciicircum, plusminus ] };
key <AE10> { type= "FOUR_LEVEL_ALPHABETIC", [ agrave, 0, at, degree ] };
key <AE11> { type= "FOUR_LEVEL_ALPHABETIC", [parenright, degree, bracketright, questiondown ] };
key <AE12> { type= "FOUR_LEVEL_ALPHABETIC", [ equal, plus, braceright, dead_ogonek ] };
key <AD01> { [ a, A, ae, AE ] };
key <AD02> { [ z, Z, guillemotleft, less ] };
key <AD03> { [ e, E, EuroSign, cent ] };
key <AD11> { [dead_circumflex, dead_diaeresis, dead_diaeresis, dead_abovering ] };
key <AD12> { [ dollar, sterling, currency, dead_macron ] };
key <AC01> { [ q, Q, at, Greek_OMEGA ] };
key <AC10> { [ m, M, mu, masculine ] };
key <AC11> { [ ugrave, percent, dead_circumflex, dead_caron] };
key <TLDE> { [twosuperior, asciitilde, notsign, notsign ] };
key <BKSL> { [ asterisk, mu, dead_grave, dead_breve ] };
key <AB01> { [ w, W, lstroke, Lstroke ] };
key <AB07> { [ comma, question, dead_acute, dead_doubleacute ] };
key <AB08> { [ semicolon, period, horizconnector, multiply ] };
key <AB09> { [ colon, slash, periodcentered, division ] };
key <AB10> { [ exclam, section, dead_belowdot, dead_abovedot ] };
include "level3(ralt_switch)"
};
Par contre si je peux modifier un layout existant je n'arrive pas à ajouter un layout. Les xkb_symbols doivent être référencés ailleurs.
Ca marche sous ubuntu et également dans ma VirtualBox Win XP que j'utilise pour MS Office.
Et je suis même débarrassé des majuscules accentuées lol!
Stéphane.