lynx-dev
[Top][All Lists]
Advanced

[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
=========================================================================

reply via email to

[Prev in Thread] Current Thread [Next in Thread]