Mapper les flèches du clavier aux raccourcis


9

Je tape avec les dix doigts donc je me sers Alt+ H( J, K, L) raccourcis dans Vim en mode d'insertion pour déplacer le curseur et il est très cool :) Je voudrais clés remapper flèche dans X (Gnome) d'utiliser ces raccourcis dans tous les X applications

Donc, si j'appuie sur Alt+, Kcela devrait fonctionner comme une flèche vers le haut.

Pour l'auto-torture :) vous pouvez inclure ces lignes dans votre .gvimrc

inoremap <Left>  <NOP>
inoremap <Right> <NOP>
inoremap <Up>    <NOP>
inoremap <Down>  <NOP>
inoremap <A-h> <Left>
inoremap <A-j> <Down>
inoremap <A-k> <Up>
inoremap <A-l> <Right>

Réponses:


2

Pas exactement ce que vous demandez, mais presque ...

Vous pouvez remapper les paramètres du clavier X à l'aide de la xmodmapcommande. Vous pouvez voir les paramètres actuels en exécutantxmodmap -pke

Chaque code de touche (qui est une valeur associée à chaque touche de votre clavier) peut être associé à 8 clés (qui est essentiellement la sortie). Ils sont les suivants:

  1. Lorsqu'il est pressé seul
  2. Lorsque pressé avec shift
  3. Lorsqu'il est pressé avec le commutateur de mode activé (semble être obsolète)
  4. Lorsqu'il est enfoncé avec le commutateur de mode et le décalage (semble être obsolète)
  5. Lorsqu'il est pressé avec Alt-Gr (alias ISO_Level3_Shift en termes xmodmap)
  6. Lorsqu'il est pressé avec Alt-Gr et shift

Donc, actuellement, ma touche "h" ressemble à ceci:

h H h H hstroke Hstroke

où la combinaison de touches Hstroke produit Ħ.

À moins que vous n'utilisiez Alt-Gr pour saisir des caractères non ascii, vous pouvez remapper h, j, k et l avec Alt-Gr pour faire ce que vous voulez. Ce serait:

xmodmap -e 'keycode 43 = h H h H Left Hstroke'
xmodmap -e 'keycode 44 = j J j J Up J'
xmodmap -e 'keycode 45 = k K k K Down ampersand'
xmodmap -e 'keycode 46 = l L l L Right Lstroke'

L'Alt-Gr avec des entrées de décalage n'est pas strictement nécessaire bien sûr, je préserve simplement les valeurs qui existent déjà. Vous pouvez trouver les valeurs du code clé en exécutant la xevcommande à partir d'un terminal. xevaffiche X événements, vous pouvez donc appuyer sur une touche et trouver des informations à ce sujet.

Pour rendre ce paramètre permanent, vous pouvez ajouter ce qui suit à .Xmodmap dans votre répertoire personnel

keycode 43 = h H h H Left Hstroke
keycode 44 = j J j J Up J
keycode 45 = k K k K Down ampersand
keycode 46 = l L l L Right Lstroke

Appuyer sur Alt-Gr n'est certainement pas aussi agréable que d'appuyer sur Alt lors de l'utilisation de hjkl, mais vous, je pense que vous pourriez avoir du mal à faire fonctionner simplement Alt parce qu'il est utilisé pour l'accès au menu. Vous pourrez peut-être utiliser les informations de cette réponse ainsi que les outils mentionnés par Fraekkert pour lier par exemple Alt-Shift-h à la place, ce qui pourrait vous convenir mieux.

Il convient également de noter que vous pouvez définir le mode vi dans bash (ou quel que soit le shell que vous utilisez) à l'aide de set -o vi. Cela vous donne un comportement similaire à celui de vi lors de la modification des lignes de commande et de l'historique. Je ne pense pas que cela regarde votre .vimrc, alors ne vous attendez pas à ce que vos remappages clés fonctionnent.


0

J'utiliserais une combinaison du panneau de préférences des raccourcis clavier et de xvkbd.

xvkbd vous permet d'envoyer des événements clavier via la ligne de commande et les raccourcis clavier vous permettent de lier des lignes de commande à des événements clés.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.