5.6. Touches

Une séquence de touches (touche, pour simplifier) est une séquence d'événements d'entrée étant significative en tant qu'unité--en tant que "commande simple." Certaines séquences de commandes d'Emacs sont juste un caractère ou un événement ; par exemple, C-f seulement est suffisant pour avancer d'un caractère. Mais Emacs a aussi des commandes que l'on invoque avec deux événements ou plus.

Si une séquence d'événements est suffisante pour invoquer une commande, c'est une touche complète. Des exemples de touches complètes sont C-a, X, RET, NEXT (une touche de fonction), DOWN (une touche de curseur), C-x C-f et C-x 4 C-f. Si elle n'est pas assez longue pour être complète, nous l'appelerons une touche préfixe. Les exemples précédents montrent que C-x et C-x 4 sont des touches préfixe. Chaque séquence de touches est soit une touche complète, soit une touche préfixe.

La plupart des caractères simples constituent des touches complètes dans les raccourcis clavier standards d'Emacs. Certains d'entre eux sont des touches préfixes. Une touche préfixe se combine avec l'événement d'entrée suivant pour former une séquence de touches plus longue, qui peut elle-même être soit complète, soit préfixe. Par exemple, C-x est une touche préfixe, et C-x et l'événement d'entrée suivant se combinent pour former une séquence de touches de deux caractères. La plupart de ces séquences de touches sont complètes, comme C-x C-f et C-x b. Certaines, comme C-x 4 et C-x r, sont elles-mêmes préfixes, conduisant à des séquences de touches de trois caractères. Il n'y a pas de limite à la longueur d'une séquence de touches, mais en pratique on utilise rarement des séquences plus longues que quatre événements.

Par contraste, vous ne pouvez pas ajouter des événements à une touche complète. Par exemple, la séquence de deux caractères C-f C-k n'est pas une touche, car C-f est complète à elle seule. Il est impossible de donner à C-f C-k une signification indépendante. C-f C-k forme deux séquences de touches, et non une.

Pour tout dire, les touches préfixes sous Emacs sont C-c, C-h, C-x, C-x RET, C-x @, C-x a, C-x n, C-x r, C-x v, C-x 4, C-x 5, C-x 6, ESC, M-g et M-j. Mais cette liste n'est pas fixée concrètement ; c'est juste du point de vue des raccourcis clavier standards d'Emacs. Si vous presonnalisez Emacs, vous pouvez définir de nouvelles touches préfixes, ou en éliminer... Section 32.4.

Si vous définissez ou éliminez des touches préfixes, vous changez le jeu de séquences de touches possibles. Par exemple, si vous redéfinissez C-f comme un préfixe, C-f C-k devient automatiquement une touche (complète, à moins que vous la définissiez aussi comme préfixe). Inversement, si vous supprimez la définition du préfixe C-x 4, alors C-x 4 f (ou C-x 4 anything) n'est plus une touche.

Le fait de taper le caractère d'aide (C-h ou F1) après un caractère préfixe affiche une liste des commandes commençcant par ce préfixe. Il existe quelques caractères préfixes pour lesquels C-h ne marche pas--pour des raisons historiques, elles ont des significations différentes pour C-h qui seraient difficiles de changer. Mais F1 devrait marcher pour tous les caractèrs préfixes.