Copyright: © Friedrich Datentechnik GmbH, Alemania


Secuencias de los Comandos del Cursor

Comandos del Cursor
Comando	Secuencia

Cursor # lineas hacia arriba	ESC [ # A

Cursor # lineas hacia abajo	ESC [ # B

ESC [ # e

Cursor # columnas a la derecha	ESC [ # C

ESC [ # a

Cursor # columnas a la izquierda	ESC [ # D

Cursor # lineas hacia abajo; col=1	ESC [ # E

Cursor # lineas hacia arriba; col=1	ESC [ # F

Grabar la posición del cursor	ESC [ s

ESC 7

Devolver la posición del cursor	ESC [ u

ESC 8

Fijar la posición línea ; columna	ESC [ # ; # H

ESC [ # ; # f

Cursor a la linea #	ESC [ # d

Cursor # tabs atrás	ESC [ # Z

Cursor en modo fijo	ESC [ 33 h

Cursor en modo titilante	ESC [ 33 l

Cursor de subrayado	ESC [ 34 h

Cursor de block	ESC [ 34 l

Cursor visible	ESC [ ? 25 h

Cursor invisible	ESC [ ? 25 l


Secuencias de los Comandos Scroll

Comandos Scroll
Comando	Secuencia

Scroll una línea arriba	ESC S

Scroll # líneas arriba	ESC [ # S

Scroll una línea abajo	ESC T

Scroll # líneas abajo	ESC [ # T


Secuencias de los Comandos Editar

Comandos de Edición
Comando	Secuencia

Clear screen desde el cursor	ESC [ J

Clear screen al cursor	ESC [ 1 J

Clear screen	ESC [ 2 J

Clear línea desde el cursor	ESC [ K

Clear línea al  cursor	ESC [ 1 K

Clear línea	ESC [ 2 K

Insertar # líneas	ESC [ # L

Borrar # líneas	ESC [ # M

Insertar # caracteres	ESC [ # @

Borrar # caracteres	ESC [ # P


Secuencias de los Comandos Attribute

Comandos Attribute
Comando	Secuencia

Fijar los colores de primer plano a #	ESC [ = # F
Fijar los colores de fondo a #	ESC [ = # G

Colores de primer plano / fondo	ESC [ 2 ; # ; # m

 #	Color	  #	Color
 0	negro	  8	gris oscuro
 1	azul	  9	celeste
 2	verde	10	verde claro
 3	cyan	11	cyan claro
 4	rojo	12	rosado
 5	magenta	13	magenta claro
 6	amarillo	14	amarillo claro
 7	gris	15	blanco

Fijar los atributos de la pantalla	ESC [ # m

  #	General
  0	devolver todos los atributos
  1	primer plano en modo resaltado o negritas
  3	fondo en modo resaltado
  4	subrayado
  5	intermitencia activada
  7	modo inverso
  8	input oculto
10	limpiar MSB (gráficos ascii)
11	cambiar a un output "en crudo"
(muestra todos los codigos
como caracteres)
12	fijar MSB (gráficos ascii)
27	devolver todos los atributos
(excepto los colores)

  #	Fijar los colores de primer plano
30	negro
31	rojo
32	verde
33	amarillo
34	azul
35	magenta
36	cyan
37	gris

  #	Fijar los colores de fondo
40	negro
41	rojo
42	verde
43	amarillo
44	azul
45	magenta
46	cyan
47	gris


Secuencias de los Comandos de Informes

Comandos de Informes
Requerimiento	TelNet98
Comando	del Host	Response

Identifica la Terminal	  ESC Z	ESC [ 98 t

Posición del Cursor	  ESC [ 6 n	ESC [ # ; # R

Respuesta Recibida	  ENQ	tal como se

definió

Enviar Pantalla	  ESC [ 2 i	contenido de

la pantalla


Secuencias de Comandos Varios

Comandos Varios
Comando	Secuencia

Fin de Línea
Wrap de Linea on	ESC [ ? 7 h
Wrap de Linea off	ESC [ ? 7 l

Modo Scancode de la PC
Modo Scancode en on	ESC [ ? 34 h
Modo Scancode en off	ESC [ ? 34 l

Comandos de la PC
Nombre de Sesión	ESC [ x nombre  CR
Ejecutar un programa local en la PC	ESC [ y comando CR
ShellExec	ESC [ yShellExec SP shlobj CR

Caracteres de la PC
Mostrar el carácter # (=ascii)	ESC [ = # g

Área del Escritorio
# Lineas, # Columnas	ESC [ = # ; # R
# Lineas	ESC [ = # R
# Columnas	ESC [ = 0 ; # R

Teclas de Función
Limpiar todas las Etiquetas	ESC [ z

Inicializar la tecla de	ESC [ # z etiqueta CR
función # con Etiqueta

#1  - #12=  F1 - F12
#13 - #24=  <MAYÚS>+F1 - <MAYÚS>+F12
#25 - #36=  <CTRL>+F1 - <CTRL>+F12
#37 - #48=  <CTRL>+<MAYÚS>+F1 - <CTRL>+<MAYÚS>+F12


Secuencias de los Comandos de Impresión

Comandos de Impresora
Comando	Secuencia

Hardcopy	ESC [ i

Abrir una impresora local	ESC [ 5 i

Cerrar una impresora local	ESC [ 4 i

Ejemplos de cómo usar una impresora local

Mejoras de la Impresora TelNet98
Windows GDI resuelve las siguientes secuencias y hasta tanto, son independentes de cualquier hardware de impresora específico:

Abrir una impresora local,	ESC [ 5 ; 30 i

Orientación: Vertical

Abrir una impresora local,	ESC [ 5 ; 31 i

Orientación: Horizontal

Abrir una impresora local,	ESC [ 5 ; 32 i

+ Configuración de lmpresión

EOL; ubica la posición de impresión	ESC [ 5 ; 2 i

a la posición 0 en la línea actual

LFBACK; retrocede una línea	ESC [ 5 ; 3 i

CPI; # caracteres por pulgada	ESC [ 5 ; 6 ; # i

Ubicar la posición de impresión	ESC [ 5 ; 12 ; # i

a la columna #

Negritas on/off (# =1/0)	ESC [ 5 ; 14 ; # i

Volver todos los atributos	ESC [ 5 ; 17 i

a valores por defecto

Subrayado on/off (# =1/0)	ESC [ 5 ; 18 ; # i

Tachado on/off (# =1/0)	ESC [ 5 ; 19 ; # i

Modo Subscript on/off (# =1/0)	ESC [ 5 ; 20 ; # i

Modo Superscript on/off (# =1/0)	ESC [ 5 ; 21 ; # i

Double alto on/off (# =1/0)	ESC [ 5 ; 22 ; # i

Double ancho on/off (# =1/0)	ESC [ 5 ; 23 ; # i

Fijar la longitud de página a # líneas	ESC [ 5 ; 24 ; # i

LPI; # líneas por pulgada	ESC [ 5 ; 26 ; # i

Modo Italic on/off (# =1/0)	ESC [ 5 ; 27 ; # i

Márgenes - Superior (# =líneas)	ESC [ 5 ; 28 ; # i

Márgenes - Izquierda (# =caract.)	ESC [ 5 ; 29 ; # i


Secuencias de los Comandos del Mouse

Comandos del Mouse
Comando	Secuencia

Cursor a la derecha/izquierda
On	ESC [ 6 ; 1 ; 1 i
Off	ESC [ 6 ; 1 ; 0 i

Cursor hacia arriba/abajo
On	ESC [ 6 ; 2 ; 1 i
Off	ESC [ 6 ; 2 ; 0 i

Botón izquierdo
Off	ESC [ 6 ; 3 ; 0 i
Enviar CR	ESC [ 6 ; 3 ; 1 i
Enviar Posición	ESC [ 6 ; 3 ; 2 i


Ejemplos del Print Script

Ejemplos de Impresión

Simple shell script para imprimir bajo el sistema operativo UNIX®;
El script se puede usar como un comando y también como un filtro:

:
# Sample Print Script

######################################################
ESC=`echo|awk '{ printf("%c",27) }'`
OPEN_PRINTER="${ESC}[5i"
CLOSE_PRINTER="${ESC}[4i"

Filter()
{
echo "${OPEN_PRINTER}" | tr -d "\012"
cat
echo "${CLOSE_PRINTER}" | tr -d "\012"
}

PrintFile()
{
MY_NAME=$1
shift 1
for FILE in $*
do
echo ${FILE}
[ -r ${FILE} ] || {
echo "${MY_NAME}: cannot open ${FILE}">&2
continue
}
Filter < ${FILE}
done
}

#
# main
#------------------------------------
#
trap "" 1 2 3
if expr $# \> 0 >/dev/null 2>&1
then
PrintFile $0 $*
else
Filter
fi


Transferencia de archivos

La transferencia de archivos a través de protocolos TELNET no es el método más rápido para transportar datos en una red. Sin embargo, aumenta el nivel de confort al permitir transferir archivos arrastrándolos con el mouse a una sesión Telnet abierta.
TelNet98 soporta transferencias binarias basadas en el formato UUCODE.

Requerimientos del Host:

-	Comandos para la recepción y el envío de datos codificados con UUCODE:
Los comandos uuencode y uudecode, que son invocados por TelNet98, están presentes en la mayoría de los sistemas UNIX®. Si no se encuentran en su Host, están disponibles en el paquete GNU Sharutils, que puede ser bajado de Internet o utilizando FTP Anónimo.
(ej.  http://www.telnet98.com/gnu/)

-	Un intérprete de comandos (shell) listo para recibir comandos del teclado

-	Suficientes derechos en el Host como para llevar a cabo dichas operaciones

Transferencia hacia el host (Cargar)

Pasos sugeridos:

1.	Asegúrese de cumplir con los requerimientos anteriores

2.	Seleccione uno o más archivos con el Explorador de Windows

3.	Arrastre los archivos con el mouse y suéltelos dentro de la ventana donde está corriendo su sesión TELNET

Transferencia desde el Host (Descargar)

Pasos sugeridos:

1.	Asegúrese de cumplir con los requerimientos anteriores

2.	Liste los archivos que desea transferir en su sesión Telnet, por ejemplo, utilizando el comando de Unix® ls

3.	Seleccione uno o más archivos utilizando el mouse y copie los nombres al portapapeles.

4.	Seleccione 'Edición' -> 'Descargar' en la sesión Telnet

5.	En la ventana de diálogo que aparece, seleccione el directorio en el que quiere copiar los archivos y presione 'Pegar archivos desde el portapapeles'


Driver Terminfo

terminfo

Se puede usar este driver bajo el sistema operativo UNIX®:

#
# Terminfo source for a
#
#    TERM=telnet98
#
# terminal type
# Use the terminfo compiler 'tic' for compilation
#
telnet98|Eric's TelNet98 - ANSI Terminal,
am, bce, eo, lh#1, lw#30, nlab#36, colors#8, pairs#64,
setb=\E[4%p1%dm, setf=\E[3%p1%dm, pln=\E[%p1%dz%p2%s\r,
op=\E[0;1m\E[?7h, smacs=\E[11m, rmacs=\E[10m,
acsc=`*0\333+\257\,\256iIa\260h\261~\372f\370j\331k\277l\332m\300t\303u\264v\301w\302q\304x\263n\305g\361,
cbt=\E[Z, bel=\7, cr=\r, ff=\f, ht=\t, kbs=\b,
clear=\f, el1=\E[1K, el=\E[K, ed=\E[J, kdch1=\177,
cup=\E[%i%p1%d;%p2%dH, ind=\ES, ri=\ET, home=\E[H,
cud1=\E[B, cub1=\b, cuu1=\E[A, cuf1=\E[C, ll=\E[100E,
civis=\E[?25l, cnorm=\E[?25h, cvvis=\E[?25h,
smsc=\E[?34h, rmsc=\E[?34l, smln=\E[z, rmln=\E[z,
dch1=\E[P, dl1=\E[M, dispc=\E[=%p1%dg, ich1=\E[@, il1=\E[L,
dch=\E[%p1%dP, dl=\E[%p1%dM, cud=\E[%p1%dB, ich=\E[%p1%d@,
indn=\E[%p1%dS, il=\E[%p1%dL, cub=\E[%p1%dD, cuf=\E[%p1%dC,
rin=\E[%p1%dT, cuu=\E[%p1%dA, mc0=\E[i, mc5=\E[5i, mc4=\E[4i,
sc=\E7, rc=\E8, hpa=\E[%p1%dd, smso=\E[0;3;7m, rmso=\E[m,
dim=\E[m, rev=\E[7m, invis=\E[8m, bold=\E[1m, blink=\E[5m,
smam=\E[?7h, rmam=\E[?7l, smul=\E[4m, rmul=\E[27m,
#
#	the following parameters
#	could be overridden by TelNet98's setup:
#
#	#################################################################
lines#25, cols#80, it#8,
kcuu1=\E[A, kcud1=\E[B, kcuf1=\E[C, kcub1=\E[D,
kend=\E[F, knp=\E[G, khome=\E[H, kpp=\E[I,
kich1=\E[L, kcbt=\E[Z, kdch1=\0177,
kf1=\E[M, kf2=\E[N, kf3=\E[O, kf4=\E[P, kf5=\E[Q, kf6=\E[R,
kf7=\E[S, kf8=\E[T, kf9=\E[U, kf10=\E[V, kf11=\E[W, kf12=\E[X,
kf13=\E[Y, kf14=\E[Z, kf15=\E[a, kf16=\E[b, kf17=\E[c, kf18=\E[d,
kf19=\E[e, kf20=\E[f, kf21=\E[g, kf22=\E[h, kf23=\E[i, kf24=\E[j,
kf25=\E[k, kf26=\E[l, kf27=\E[m, kf28=\E[n, kf29=\E[o, kf30=\E[p,
kf31=\E[q, kf32=\E[r, kf33=\E[s, kf34=\E[t, kf35=\E[u, kf36=\E[v,
#	#################################################################
#


Driver Termcap

termcap

Se puede usar este driver bajo el sistema operativo UNIX®:

#
# TelNet98 termcap driver
#
telnet98:\
:al=\E[L:am:eo:bs:cd=\E[J:ce=\E[K:cl=\f:cm=\E[%i%d;%dH:\
:dc=\E[P:dl=\E[M:do=\E[B:bt=\E[Z:Co#8:pa#64:\
:op=\E[0;1m\E[?7h:ho=\E[H:ic=\E[@:nd=\E[C:pt:\
:so=\E[0;3;7m:se=\E[m:us=\E[2;9m:ue=\E[m:up=\E[A:\
:kD=\177:kb=\b:sf=\ES:sr=\ET:bl=\7:cr=\r:ff=\f:ta=\t:cb=\E[1K:\
:ll=\E[100E:vi=\E[?25l:ve=\E[?25h:vs=\E[34l:\
:mb=\E[5m:md=\E[0;1m:me=\E[10;0m:mh=\E[m:mr=\E[7m:mk=\E[8m:\
:Sb=\E[4%dm:Sf=\E[3%dm:SA=\E[?7h:RA=\E[?7l:\
:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
:SF=\E[%dS:AL=\E[%dL:LE=\E[%dD:RI=\E[%dC:SR=\E[%dT:\
:UP=\E[%dA:ps=\E[i:po=\E[5i:pf=\E[4i:sc=\E7:rc=\E8:le=\b:\
:GS=\E[12m:GE=\E[10m:GV=\63:GH=D:GC=E:GL=\64:GR=C:RT=^J:G1=?:\
:G2=Z:G3=@:G4=Y:G5=;:G6=I:G7=H:G8=<:GU=A:GD=B:\
:CW=\E[M:NU=\E[N:RF=\E[O:RC=\E[P:WL=\E[S:WR=\E[T:CL=\E[U:CR=\E[V:\
:HM=\E[H:EN=\E[F:PU=\E[I:PD=\E[G:Gc=N:Gd=K:Gh=M:Gl=L:Gu=J:Gv=\072:\
:li#25:co#80:it#8:\
:ku=\E[A:kd=\E[B:kr=\E[C:kl=\E[D:@7=\E[F:kN=\E[G:kh=\E[H:\
:kP=\E[I:kI=\E[L:kB=\E[Z:
#
#


Acerca del PC-scancode

A diferencia de las terminales standard que envían la información al host solo en forma de valores Keytop (los caracteres que aparecen en la superficie del teclado), una terminal PC-scancode también puede enviar códigos (valores asociados a presionar y a soltar cada tecla).
Trabajar en modo PC-scancode permite a la aplicación acceder a más definiciones que el modo carácter podría facilitar.

Por ejemplo, si configura su terminal en modo carácter y pulsa la tecla A, la terminal envía un valor simple (el valor ASCII de A) a la aplicación. Pero si configura su terminal en modo scancode y presiona la tecla A, la terminal envía un valor cuando presione la tecla y un segundo valor cuando la suelte. Una aplicación scancode traduce estos valores scancode de acuerdo a un mapeo predeterminado en el huesped.

Eric's TelNet98  envía scancodes al huesped cuando se habilita el modo scancode.

Pasos sugeridos para configurar su sistema para PC-scancode*)

1.	Transfiera terminfo.src y compílelo usando el tic compiler:

# tic terminfo.src

Esto creará un tipo de terminal con TERM=telnet98

2.	En la ventana de inicio de TelNet98 ingrese el tipo de terminal como telnet98

3.	Agregue un comando para habilitar el modo scancode en su archivo /etc/profile  (para usarlo en todo el sistema) o a su .profile  (para su uso personal):

ej.:
# habilita el scancode de la
# terminal modo, si existiese
if tput smsc
then
# enable scancode mode on the host
stty isscancode xscancode
fi

*)	probado bajo SCO® UNIX®;
podría resultar completamente distinto en otros sistemas