Mail Archives: djgpp/1999/02/18/14:06:31
Dim Zegebart <zager AT post DOT comstar DOT ru> wrote:
> Salvador Eduardo Tropea (SET) wrote:
>
> > My plan is to fully support Eterm, that's the only X terminal I know that can
> > report most of the keys (if not all). But for that I need to extend the
> > ncurses functionallity.
>
> BTW, 'joe' which uses mostly the same CTLR-key combinations
> can work on almost any (at least on whose where your editor fails)
> terminal type. So, what is the "magic" behind it ?
1) You are right: almost the same ... it means less than the half ;-). Home,
End, Insert, Delete, PageUp, PageDown, PageUp, etc. Aren't reported
differently when they have: shift, control, alt or any combination of these
keys. Additionally some or all of the function keys are wrongly reported by
xterm when shifted, it simply reports F1==Shift+F1==Ctrl+F1==Alt+F1, Linux
terminals (from telnet) are much better specially the ones that have the kbd
package included with RedHat 5.2.
2) All the wordstar commands works 100% ok in terminals. Just try setedit
0.4.23 for Linux and you'll see there is no such a magic. All the keys
available for joe are available for setedit.
Some versions of RHIDE fails to interpret some keys when using a telnet
terminal or xterm, that's true in most of the 1.4.x betas but it was fixed.
Currently my editor interprets all the keys reported by the terminal and when
using a Linux console interprets all the keys. Lamentably:
1) Most of the terminals doesn't report key sequences for all the keyboard
combinations. Only Eterm can do it.
2) NCurses isn't good enough to report any key combination, for example: you
can define Shift+Home, but not Ctrl+Home.
3) The terminal description files uses an AT&T SystemV format that isn't
expandable so you can't create a new symbol for a new key. For example, khome
is HOME, kshome is Shift+Home, but I can't create kchome for Ctrl+Home
without breaking the file format.
The best work about catching keys and handling terminal is done by midnight
commander. Lamentably the code is obfuscated (spaghetti code). And even mc
fails to catch Shift+Arrows in terminals, why? simply because terminals can't
do it.
Eterm is an X terminal emulator, it was designed with the same goals as
Enlightenment: 100% configurable at any price (memory and speed). The result?
amazingly configurable, you can tell Eterm: for this keysymb (the codes used
by X) generate this escape sequence, beauty no?
I talked about it in the ncurses list and people agreed to create a new
system to extend the ncurses functionallity to support such a thing. But
currently I don't have the time to do it. My editor works 100% ok in console
and that's enough for me. Additionally the newer versions works very well in
xterm (as well as mc) if the terminal is well configured. If anybody needs
better support for X terminals should wait until I have the time to enhance
ncurses or volunteer to help about it.
SET
------------------------------------ 0 --------------------------------
Visit my home page: http://welcome.to/SetSoft
or
http://www.geocities.com/SiliconValley/Vista/6552/
Salvador Eduardo Tropea (SET). (Electronics Engineer)
Alternative e-mail: set-soft AT usa DOT net set AT computer DOT org
ICQ: 2951574
Address: Curapaligue 2124, Caseros, 3 de Febrero
Buenos Aires, (1678), ARGENTINA
TE: +(5411) 4759 0013
- Raw text -