Forum général.général Obtenir Caps_Lock directement

Posté par  (site web personnel) .
Étiquettes : aucune
0
31
mar.
2006
Bonjour,

J'utilise très régulièrement les majuscule accentuées. Il est très facile de les obtenir par la manipulation suivante (par exemple pour le é) :

Caps_Lock, é, Caps_Lock�

mais ce n'est pas très naturel quand on a déjà la touche Shift enfoncé (il faut la lâcher, taper 3 touches et la reprendre.

Existe-il un moyen d'obtenir l'équivalent de l'état Caps_Lock par exemple en ajoutant une touche suplémentaire (Windows, au hazard) au Shift ?

Merci d'avance

PS. Ce n'est pas un besoin en mode console. Uniquement sous X.
PPS. J'ai vu que KDE3.5 présente une table de correspondance des modificateurs de X-windows (menu accessibilité, onglet modificateurs) mais elle n'est pas modifiable à cet endroit).
  • # ALT GR

    Posté par  . Évalué à 1.

    Chez moi, un petit ALT GR - SHIFT - é me donne un É. Pareil pour les autres lettres accentuées du clavier. Pour celles qui n'apparaissent pas sur le clavier, il faut trouver les combinaisons. Par exemple ALT GR - g et ALT GR - SHIFT - g pour æ et Æ (il y a pas mal de symboles pratique à trouver en testant toutes les combinaisons).

    Je suis sous Debian avec la config clavier d'origine mais je suppose que ça doit aussi être pareil sur la plupart des distributions. Sinon, je peut aller jeter un coup d'½il sur mes fichiers de config.
    • [^] # Re: ALT GR

      Posté par  (site web personnel) . Évalué à 2.

      J'ai essayé. J'obtiens (le symbole 1/8)
      • [^] # Re: ALT GR

        Posté par  . Évalué à 1.

        Il semblerait que les combinaisons avec ALT GR soit définies dans /usr/X11R6/lib/X11/xkb/symbols. Je vais voir ce soir ce que j'ai dedans ce soir.
        • [^] # Re: ALT GR

          Posté par  . Évalué à 1.

          Bon je me répond à moi-même. Après une petite recherche plus précise, la définition des touches de clavier que j'utilise est « fr-latin9 ». Le fichier se trouve (sous debian) à l'emplacement suivant :
          /etc/X11/xkb/symbols/pc/fr-latin9

          Voici son contenu (c'est un peu long mais ça pourra peut-être aider quelqu'un) :


          // (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 default alphanumeric_keys

          xkb_symbols "basic" {

          include "pc/latin"

          name[Group1]="fr-latin9";

          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)"
          };

          partial alphanumeric_keys
          xkb_symbols "Sundeadkeys" {

          // Modifies the basic fr-latin9 layout to use the Sun dead keys

          include "pc/fr-latin9(basic)"

          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 "sundeadkeys" {

          include "pc/fr-latin9(Sundeadkeys)"

          };

          partial alphanumeric_keys
          xkb_symbols "nodeadkeys" {

          // Modifies the basic fr-latin9 layout to eliminate all dead keys

          include "pc/fr-latin9(basic)"

          key { [ ampersand, 1, apostrophe, periodcentered ] };
          key { [ egrave, 7, grave, Egrave ] };
          key { [ equal, plus, braceright ] };
          key { [ asciicircum, diaeresis, asciitilde, quoteright ] };
          };

          • [^] # Re: ALT GR

            Posté par  . Évalué à 1.

            J'oubliais : pour pouvoir utiliser le positionnement fr-latin9, il faut l'indiquer dans le fichier de config de XFree ou Xorg (/etc/X11/xorg.conf dans ce dernier cas). La rubrique est la suivante :

            Section "InputDevice"
                Identifier "Keyboard0"
                Driver "kbd"
                Option "XkbModel" "pc105"
                Option "XkbLayout" "fr-latin9"
            EndSection
  • # Touche Compose ?

    Posté par  . Évalué à 1.

    Ce n'es pas exactement ce que tu veux, mais tu pourrais utiliser la touche "Compose", que tu peux affecter a la touche "Windows" de ton clavier.

    Commen procéder (de mémoire):

    1) ouvrir un terminal et lancer "xev": c'est un programme qui capture les évènements
    du clavier et de la souris et indique (pour le clavier), le code de la touche pressée.

    2) presser la touche "Windows" et relever le "keycode" correspondant.

    3) ajouter au fichier .Xmodmap de ton répertoire home la ligne :
    keycode "le-code-ci-dessus" = Multi_key

    Ensuite, tu peux obtenir ce que tu veux ( É , Ë , Ï , À etc ...) en tapant successivement:
    Win + accent + lettre

    Bon, au final ça fait quand même trois touches à taper ...
    mais tu peux faire des trucs rigolos facilement ß ©¢ £ ¤ ¥ ß § ® ¼ ½ ¾ ¿ ¡ etc ...
  • # xmodmap

    Posté par  (site web personnel) . Évalué à 2.

    finalement, j'ai créé un fichier .xmodmap contenant :


    keycode 11 = eacute 2 VoidSymbol VoidSymbol asciitilde Eacute
    keycode 16 = egrave 7 VoidSymbol VoidSymbol grave Egrave
    keycode 18 = ccedilla 9 VoidSymbol VoidSymbol asciicircum Ccedilla
    keycode 19 = agrave 0 VoidSymbol VoidSymbol at Agrave


    Ça me facilitera la vie pour travailler, même si ce n'est pas ce que je voulais au départ.

    Par contre, je ne sais pas bien comment l'installer pour que tous les utilisateurs en profitent par défaut...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.