5.6 Voir l'invisible
Les caractères de contrôle ne sont pas directement visualisables.
Ils peuvent l'être par leurs effets sur le curseur ou l'écran (et encore
seulement à basse vitesse).
On peut aussi les associer à des séquences de caractères normaux.
Par exemple Retour Chariot peut être associé à
-
CR, dans ce présent ouvrage et selon la terminologie ASCII (cf. Annexe 1)
- M, UNIX qualifie cette notation de à la DEC
- \015,
c'est la vieille notation octale propre à UNIX et C, aberrante sur des
machines à 8/16/32 bits mais maintenue par une tradition décennaire.
L'interface peut être programmée pour visualiser les caractères
de contrôle émis en écho
stty ctlecho # le mode natif
ou pour supprimer cet écho particulier
stty -ctlecho
Dans ce mode, l'exemple précédent conduira à:
---------- |
-------- |
---------- |
------- |
caractères |
état du |
caractère |
état de |
émis par |
tampon |
émis vers |
l'écran |
le clavier |
|
l'écran |
|
---------- |
-------- |
--------- ------- |
initialement |
who_ |
|
who_ |
V |
who_ |
rien |
who_ |
H |
whoH_ |
^ |
who^_ |
|
|
H |
who^H_ |
H |
who_ |
H |
who^H |
|
|
SP |
who^ _ |
|
|
H |
who^_ |
|
|
H |
who^ |
|
|
SP |
who _ |
|
|
H |
who_ |
L'interface use toujours de caractères de contrôle mais visualise
différemment la ligne courante.
Quoique représenté graphiquement
par deux caractères, l'espacement arrière est
traité comme il doit l'être : comme un unique caractère.
Il n'est plus possible de se rendre compte du contenu exact de la ligne
courante, sauf à très basse vitesse où l'on peut suivre les
mouvements du curseur.
ctlecho (pour ConTroL character ECHO)
ne s'intéresse qu'au seul écho des caractères entrants.
Les caractères sortant ne sont nullement affectés
et pour visualiser ceux-ci,
utilisez, par exemple,
cat -v -t -e.
Parmi les caractères de contrôle, la tabulation (I ou TAB) joue un rôle
particulier.
Tout comme les machines à écrire, et dans un même but de composition
de tableaux à colonnes soigneusement alignées, la tabulation lorsque
frappée au clavier enjoint au curseur de se placer sur la prochaine
tabulation.
Sur les écrans celles-ci sont généralement placées toutes les huit positions
à partir de la première colonne.
Sur les imprimantes, elles sont souvent réglables à des valeurs
quelconques.
Pour les dispositifs ignorant la tabulation l'interface peut simuler
cette fonction.
TAB, en écho, est convertie en le nombre de SP nécessaire pour que le
curseur regagne la prochaine tabulation.
Ainsi donc
---------- |
-------- |
---------- |
------- |
caractères |
état du |
caractère |
état de |
émis par |
tampon |
émis vers |
l'écran |
le clavier |
|
l'écran |
|
---------- |
-------- |
--------- ------- |
initialement |
who_ |
|
who_ |
I |
whoI |
SP |
who _ |
|
|
SP |
who _ |
|
|
SP |
who _ |
|
|
SP |
who _ |
la tabulation a ici engendrée quatre blancs pour amener le curseur en
neuvième colonne.
Un seul Retour Arrière annule ces quatre blancs.
---------- |
-------- |
---------- |
------- |
caractères |
état du |
caractère |
état de |
émis par |
tampon |
émis vers |
l'écran |
le clavier |
|
l'écran |
|
---------- |
-------- |
--------- ------- |
initialement |
whoI_ |
|
who _ |
H |
who_ |
H |
who _ |
|
|
H |
who _ |
|
|
H |
who _ |
|
|
H |
who_ |