Par accident, j'ai cartographié Enter via xkbset
vers Pointer_button2
.
Maintenant, chaque fois que je frappe Enter du charabia apparaît.
J'ai pensé à une solution de contournement impliquant de le remapper, mais cela signifie que je devrai exécuter une commande xmodmap -e "keycode 135 = Pointer_Button2"
(ou tout autre code clé mais celui de Enter). Mais je ne peux pas exécuter cette commande dans le terminal, sans frapper Enter.
Comment dois-je procéder?
J'utilise Ubuntu 12.04.
Vous pouvez utiliser CTRL+J ou CTRL+M comme alternative à Enter. Ce sont les caractères de contrôle pour le saut de ligne (LF) et le retour chariot (CR).
Dans une fenêtre de terminal (j'ai testé uniquement aterm
, rxvt
, vte
et xterm
), vous pouvez sélectionner la fin de la ligne, qui a collé a pour effet de presser Enter:
# ____________type the command____________ __select to end of line__
# / \/ \
bash-4.2$ xmodmap -e "keycode 135 = Pointer_Button2"
Collez ensuite le texte sélectionné dans la fenêtre du terminal avec le clic du bouton central de la souris (ou avec un clic simultané des boutons gauche et droit de la souris, si configuré).
Exécutez la commande à partir d'un terminal non X.
CTRL+ALT+F2 devrait vous amener à une console normale. Connectez-vous en tant qu'utilisateur normal, puis exécutez-y la commande.
xmodmap
n'affecte que les sessions X, il a donc besoin de DISPLAY
pour fonctionner en dehors du serveur X, comme ceci:
DISPLAY=:0 xmodmap
Vous pouvez le mettre dans un script (.sh) puis double-cliquer dessus. La plupart des environnements de bureau modernes offrent la possibilité d'exécuter un script au lieu de l'ouvrir dans un fichier texte.
Si vous avez une souris et un affichage graphique, vous pouvez copier la fin d'une ligne précédente dans votre terminal et la coller à la fin de votre commande.
CTRL+O est une autre option. Avec bash, il exécute la commande et passe au suivant le plus récent de l'histoire, il est utile de parcourir une chaîne de commandes précédemment exécutées.