Sistemas operativos modernos

grande bien podría tener una amplia variedad de terminales diferentes conectadas, corresponde al controlador de teclado convertir todas las combinaciones de retomo de carro/salto de línea al es­ tándar interno del sistema y cuidar que el eco sea correcto. Cuando se opera en modo canónico, varios de los caracteres de entrada tienen significado es­ pecial. En la figura 5-36 se muestran todos los caracteres especiales que exige POSIX. Todos los caracteres predeterminados son de control y no deberían causar conflictos con las entradas de tex­ to ni con ios códigos empleados por los programas, aunque todos, menos los últimos dos, pue­ den cambiarse bajo el control del programa. Carácter Nombre POSIX Significado CTRL-H ERASE Retroceder un carácter CTRL-U KILL Borrar toda la línea tecleada CTRL-V LNEXT Interpretar literalmente el carácter que sigue CTRL-S STOP Parar la salida CTRL-Q START Iniciar la salida DEL INTR Interrumpir el proceso (SIGINT) CTRLA QUIT Forzar vaciado de memoria (SIGOUIT) CTRL-D EOF Fin de archivo CTRL-M CR Retorno de carro (inalterable) CTRL-J NL Salto de línea (inalterable) Figura 5-36. Caracteres que se manejan de forma especial en modo canónico. El carácter ERASE permite al usuario borrar el carácter que acaba de teclear. Por lo regu­ lar, es el retroceso (CTRL-H). Éste no se añade a la cola de caracteres sino que quita el carác­ ter anterior de la cola. Debe hacerse eco de él como una sucesión de tres caracteres, retroceso, espacio y retroceso, para borrar el carácter anterior de la pantalla. Si el carácter anterior fue una tabulación, su borrado dependerá de la forma en que se le procesó cuando se tecleó. Si de in­ mediato se le expande a varios espacios, se requerirá información adicional para determinar cuánto hay que retroceder. Si la tabulación misma se guarda en la cola de entrada, se le podrá quitar, simplemente exhibiendo otra vez toda la línea. En la mayoría de los sistemas, el retro­ ceso sólo borra caracteres en la línea actual. No borra un retomo de carro para retroceder a la línea anterior. Cuando el usuario nota un error al principio de la línea que está tecleando, suele ser conve­ niente que la borre toda y que la teclee nuevamente. El carácter KILL borra toda la línea. Casi to­ dos los sistemas hacen que la línea borrada desaparezca de la pantalla, pero unos cuantos hacen eco del carácter junto con un retomo de carro y salto de línea, porque algunos usuarios prefieren ver la línea antigua. Por ello, la forma de hacer eco de KILL es cuesfión de gusto. Al igual que con ERASE, no es posible ir más atrás de la línea actual. Cuando se elimina un bloque de carac­ teres, podría valer la pena o no que el controlador devuelva búferes a la reserva, si se usa una.

RkJQdWJsaXNoZXIy MjI4NDcx