Teclado emulando una VT220 con xterm

Claudio Bustos Bravo cbustosb en articlynx.cl
Sab Dic 23 00:15:02 CLST 2006


El vie, 22-12-2006 a las 16:18 -0300, Horst H. von Brand escribió:
> Claudio Bustos Bravo <cbustosb en articlynx.cl> wrote:
> > Alguien sabe donde hay informacion clara de como configurar xterm para
> > setear correctamente teclas /raras/ como la tecla "Do" de una vt?
> 
> Lo veo dificil... si el teclado que tienes a mano no tiene teclas que
> puedas (re)mapear a eso, estas frito.
> 
> Y no se si la emulacion del xterm incluye esta clase de cosas. Parte
> revisando eso, y/u otras alternativas de terminal grafico (Gnome, KDE y
> XFCE al menos tienen las suyas).
> 
> > Los man ya estan leidos... (por si acaso)...
> 
> Cuales manses?

Para los que les pueda interesar:

La idea es mapear algunas teclas del enorme teclado de la vt220, como
los PF1 al 4, Locate y Do. Para ello enconte, por fin, los codigos de
escape de cada uno de ellos (y muchos mas)... aqui van:

(Las teclas PF1 al 4 ya estan mapeadas por defecto en el F1 al F4 de un
teclado normal... uf!, pero si quieren saber...)

key   7-bit code
---   -----------
PF1   Esc O P
PF2   Esc O Q
PF3   Esc O R
PF4   Esc O S
Help  Esc [ 2 8 ~
Do    Esc [ 2 9 ~
Find         Esc [ 1 ~
Insert Here  Esc [ 2 ~
Remove       Esc [ 3 ~
Select       Esc [ 4 ~
Prev Screen  Esc [ 5 ~
Next Screen  Esc [ 6 ~

Colocar eso en Xresources o directamente asi:

xterm -title "blabla" -sb -sl 1200 \
    -geo ${COLS}x${ROWS} -fg ${FG} -bg ${BG} \
    -cr red -fn ${FONT} -fb ${BFONT} -xrm \
    'XTerm*VT100.translations:       #override \n\
            ~Shift<Key>Home:  string(\033[1~)\n\
            ~Shift<Key>End:   string(\033[4~)\n\
            ~Shift<Key>Prior: string(\033[5~)\n\
            ~Shift<Key>Next:  string(\033[6~)\n\
            ~Shift<key>F12:   string(\033[29~)\n\
            Shift<Key>Prior:  scroll-back(1,page) \n\
            Shift<Key>Next:   scroll-forw(1,page) \n\
            Shift<Key>Home:   scroll-back(100,page) \n\
            Shift<Key>End:    scroll-forw(100,page) \n ' \
     -e telnet $HOST


Espero que sirva a alguien mas...


Claudio



Más información sobre la lista de distribución Linux