GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Inverser le rôle d'appuyer sur Maj + numéro ?

existe-t-il un moyen 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 [email protected]#$%^&*() sans l'utilisation de shift, je serais très reconnaissant.

Réponse acceptée :

C'est en fait assez facile à réaliser en utilisant 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, déconnectez-vous et reconnectez-vous (vous devrez peut-être redémarrer), et vos clés seront échangées. Continuez à lire pour savoir comment j'ai trouvé cela. Les informations que j'ai utilisées pour comprendre cela viennent d'ici. Lancez un terminal et tapez la commande suivante :

xmodmap -pke

Cela crachera un tas de paires paramètre/valeur de code clé, 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 d'activation est la touche de votre clavier physique et la valeur à droite du signe égal correspond à ce qui est envoyé à votre PC. La raison pour laquelle il y en a quatre est que le premier est simple, le second avec la touche Maj enfoncée, et le troisième (plein) et le quatrième (maj) semblent être activés une fois que vous avez cliqué sur le bouton Arrêt du défilement. Comme vous pouvez le voir, cela vous donne beaucoup de flexibilité pour faire tout ce que vous pouvez imaginer pour modifier votre clavier.

Maintenant, cela ne fonctionnera que lorsque vous êtes connecté à X (comme dans l'interface graphique), d'où le nom. Si vous lancez un terminal dans Gnome, Unity, etc., vous utilisez toujours Xmodmap, mais si vous voulez la même fonctionnalité dans la console (c'est-à-dire après avoir appuyé sur CTRL + ALT + 1, entrer dans une boîte, travailler 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 réelle, elles ne peuvent pas être effectuées avec un émulateur de terminal, ou vous recevrez une erreur, comme celle-ci :Couldn't get a file descriptor referring to the console .

Nous devrons d'abord créer notre keymap par défaut, comme ceci :

dumpkeys > ~/my_keymap.map

Ce serait une bonne idée d'en faire une copie au cas où vous vous tromperiez vraiment. Maintenant, nous avons juste besoin de le modifier, 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 voir, il offre beaucoup plus de fonctionnalités/granularité. Pour chaque clé, échangez simplement le décalage et les valeurs normales, c'est-à-dire que voici 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 raison de la granularité supplémentaire est que vous avez tendance à utiliser beaucoup plus de raccourcis clavier lorsque vous utilisez la console, en raison de sa nature.

Connexe :Comment installer Tor dans Ubuntu ?

Maintenant, pour tester vos modifications, vous pouvez utiliser la commande suivante :

loadkeys ~/my_keymap.map

Jouez, utilisez certains programmes que vous utilisez habituellement et assurez-vous que cela fonctionne comme vous le souhaitez. Si vous vous trompez, vous pouvez simplement utiliser les loadkeys commande pour revenir à la valeur par défaut. Pour le rendre permanent, vous pouvez ajouter la commande à la fin de votre ~/.bashrc fichier.

En relation:"sudo apt-get install foo-" entraîne la suppression du package foo et de tout ce qui en dépend ?
Ubuntu
  1. Comment créer un rôle IAM dans AWS à l'aide de Terraform

  2. Rôle des VPN dans SASE

  3. Comment débloquer après avoir appuyé accidentellement sur Ctrl-s dans un terminal ?

  4. Le pavé tactile ne fonctionne pas lorsque vous appuyez sur les touches de saisie après la mise à niveau 16.10 ?

  5. Comment installer le rôle Hyper-V sur un serveur Windows Server 2008 R2

Comment geler Ubuntu en appuyant sur une touche (n'essayez pas cela à la maison)

Contrôle d'accès basé sur les rôles Snowflake (RBAC) expliqué

Rôles Ansible et comment les utiliser dans les Playbooks

Gnome Shell :appuyer sur la super touche ne fonctionne pas ?

Comment installer le rôle DNS sur Windows Server 2012

Installer le rôle de serveur WSUS