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'appellerons 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 standard d'Emacs. Certains d'entre eux sont des touches préfixe. 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éfixe, 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éfixe 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 standard d'Emacs. Si vous presonnalisez Emacs, vous pouvez définir de nouvelles touches préfixe, ou en éliminer... Section 32.4.

Si vous définissez ou éliminez des touches préfixe, 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 ne 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 n'importe quoi) 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çant par ce préfixe. Il existe quelques caractères préfixe pour lesquels C-h ne marche pas -- pour des raisons historiques, elles ont des significations différentes pour C-h qu'il serait difficile de changer. Mais F1 devrait marcher pour tous les caractères préfixe.