est-il possible d'inverser le rôle de l'action du clavier Maj + [1..9]? Fondamentalement, je me retrouve à utiliser les symboles sur les nombres beaucoup plus souvent que les nombres eux-mêmes. J'ai le pavé numérique pour les chiffres. Et beaucoup de ces symboles sont utilisés dans le codage et le latex. Donc, si quelqu'un sait comment je peux obtenir! @ # $% ^ & * () Sans utiliser shift, je serais très reconnaissant.
C'est en fait assez facile à réaliser avec xmodmap. Créez simplement un nouveau fichier, avec les éléments suivants:
keycode 10 = exclam 1 exclam 1
keycode 11 = at 2 at 2
keycode 12 = numbersign 3 numbersign 3
keycode 13 = dollar 4 dollar 4
keycode 14 = percent 5 percent 5
keycode 15 = asciicircum 6 asciicircum 6
keycode 16 = ampersand 7 ampersand 7
keycode 17 = asterisk 8 asterisk 8
keycode 18 = parenleft 9 parenleft 9
keycode 19 = parenright 0 parenright 0
Enregistrez-le à la racine de votre répertoire personnel sous le nom .Xmodmap (la capitalisation est importante). Maintenant, connectez-vous et reconnectez-vous (vous devrez peut-être redémarrer) et vos clés seront échangées. Continuez à lire pour savoir comment je suis venu avec cela. L'information que j'avais l'habitude de comprendre est venue de ici . Lancez un terminal et tapez la commande suivante:
xmodmap -pke
Cela va cracher un tas de paires de paramètres de code clé/valeur, comme ceci:
......
keycode 27 = r R r R
keycode 28 = t T t T
keycode 29 = y Y y Y
keycode 30 = u U u U
keycode 31 = i I i I
keycode 32 = o O o O
keycode 33 = p P p P
keycode 34 = bracketleft braceleft bracketleft braceleft
keycode 35 = bracketright braceright bracketright braceright
keycode 36 = Return NoSymbol Return
keycode 37 = Control_L NoSymbol Control_L
keycode 38 = a A a A
keycode 39 = s S s S
keycode 40 = d D d D
keycode 41 = f F f F
keycode 42 = g G g G
keycode 43 = h H h H
keycode 44 = j J j J
keycode 45 = k K k K
......
Le code de touche est la clé de votre clavier physique et la valeur à droite du signe égal est celle qui est envoyée à votre PC. La raison pour laquelle il y en a quatre est que le premier est clair, le second est appuyé sur la touche Maj enfoncée et le troisième (normal) semble aller être activé une fois que vous avez cliqué sur le bouton Verrouillage du défilement. Comme vous pouvez le constater, cela vous donne une grande flexibilité pour faire tout ce que vous pouvez pour modifier votre clavier.
Désormais, cela ne fonctionnera que si vous êtes connecté à X (comme dans l'interface graphique), d'où son nom. Si vous lancez un terminal sous Gnome, Unity, etc., vous maîtriserez Xmodmap, mais si vous souhaitez utiliser les mêmes fonctionnalités dans la console (c.-à-d. Après avoir appuyé sur CTRL + ALT + 1, en tapant dans une boîte, en travaillant sur un serveur, ou un PC sans interface graphique), vous devrez utiliser loadkeys. Bien que l’idée générale soit la même, loadkeys offre beaucoup plus de fonctionnalités et de granularité, c’est donc un peu plus compliqué. Maintenant, ces commandes DOIVENT toutes être effectuées à partir de la console, elles ne peuvent pas être exécutées avec un émulateur de terminal ou vous recevrez une erreur, comme ceci: Couldn't get a file descriptor referring to the console
.
Nous devons d’abord créer notre clavier par défaut, comme ceci:
dumpkeys > ~/my_keymap.map
Ce serait une bonne idée de faire une copie de ceci au cas où vous le feriez vraiment mal. Maintenant, nous avons juste besoin de l'éditer, avec nos modifications. Chaque définition de clé ressemble à ceci:
keycode 2 = one exclam one one
alt keycode 2 = Meta_one
shift alt keycode 2 = Meta_exclam
altgr alt keycode 2 = Meta_one
shift altgr alt keycode 2 = Meta_one
shiftl keycode 2 = one
shift shiftl keycode 2 = exclam
altgr shiftl keycode 2 = one
shift altgr shiftl keycode 2 = one
alt shiftl keycode 2 = Meta_one
shift alt shiftl keycode 2 = Meta_exclam
altgr alt shiftl keycode 2 = Meta_one
shift altgr alt shiftl keycode 2 = Meta_one
shiftr keycode 2 = one
shift shiftr keycode 2 = exclam
altgr shiftr keycode 2 = one
shift altgr shiftr keycode 2 = one
alt shiftr keycode 2 = Meta_one
shift alt shiftr keycode 2 = Meta_exclam
altgr alt shiftr keycode 2 = Meta_one
shift altgr alt shiftr keycode 2 = Meta_one
shiftl shiftr keycode 2 = one
shift shiftl shiftr keycode 2 = exclam
altgr shiftl shiftr keycode 2 = one
shift altgr shiftl shiftr keycode 2 = one
alt shiftl shiftr keycode 2 = Meta_one
shift alt shiftl shiftr keycode 2 = Meta_exclam
altgr alt shiftl shiftr keycode 2 = Meta_one
shift altgr alt shiftl shiftr keycode 2 = Meta_one
ctrll keycode 2 = one
shift ctrll keycode 2 = exclam
altgr ctrll keycode 2 = one
shift altgr ctrll keycode 2 = one
alt ctrll keycode 2 = Meta_one
shift alt ctrll keycode 2 = Meta_exclam
altgr alt ctrll keycode 2 = Meta_one
shift altgr alt ctrll keycode 2 = Meta_one
shiftl ctrll keycode 2 = one
shift shiftl ctrll keycode 2 = exclam
altgr shiftl ctrll keycode 2 = one
shift altgr shiftl ctrll keycode 2 = one
alt shiftl ctrll keycode 2 = Meta_one
shift alt shiftl ctrll keycode 2 = Meta_exclam
altgr alt shiftl ctrll keycode 2 = Meta_one
shift altgr alt shiftl ctrll keycode 2 = Meta_one
shiftr ctrll keycode 2 = one
shift shiftr ctrll keycode 2 = exclam
altgr shiftr ctrll keycode 2 = one
shift altgr shiftr ctrll keycode 2 = one
alt shiftr ctrll keycode 2 = Meta_one
shift alt shiftr ctrll keycode 2 = Meta_exclam
altgr alt shiftr ctrll keycode 2 = Meta_one
shift altgr alt shiftr ctrll keycode 2 = Meta_one
shiftl shiftr ctrll keycode 2 = one
shift shiftl shiftr ctrll keycode 2 = exclam
altgr shiftl shiftr ctrll keycode 2 = one
shift altgr shiftl shiftr ctrll keycode 2 = one
alt shiftl shiftr ctrll keycode 2 = Meta_one
shift alt shiftl shiftr ctrll keycode 2 = Meta_exclam
altgr alt shiftl shiftr ctrll keycode 2 = Meta_one
shift altgr alt shiftl shiftr ctrll keycode 2 = Meta_one
Comme vous pouvez le constater, il offre beaucoup plus de fonctionnalités/granularités. Pour chaque clé, permutez simplement le décalage et les valeurs normales, c’est-à-dire ici la clé échangée:
keycode 2 = exclam one exclam exclam
alt keycode 2 = Meta_exclam
shift alt keycode 2 = Meta_one
altgr alt keycode 2 = Meta_exclam
shift altgr alt keycode 2 = Meta_exclam
shiftl keycode 2 = exclam
shift shiftl keycode 2 = one
altgr shiftl keycode 2 = exclam
shift altgr shiftl keycode 2 = exclam
alt shiftl keycode 2 = Meta_exclam
shift alt shiftl keycode 2 = Meta_one
altgr alt shiftl keycode 2 = Meta_exclam
shift altgr alt shiftl keycode 2 = Meta_exclam
shiftr keycode 2 = exclam
shift shiftr keycode 2 = one
altgr shiftr keycode 2 = exclam
shift altgr shiftr keycode 2 = exclam
alt shiftr keycode 2 = Meta_exclam
shift alt shiftr keycode 2 = Meta_one
altgr alt shiftr keycode 2 = Meta_exclam
shift altgr alt shiftr keycode 2 = Meta_exclam
shiftl shiftr keycode 2 = exclam
shift shiftl shiftr keycode 2 = one
altgr shiftl shiftr keycode 2 = exclam
shift altgr shiftl shiftr keycode 2 = exclam
alt shiftl shiftr keycode 2 = Meta_exclam
shift alt shiftl shiftr keycode 2 = Meta_one
altgr alt shiftl shiftr keycode 2 = Meta_exclam
shift altgr alt shiftl shiftr keycode 2 = Meta_exclam
ctrll keycode 2 = exclam
shift ctrll keycode 2 = one
altgr ctrll keycode 2 = exclam
shift altgr ctrll keycode 2 = exclam
alt ctrll keycode 2 = Meta_exclam
shift alt ctrll keycode 2 = Meta_one
altgr alt ctrll keycode 2 = Meta_exclam
shift altgr alt ctrll keycode 2 = Meta_exclam
shiftl ctrll keycode 2 = exclam
shift shiftl ctrll keycode 2 = one
altgr shiftl ctrll keycode 2 = exclam
shift altgr shiftl ctrll keycode 2 = exclam
alt shiftl ctrll keycode 2 = Meta_exclam
shift alt shiftl ctrll keycode 2 = Meta_exclam
altgr alt shiftl ctrll keycode 2 = Meta_exclam
shift altgr alt shiftl ctrll keycode 2 = Meta_exclam
shiftr ctrll keycode 2 = exclam
shift shiftr ctrll keycode 2 = one
altgr shiftr ctrll keycode 2 = exclam
shift altgr shiftr ctrll keycode 2 = exclam
alt shiftr ctrll keycode 2 = Meta_exclam
shift alt shiftr ctrll keycode 2 = Meta_one
altgr alt shiftr ctrll keycode 2 = Meta_exclam
shift altgr alt shiftr ctrll keycode 2 = Meta_exclam
shiftl shiftr ctrll keycode 2 = exclam
shift shiftl shiftr ctrll keycode 2 = one
altgr shiftl shiftr ctrll keycode 2 = exclam
shift altgr shiftl shiftr ctrll keycode 2 = exclam
alt shiftl shiftr ctrll keycode 2 = Meta_exclam
shift alt shiftl shiftr ctrll keycode 2 = Meta_one
altgr alt shiftl shiftr ctrll keycode 2 = Meta_exclam
shift altgr alt shiftl shiftr ctrll keycode 2 = Meta_exclam
La granularité supplémentaire est due au fait que vous utilisez souvent plus de raccourcis clavier lorsque vous utilisez la console, en raison de sa nature.
Maintenant, pour tester vos modifications, vous pouvez utiliser la commande suivante:
loadkeys ~/my_keymap.map
Jouez, utilisez les programmes que vous utilisez habituellement et assurez-vous qu'il fonctionne comme vous le souhaitez. Si vous vous êtes trompé, vous pouvez simplement utiliser la commande loadkeys
pour revenir à la valeur par défaut. Pour le rendre permanent, vous pouvez ajouter la commande à la fin de votre fichier ~/.bashrc
.