web-dev-qa-db-fra.com

Configurez le verrouillage des majuscules comme AltGr et les flèches comme dans vim

1. Comment cartographier globalement Caps Lock à AltGr?

Je n'ai pas besoin de CapsLock et j'aimerais plutôt avoir la clé AltGr facilement accessible

2. Je veux mapper toutes les touches de mouvement sur vim- comme des positions

  • AltGr+F = Backspace
  • AltGr+H = LeftArr
  • AltGr+J = DownArr
  • AltGr+L = RightArr
  • AltGr+K = UpArr
  • AltGr+U = PgUp
  • AltGr+D = PgDown
  • AltGr+S = Enter
  • AltGr+3 = Pos1
  • AltGr+$ = End
  • AltGr+X = Del

Ainsi, je peux facilement parcourir mon code sans éloigner la main de la position à 10 doigts (comme dans l'éditeur vim)

J'ai trouvé cette réponse: Comment remapper la touche majuscule sur la touche Retour arrière?
suggérant d'utiliser

xmodmap -e "keycode [code] = [new key]"

voir: http://wiki.linuxquestions.org/wiki/List_of_Keysyms_Recognised_by_Xmodmap

Mais je ne peux pas comprendre, comment ajouter cela à une combinaison de AltGr + J par exemple

Un autre point de départ serait de définir la "touche de caractère de remplacement" dans unity-control-center-> Clavier-> Raccourcis-> Taper comme Caps Lock

Mise à jour: J'ai trouvé des solutions (voir ci-dessous), mais toutes ne fonctionnent pas dans toutes les applications. Je suppose qu'il s'agit d'un paramètre global appelé "XFree 4 "utilisé par certaines applications.

Comment définir les raccourcis clavier pour XFree 4 également?

8
rubo77

Vous devez éditer /usr/share/X11/xkb/symbols/de (où /de est votre langue) et ajouter cette section dans le premier bloc, que vous utilisez dans votre langue:

            # replace Caps with AltGr
            key <CAPS> { [ ISO_Level3_Shift            ] };
            # Add vim cursor keys to be accessed with AltGr
            key <AB02> { [ x, X, Delete, Delete        ] };
            key <AC02> { [ s, S, KP_Enter, KP_Enter    ] };
            key <AC03> { [ d, D, Next, Next            ] };
            key <AC04> { [ f, F, BackSpace, BackSpace  ] };
            key <AC06> { [ h, H , Left, Left           ] };
            key <AC07> { [ j, J, Down, Down            ] };
            key <AC08> { [ k, K, Up, Up                ] };
            key <AC09> { [ l, L, Right, Right          ] };
            key <AD07> { [ u, U, Prior, Prior          ] };
            key <AE03> { [ 3, section, Home, Home      ] };
            key <AE04> { [ 4, dollar, End, End         ] };

déconnectez-vous et à nouveau afin que ce sera disponible. Seules certaines applications n'acceptent pas les paramètres, par exemple: yakuake qui peut être remplacé par guake et sublime qui peut être remplacé par atom.

EDIT: J'ai découvert que, dans yakuake, les liaisons de clé sont définies sur "XFree 4". Si vous définissez ceci sur Linux ou Solaris, les paramètres XKB y fonctionnent également:

3
rubo77

Pour remapper CapsLock en AltGr, utilisez

xmodmap -e "keycode 66 = ISO_Level3_Shift"

(source: https://superuser.com/a/138757/16042 )

Pour mapper les touches fléchées sur AltGr + h, j, k et l, utilisez xmodmap -pke pour trouver les bons paramètres:

xmodmap -pke|egrep "f F|j J|k K|h H|l L|o O|u U|d D|dollar|BackSpace"

et remplacez la cinquième valeur par les nouvelles clés et ajoutez le tout dans un script bash:

# xrandr needs the desktop to be fully loaded. add a delay, to be able to add it to Startup Applications:
sleep 15
# change BackSpace into AltGr
xmodmap -e "keycode 66 = ISO_Level3_Shift"
# set BackSpace on AltGr + F
xmodmap -e "keycode 41 = f F f F BackSpace BackSpace dstroke ordfeminine f F dstroke ordfeminine"
# create arrow keys at h,j,k,l
xmodmap -e "keycode  43 = h H h H Left Left"
xmodmap -e "keycode  44 = j J j J Down Down"
xmodmap -e "keycode  45 = k K k K Up Up"
xmodmap -e "keycode  46 = l L l L Right Right"
xmodmap -e "keycode  30 = u U u U Prior Prior"
xmodmap -e "keycode  40 = d D d D Next Next"
xmodmap -e "keycode  12 = 3 section 3 numbersign Home Home"
xmodmap -e "keycode  13 = 4 dollar 4 dollar End End"
xmodmap -e "keycode  53 = x X x X Delete Delete"

(source: https://askubuntu.com/a/466315/34298 )

Mettez ce script bash dans votre Applications de démarrage (Chooe Dash> Applications de démarrage> Ajouter et ajoutez la commande.)

Remarque: étrangement dans gnome-terminal cela fonctionne très bien, mais dans yakuake cela fonctionne pour BackSpace sur AltGr + F mais il définit AltGr + h, j, k et l sur D, B, A et C sauf si vous définissez la liaison de clé sur "Linux" au lieu de "(Par défaut) XFree 4", et dans sublime-text, cela ne fonctionne pas du tout

0
rubo77

afin d'obtenir AltGr+hj,k,l ou toute autre clé sans aucune application comme Autokey à peform  vous pouvez personnaliser la disposition de votre clavier dans /usr/share/X11/xkb/symboles/. Pour le moment, j'utilise la mise en page allemande "de". Alors tout d'abord je voudrais:

1- copier la mise en page standard

cp /usr/share/X11/xkb/symbols/de /usr/share/X11/xkb/symbols/de.bak

2- ouvrez votre mise en page avec votre éditeur de texte de préférence (ici: gedit)

Sudo gedit /usr/share/X11/xkb/symbols/de 

là tu vas voir quelque chose comme:

key <AD03>  { [         e,          E,     EuroSign,     EuroSign ] };
key <AD06>  { [         z,          Z,    leftarrow,          yen ] };
key <AD11>  { [udiaeresis, Udiaeresis, dead_diaeresis, dead_abovering ] };
....
....
key <AD12>  { [      plus,   asterisk,   dead_tilde,  macron ]  };
key <AC02>  { [               s,               S,          ssharp,          U017F ] }; 
key <AC06>  { [               h,               H,            Left,             Left ]   }; 
key <AC07>  { [               j,               J,            Down,             Down ]   }; 
key <AC08>  { [               k,               K,              Up,               Up ]   }; 
key <AC09>  { [               l,               L,           Right,            Right ]   }; 
....
....
key <AB10>  { [     minus, underscore,               endash,     emdash ] };
key <LSGT>  { [     less,     greater,                  bar,     NoSymbol   ] };

Comme vous pouvez le voir, AB, AC, AD, AE représentent la ligne et le nombre représente sa position sur le clavier (il existe des touches spéciales, telles que la touche inférieure/supérieure, qui peuvent également être remappées à d’autres touches.

Vous ne trouverez pas ici tout le clavier, mais seulement ceux qui sont différents sur lesquels repose la disposition du clavier. La version allemande est basée sur "latin (type4)" comme vous pouvez le voir au début du fichier:

include "latin(type4)"

Ensuite, il vous suffit de changer en fonction de vos besoins. Cela fonctionne comme:

clé {[ keykey+shiftkey+AltGrkey+Shift+AltGr ]};

(il est également possible d'ajouter des modificateurs de niveau 5 ou plus)

si vous voulez vérifier les modifications sans redémarrer; (changer "de" pour votre mise en page ... voici un liste avec les mises en page possibles )

 setxkbmap -layout de

Les flèches sont étiquetées exactement comme "Gauche, Droite, Bas, Haut", comme indiqué. Voici une bonne liste de valeurs possibles.

ici est un exemple de ma mise en page personnalisée. (mais pas utilisé pour le moment)

Ensuite, vous devrez remapper Capslock et AltGr, ou est-ce que cela fonctionnait déjà après la question que vous avez postée?

Si vous souhaitez également conserver une mise en page allemande "normale", vous pouvez modifier une autre mise en page que vous n'utilisez pas normalement (ou modifier les "clés allemandes non mortes" que vous trouverez plus loin dans le même fichier "de". ..)

Source: lien vers une explication très complète des mises en page xbk et personnalisées.
lien à une question similaire avec une bonne réponse.

0
Marcelo Avila