Juin 142011
 

Sous Linux, il y avait un truc qui m’énervait passablement.

le fait d’activer la touche Capslock (celle avec le cadenas) ne permet pas d’utiliser les chiffres se trouvant sur la barre du haut.

Pour ceux qui n’ont pas de clavier azerty, voici un mapping de ce clavier pour mieux comprendre de quoi je parle.

  ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______
 | œ "| 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 | Super| Alt  | Space    Nobreakspace | AltGr | Super|Menu | Ctrl |
  ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯ ¯¯¯¯¯¯

Avouez que c’est bête d’avoir des chiffres sur la rangée du haut et de ne pouvoir les utiliser qu’avec une combinaison de touches (Shift + la touche correspondante)

Sous Windows, c’est un comportement « normal » d’activer CAPSLOCK et ensuite de taper les chiffres qui nous intéressent.

Sous Linux, les développeurs estiment que ce n’est pas une fonctionnalité mais un « bug » Microsoft…je vous laisse juge.

En remplacement, si vous activez CAPSLOCK et que vous appuyez sur la touche 2, c’est la lettre É qui va apparaitre.

alors effectivement, c’est très facile d’écrire une lettre majuscule accentuée de cette façon mais de vous à moi, combien de fois utilisez vous le chiffre 2 et combien de fois utilisez vous le É majuscule ?

bon, tout ça pour dire que quelqu’un s’est penché sérieusement sur le problème et l’a résolu.

voici donc la formule miracle pour avoir ce que j’appellerais un comportement de clavier « normal ».

commençons par créer le fichier contenant les modifications souhaitées:

# cat >/usr/share/X11/xkb/symbols/mswindows-capslock <<EOF
// $XKeyboardConfig$
 
// Replicate a "feature" of MS Windows on AZERTY keyboards 
// where Caps Lock also acts as a Shift Lock on number keys.
// Include keys <AE01> to <AE10> in the FOUR_LEVEL_ALPHABETIC key type.
 
partial alphanumeric_keys
xkb_symbols "basic" {
    key <AE01>	{ type= "FOUR_LEVEL_ALPHABETIC", [ ampersand,          1,          bar,   exclamdown ]	};
    key <AE02>	{ type= "FOUR_LEVEL_ALPHABETIC", [    eacute,          2,           at,    oneeighth ]	};
    key <AE03>	{ type= "FOUR_LEVEL_ALPHABETIC", [  quotedbl,          3,   numbersign,     sterling ]	};
    key <AE04>	{ type= "FOUR_LEVEL_ALPHABETIC", [apostrophe,          4,   onequarter,       dollar ]	};
    key <AE05>	{ type= "FOUR_LEVEL_ALPHABETIC", [ parenleft,          5,      onehalf, threeeighths ]	};
    key <AE06>	{ type= "FOUR_LEVEL_ALPHABETIC", [   section,          6,  asciicircum,  fiveeighths ]	};
    key <AE07>	{ type= "FOUR_LEVEL_ALPHABETIC", [    egrave,          7,    braceleft, seveneighths ]	};
    key <AE08>	{ type= "FOUR_LEVEL_ALPHABETIC", [    exclam,          8,  bracketleft,    trademark ]	};
    key <AE09>	{ type= "FOUR_LEVEL_ALPHABETIC", [  ccedilla,          9,    braceleft,    plusminus ]	};
    key <AE10>	{ type= "FOUR_LEVEL_ALPHABETIC", [    agrave,          0,   braceright,       degree ]	};
};
EOF

ensuite trouver le mapping clavier actuellement utilisé:

# xkbcomp -xkb :0 - 2>/dev/null |grep 'name\[group'
    name[group1]="France - Alternative";

le mapping actuel est donc « France – Alternative »
trouvons ou est défini ce mapping:

# grep "France - Alternative" /usr/share/X11/xkb/symbols/*
/usr/share/X11/xkb/symbols/fr:    name[Group1]="France - Alternative";
/usr/share/X11/xkb/symbols/fr:    name[Group1]="France - Alternative, latin-9 only";
/usr/share/X11/xkb/symbols/fr:    name[Group1]="France - Alternative, Sun dead keys";
/usr/share/X11/xkb/symbols/fr:    name[Group1]="France - Alternative, eliminate dead keys";

le fichier ou est défini ce mapping est donc /usr/share/X11/xkb/symbols/fr

ouvrons ce fichier /usr/share/X11/xkb/symbols/fr et recherchons la ligne contenant:

name[group1]="France - Alternative";

mettre juste au dessus de cette ligne:

include "mswindows-capslock"

chez moi, un extrait de ce fichier donne:

xkb_symbols "oss" {

    include "latin"
    include "level3(ralt_switch)"
    include "nbsp(level4nl)"
    include "keypad(oss)"
    include "mswindows-capslock"

    name[Group1]="France - Alternative";

    // First row
    key  { [      twosuperior,    threesuperior,          onesuperior,          dead_cedilla ] }; // ² ³ ¹ ¸

redémarrons la session X en fermant la session.

reste plus qu’a tester :

1234567890)=

YES!!

it works!

  5 commentaires à “le clavier a chiffre sous Linux”

  1. La différence intéressante que je trouve avec Microsoft, c’est ,sous GNU/Linux, l’accès aux majuscules accentuées ( au lieu des chiffres) avec majlock et aux chiffres avec maj. La touche de verrouillage du pavé numérique, elle, n’interfère pas avec ces touches.

    Je n’utilise Microsoft qu’ au travail, sous la contrainte et avec douleur, et j’ignore comment on fait pour avoir les caractères accentués majuscules sous cet Os.

    Mais cette contribution est très intéressante et pédagogique. Merci

    • surtout merci à Arnaudus qui avait trouvé la solution, cf https://bugs.launchpad.net/ubuntu/+bug/292158

      je n’avais jamais remarqué ce problème de clavier en fait, mais pour mon amie qui travaille dans la finance, et qui à l’habitude d’utiliser des feuilles excel, c’était le truc de trop qui l’a fait revenir sous Windows ;(

      sous Windows, le plus simple c’est : démarrer -> exécuter -> charmap
      et on a la liste de tous les caractères.

  2. Hello, i feel that i saw you visited my weblog thus i came to go back the choose?.I am attempting to to find things to enhance my web site!I guess its adequate to make use of a few of your ideas!!

  3. pour ma part j’ai trouvé une solution ultra simple :
    changer la disposition du clavier : Bambara Français (Mali, Variante)
    toute les touches réponde normalement et quand je verrouille la majuscule j’ai les chiffres
    il y a d’autre mode qui permette d’avoir accès au chiffre en minuscule,
    par habitude je préfère ce mode.
    pour avoir accès au majuscule accentué il faut faire ctrl maj
    bref une solution simple et efficace 🙂

 Laisser un commentaire

Vous pouvez utiliser ces tags et attributs HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(requis)

(requis)