La personnalisation de clavier
la plus extrême dans le quartier
Partie 1
Matériel
D'abord, j'ai choisi le clavier ergonomique chez KINESIS comme
matériel de saisie. Voici l'allure qu'il a.
En fait, ce clavier est un peu grand pour mes mains (je suis
relativement petit; j'étais trop paresseux pour grandir comme les
autres), néanmoins il est beaucoup mieux que les claviers ordinaires.
Particulièrement, je l'apprécie parce que certains touches, comme Back
Space et Control, sont attribuées aux pouces. Les pouces sont
performants en capacité de mouvement et ils sont capable de faire plus
que de tapper la barre d'espace.
Pour les détails du clavier ergonomique, visitez la
page web de chez KINESIS.
Utilisation d'XKB
Ensuite, j'ai décidé de modifier la disposition des touches de
commande, c'est-à-dire les touches avec Control ou Meta. Emacs est
un éditeur très puissant, mais sa disposition des touches de commands
m'apparaît moins ergonomique par rapport à, par exemple, vi.
Bien sûr, on peut modifier les assignations de touche avec la commande
'define-key' d'Emacs. Mais comme Emacs a beaucoup de keymaps,
il est difficile de redéfinir les assignations pour tous les keymaps.
Ce n'est pas un moyen qu'un homme parresseux prenne.
Donc j'ai décidé d'utiliser 'XKB' qui est une extension du système de
fenêtre X. XKB vous laisse changer la disposition des touches presque
sans limitation. Comme le serveur X procède les événements de touche,
vous ne devez pas redéfinir tous les keymaps en utilisant 'define-key'.
Voilà la disposition de mes touches de commande.
J'ai voulu avoir deux touches Control et deux touches Meta aux
positions symétriques et pratiques. C'est la raison pour laquelle
elles sont là. Ensuite j'ai réuni au côté droit du clavier des
commandes qui sont utilisées fréquemment et sont appelées par une
touche et au côté gauche des commandes qui sont utilisées fréquemment
et sont appelées par deux touches. Voilà les explications.
-
'C-f', 'C-b', 'C-n' et 'C-p' sont placées
aux positions semblable à celles de vi. Sans doute ces quatre
commandes sont utilisées le plus fréquemment et il est raisonnable de
les mettre aux positions-là.
-
'C-a' et 'C-e' sont
quelque chose de semblable à 'super C-b' et
'super C-f'. Donc 'C-a est placée au-dessus de 'C-b' et 'C-e' au-dessus de
'C-f'.
-
Comme 'C-p' et 'C-n'
sont devenues disponibles aux positions principales de la main droite,
nous pouvons utiliser 'up-arrow' et 'down-arrow' pour autres buts. Je les ai échangées
contre 'Page Up' et 'Page
Down' pour que je puisse avancer et reculer facilement non pas
la fenêtre presente mais aussi celle de l'autre.
-
De plus, j'ai assigné 'Home' et 'End' aux positions shift de 'Page
Up' et 'Page Down' expliquées plus
haut, parce que la fonction beginning-of-buffer est quelque chose
semblable à 'super Page Up' et end-of-buffer est quelque chose
semblable à 'super Page Down'. Ces assignations nous permettent aussi
l'accès facile à beginning-of-buffer-other-window et
end-of-buffer-other-window'.
-
Il ne faut pas oublier 'C-d'; une des
commandes utilisées le plus fréquemment. Elle est attribuée au doigt
le plus vite, c'est-à-dire l'index droit.
-
J'utilise rarement la souris pour effacer ou copier. Au lieu de ça,
j'utilise 'C-k', 'C-w', 'C-y', 'M-w', 'M-y', etc. qui sont
tous les commandes appelées par une touche. Donc elles sont réunies
au coin droit et bas.
-
'C-x' et 'M-x' sont
fréquemment utilisées mais elles sont toujours suivies par autres
touches. Donc la touche 'x' est attribuée à
l'index gauche (gauche pour touches plurielles et l'index pour la
commodité).
-
'C-s' et 'C-r' sont
des commandes très pratiques mais elles exigent une chaîne de
caractères. Donc elles se trouvent aussi à gauche.
-
J'ai attribué la commande 'undo' (originairement 'C-_' ou 'C-x C-u') à la
touche 'left-arrow'. C'est une exception
parce que 'undo' est une commande appelée par une touche. Mais le
symbole de flèche gauche fait allusion à l'action de 'rentrer'. Vous
ne le croyez pas?
-
Finalement j'ai séparé 'Alt' de 'Meta' et ai fait les modificateurs 'Super' et 'Hyper' aussi
disponibles.
Bon, mais pourquoi la touche
'h' est à droite et les
'z' et 'o' sont à gauche?
Pour savoir la réponse, lisez la section suivante.
Modifications supplémentaires avec global-set-key
En plus du changement avec XKB, j'ai ajouté quelques
commandes 'global-set-key' dans le fichier ~/.emacs.
-
Les deux commandes à ouvrir un fichier, 'find-file' et
'find-file-other-window', sont assignées à 'C-o' et à 'M-o'. 'C-' signifie cette fenêtre; 'M-' signifie l'autre fenêtre. Malgré on les utilise
souvent, les assignations originaires, i.e. 'C-x
C-f' et 'C-x 4 C-f' sont trop longues
pour un homme paresseux comme moi. Tous les deux réclament un nom du
fichier, donc elles sont des commandes multi-touches. C'est la raison
pour laquelle leur disposition est à main gauche du clavier. Voyez
'C-z' et 'M-z' plus
bas.
-
Si on redéfinit 'C-o', où trouve-on la
commande 'open-line'? La réponse est 'M-m'.
Pourquoi? Parce que 'new-line' (assignée à 'C-m') et 'open-line' marchent symétriquement;
celle-ci insére un '\n' devant le point et
celle-là insére un '\n' derrière le point. En
résumé,
| touche |
nom de function |
effet |
| C-m |
new-line |
insére un \n devant le point |
| M-m |
open-line |
insére un \n derriere le point |
Bien défini, n'est-ce pas?
-
Les deux commandes à changer le tampon 'switch-to-buffer et
'switch-to-buffer-other-window' sont assignées à 'C-z' et à 'M-z'. 'C-' signifie cette fenêtre; 'M-' signifie l'autre fenêtre. Malgré on les utilise
souvent, les assignations originaires, i.e. 'C-x
b' et 'C-x 4 b' sont trop longues pour
un homme paresseux comme moi. Tous les deux réclament un nom du
tampon, donc elles sont des commandes multi-touches. C'est la raison
pour laquelle leur disposition est à la gauche du clavier. Voyez
'C-o' et 'M-o' plus
haut.
A cause de cette configuration, 'iconify-frame' et 'zap-to-char'
deviennent indisponibles. Mais cela ne me fait aucun problème comme
je n'utilise jamais ces commandes.
-
'C-h' (other-window) et 'M-h' (delete-other-window) changent la configuration
des fenêtres. Ici, 'C-' et 'M-' ne sont pas si symétriques par rapport à la
paire plus haut. En tout cas ce sont des commandes fréquentes et
tape-simples, donc assignées à la droite du clavier.
-
Comment appelle-t-on la fonction d'aide si 'C-h' est assigné à une autre commande? C'est 'M-i'. J'ai choisi la lettre 'i' pour le mot 'information'.
-
Comme 'Page Up' et 'Page
Down' sont maintenant disponibles, on peut utiliser 'C-v' et 'M-v' pour des
autres buts. Alors je leur ai assigné '1-line scroll-up' et '1-line
scroll-down'. Ils sont pratiques pour fin régler la parti qui est
visible sur l'écran.
Voilà la fin de la première étape de notre personnalisation de clavier.
Dernière mise à jour : 20 décembre 2006