[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: LYNX-DEV ac98: 1.) configure, 2.) vt320/vt420 special keys with ncur
From: |
Foteos Macrides |
Subject: |
Re: LYNX-DEV ac98: 1.) configure, 2.) vt320/vt420 special keys with ncurses |
Date: |
Fri, 12 Dec 1997 14:20:23 -0500 (EST) |
"T.E.Dickey" <address@hidden> wrote:
>>[...]
>> 2. I'm going to access lynx in a captive accout from vanilla dec
>> vt320/vt420/vt520- terminals. I've been surprised to notice that i
>> could not map/remap the special keys above the cursor key block (find,
>> insert, delete, select, page_up, page_down, help, execute).
>>
>> Looking into LYgetch() explained why ( the keys map to 0x106, 0x14b,
>> 0x14a, 0x181, 0x153, 0x152, 0x117, 0x118 (return value of GetChar() in
>> LYgetch() ) which is not handled in the case sequence in LYgetch() ).
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>what does your terminfo description look like? The ones distributed
>with ncurses assume 7-bit characters; these are 8-bit codes. Ncurses
>will process 8-bit codes correctly if the terminfo description is set
>up for that (I've done it for xterm in 8-bit mode, but haven't implemented
>for the other terminal types -- long story).
>
>> This means that the code to parse the escape sequences of the vt3xx
>> terminals (which has already been implemented) is not reached under
>> ncurses, and the corresponding ncurses specific code is missing --- or
>> did i miss something? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>
>> Is there any interest in having this fixed? If yes, relative to which
>> version should i supply a patch and where shall i put it?
I not completely clear on what he's saying, either, but note
that for these definitions in LYStrings.h:
[...]
/* values for LYgetch */
#define UPARROW 256 /* 0x100 */
#define DNARROW 257 /* 0x101 */
#define RTARROW 258 /* 0x102 */
#define LTARROW 259 /* 0x103 */
#define PGDOWN 260 /* 0x104 */
#define PGUP 261 /* 0x105 */
#define HOME 262 /* 0x106 */
#define END 263 /* 0x107 */
#define F1 264 /* 0x108 */
#define DO_KEY 265 /* 0x109 */
#define FIND_KEY 266 /* 0x10A */
#define SELECT_KEY 267 /* 0x10B */
#define INSERT_KEY 268 /* 0x10C */
#define REMOVE_KEY 269 /* 0x10D */
#define DO_NOTHING 270 /* 0x10E */
[...]
The keypad() mode section of LYgetch() in LYStrings.c has code such as:
[...]
#ifdef KEY_END
case KEY_END: /* end key 001 */
c=END;
break;
#endif /* KEY_END */
#ifdef KEY_HELP
case KEY_HELP: /* help key 001 */
c=F1;
break;
#endif /* KEY_HELP */
[..]
but no cases for conversions to DO_KEY, FIND_KEY, SELECT_KEY, INSERT_KEY
and REMOVE_KEY, so those can only be handled as direct VTxxx escape
sequences. Are there any Unix (n)curses header KEY_foo definitions for
them?
Fote
=========================================================================
Foteos Macrides Worcester Foundation for Biomedical Research
address@hidden 222 Maple Avenue, Shrewsbury, MA 01545
=========================================================================