Page suivante - Page précédente - Table des matières

20. Annexe B : terminologie des commandes de séquences d'échappement

On les appelle parfois "séquences de contrôle". Cette section du Text-Terminal HOWTO est incomplète (et pourra ne jamais être complète car il y a un grand nombre de séquences de contrôle). Cette section sert de référence et appartient peut-être vraiment à ce qu'on pourrait appeler "Text-Terminal-Programming-HOWTO" (HOWTO sur la programmation d'un terminal texte).

Un exemple de séquence d'échappement ANSI normale est ESC[5B qui déplace le curseur vers le bas de cinq lignes. ESC est le caractère d'échappement. Le paramètre 5 est inclus dans la séquence. Si c'était 7 le curseur bougerait vers le bas de sept lignes, etc. Il est facile de comprendre l'explication suivante pour la séquence : "déplacer le curseur vers le bas de x lignes : ESC[xB". Mais un jargon de commande tel que : "requête d'attribut pour périphérique tertiaire" est moins compréhensible. Cette section essaiera d'expliquer une partie du jargon utilisé dans les commandes de séquences d'échappement. Une liste complète (comprenant les codes de séquences d'échappement pour la norme ANSI) est un projet "qu'on voudrait bien faire". Puisque beaucoup de séquences d'échappement font la même chose que ce qui est fait en configurant le terminal avec options de configuration, de telles options en séquences d'échappement ne seront pas répétées ici.

20.1 Liste de séquences d'échappement

Pour avoir une liste de nombreuses séquences d'échappement (mais pas toutes) pour divers terminaux, voyez séquences d'échappement ; Amérique du Nord ou séquences d'échappement ; Europe. On utilise celles-ci pour émuler un terminal et elles ne sont pas toujours les mêmes que sur le vrai terminal correspondant. Une liste pour les VT (non maintenue) se trouve à FAQ Émulateurs. Cherchez "VT".

20.2 Codes de contrôle 8 bits

Table des codes de contrôle 8 bits DEC (en hexadécimal). Fonctionne sur les VT2xx ou plus récents. CSI est le code le plus courant.

ACRONYME        NOM_COMPLET                     HEXA    REMPLACE
IND     Index (une ligne vers le bas)           84      ESC D
NEL     Ligne Suivante                          85      ESC E
RI      Index Inverse (une ligne vers le haut)  8D      ESC M
SS2     Décalage Simple 2                       8E      ESC N
SS3     Décalage Simple 3                       8F      ESC O
DCS     Chaîne de Contrôle Périphérique         90      ESC P
CSI     Introduction Séquence de Contrôle       9B      ESC [
ST      Terminaison de Chaîne                   9C      ESC \

20.3 Échappement pour l'imprimante

  • Auto Print on/off (impression automatique oui/non) : Activée (on), les données venant de l'hôte sont aussi envoyées sur le port imprimante du terminal (et sont aussi affichées sur l'écran du terminal).
  • Print Controller on/off (contrôleur d'impression oui/non) : Activée (on), les données venant de l'hôte ne sont envoyées qu'à l'imprimante (rien ne s'affiche sur l'écran du terminal).

20.4 Rapports

Ces séquences sont en général des requêtes envoyées de l'hôte pour demander un rapport du terminal. Le terminal répond en envoyant un rapport (en fait une autre séquence d'échappement) à l'hôte qui y a intégré certaines valeurs indiquant à l'hôte l'état en cours du terminal. Dans certains cas un rapport peut être envoyé à l'hôte même s'il n'a pas été demandé. Ceci arrive parfois quand on quitte la configuration. Par défaut aucun rapport non sollicité ne devrait être envoyé.

  • Request for Status (Report Operating Status) (Demande d'état, rapporter l'état d'opération) : la signification des réponses du VT100 est soit "je vais bien", soit "je ne vais pas bien"
  • Request for Device Attributes (demande des attributs du périphérique) : le "périphérique" est en général l'imprimante. Y a-t-il une imprimante ? Est-elle prête ?
  • Request for Tertiary Device Attributes (pour les VT) (demande des attributs des périphériques tertiaires) : la réponse est le rapport qui a été entré pendant la configuration. Le périphérique tertiaire est le troisième périphérique (l'imprimante ou le périphérique sur le port auxiliaire ??). Le premier périphérique peut être l'ordinateur hôte et le deuxième périphérique le terminal.
  • Request for Terminal Parameters (demande des paramètres du terminal) : quelle est la parité, la vitesse de transmission, la largeur d'octets, etc. Cette demande n'a pas l'air d'avoir beaucoup de sens, puisque si l'hôte ne connaissait pas déjà ces données, il ne pourrait pas communiquer avec le terminal ou envoyer une réponse.

20.5 Mouvements du curseur

Le curseur se trouve à l'endroit où le prochain caractère reçu de l'hôte sera affiché. La plupart des mouvements de curseur sont compréhensibles. "index cursor" (indexer le curseur) veut dire déplacer le curseur vers le bas d'une ligne. Les mouvements du curseur peuvent être relatifs à la position en cours comme "déplacer de 4 espaces vers la gauche" ou absolus comme "déplacer à la rangée 3, colonne 39". Le mouvement absolu s'appelle "positionnement direct du curseur" ou "adressage direct du curseur".

La position d'origine est rangée 1, colonne 1 (l'origine de l'index est 1). Mais l'emplacement de cette position d'origine à l'écran n'est pas clair. Si "mode d'origine du curseur", équivalent à "mode d'origine relatif", est choisi, l'origine se trouve en haut de la partie défilante (pas forcément le haut de l'écran). Si le "mode d'origine absolu" est choisi (même chose que désactiver l'un des deux modes de la phrase précédente) alors l'origine se situe dans le coin en haut à gauche de l'écran. Sur certains terminaux anciens si le "mode d'origine du curseur" est activé, cela veut dire que c'est relatif.

20.6 Pages (définition)

Voyez pages pour avoir une explication sur les pages. Il y a un certain nombre de séquences d'échappement pour s'occuper des pages. Le texte peut être copié d'une page à une autre et on peut déplacer le curseur de page en page. Le passage d'une page à l'autre peut ou peut ne pas être automatique : quand l'écran est plein (page 1), alors les données supplémentaires venant de l'hôte vont sur la page 2. Le curseur peut n'être que sur une page à la fois et les caractères envoyés au terminal vont là. Si cette page n'est pas affichée, le nouveau texte sera reçu par le terminal et ira en mémoire d'affichage, mais vous ne le verrez pas (jusqu'à ce qu'on passe à cette page sur le terminal).


Page suivante - Page précédente - Table des matières