Sur Windows, je liais Ctrl+Left à Home et Ctrl + Droit à End via ahk.
Maintenant, j'ai du mal à obtenir ce comportement dans Ubuntu. J'ai essayé de modifier /etc/inputrc
:
"\e[1;5C": end-of-line
"\e[1;5D": beginning-of-line
Cela fonctionne mais seulement dans la fenêtre du terminal. J'ai aussi essayé xmodmap:
xmodmap -e "keycode 113=Left NoSymbol Home"
mais ça ne marche pas.
La chose étrange ici est que si je me lie à Shift + Left dans xmodmap cela fonctionne:
xmodmap -e "keycode 113=Left Home"
Ma conjecture est que le comportement par défaut de Ctrl + Left(Ignorez les mots) a en quelque sorte la priorité sur les liaisons xmodmap.
Où puis-je trouver où se trouvent les liaisons par défaut et comment les supprimer? Ou peut-être pourrais-je simplement lier le comportement nécessaire ici?
Je suis sur Ubuntu 12.04
AutoKey peut faire des liaisons comme celle-ci, mais cela nécessite l'exécution d'un service en arrière-plan (comme ahk, mais contrairement à xmodmap).
Configurez une "phrase" où le texte est <home>
, la méthode de collage est Keyboard
et le raccourci clavier est <ctrl>-<left>
:
J'utilise le clavier en aluminium Apple sur la station de travail Ubuntu et les commandes xmodmap suivantes l'ont fait pour moi:
# remap Ctrl_L to ModeSwitch, then use it to map arrow keys so that
# they act like on the MacBook keyboard with Fn key pressed
xmodmap -e "keycode 37=Mode_switch"
xmodmap -e "keycode 113 = Left NoSymbol Home"
xmodmap -e "keycode 114 = Right NoSymbol End"
xmodmap -e "keycode 111 = Up NoSymbol Prior"
xmodmap -e "keycode 116 = Down NoSymbol Next"
Cela fonctionne parfaitement parce que mon Caps Lock la clé est remappée sur la fonction de contrôle à l'aide des préférences de clavier Ubuntu. Par conséquent, la touche de contrôle gauche n'est pas nécessaire. Comme il est situé à l'emplacement de la touche Fn sur le clavier MacBook, le passage d'un clavier de bureau à un clavier MacBook n'a pas d'incidence sur la mémoire musculaire.