lynx-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: lynx-dev Re: Nitsy "reset" display buglet


From: Klaus Weide
Subject: Re: lynx-dev Re: Nitsy "reset" display buglet
Date: Fri, 5 Feb 1999 16:27:24 -0600 (CST)

On Fri, 5 Feb 1999, Lloyd G. Rasmussen wrote:
> On Fri, 5 Feb 1999 10:07:17 -0600 (CST), 
> Klaus Weide   <address@hidden> wrote:
>[ ... ] 
> >LYStrings.h has changed from
> >
> >   #define DO_NOTHING      270     /* 0x10E */
> >
> >to
> >
> >   #define MOUSE_KEY       270     /* 0x10E */
> >   #define DO_NOTHING      271     /* 0x10F */
> >
>[ ... ]
> I hope that in a released version, DO_NOTHING will work predictably.  
> Because of Win95's abominable keyboard handling in console-mode 
> applications, called Conagent, it is necessary to undefine a number of 
> Lynx keystrokes so that they are not acted upon when a screen reader 
> hotkey is pressed to perform a screen reading function.  I wish the 
> key map numbers went high enough so that all cases, including the 
> numeric-pad cursor keys, grey cursor keys, Alt-letter combinations, 
> num-locked cursor keys, could be handled in the keymap in Lynx.cfg.  I 
> think that 270 and 271 are not high enough, but I don't know the 
> required maximum value.

(If this sounds like ranting, I've probably had too little sleep...)

Well I am confused.  For you (and all DOS and Windows users?), it
seems that those numbers have some hardware-imposed meaning.  For me
as a Linux user they certainly don't.  It's hard for me to understand
why apparently for DOS and Windows those numbers mean specific, given
keys (which are different whether SLANG is used or not!), while for
Unix, VMS and so on they are just arbitrarily assigned, and only a few
beyond 256 are needed.  Somehow these seem to be completely different
objects.

As far as I can see, in lynx.cfg only the old meaning that always
worked on VMS and Unix is documented - there is no mention of anything
beyond 0x10E, or that it may be needed for some platforms.  Is the
other stuff documented somewhere (except I assume in DOS and Win32
binary packages)?  I hope this doesn't mean that lynx.cfg has somehow
forked and is now supposed to be only relevant for Unix and VMS.

I now see this at the end of my 'K'eymap page:

0x1b8       ABORT         quit the browser unconditionally
0x1cb       ACTIVATE      go to the document given by the current link
0x1cf       IMAGE_TOGGLE  toggle handling of all images as links
0x1d0       PREV_PAGE     view the previous page of the document
0x1d1       NEXT_PAGE     view the next page of the document
0x290       CHANGE_LINK   force reset of the current link on the page

but it doesn't mean anything to me - I don't know how I should try
to enter a key like 0x1b8.  Should I experiment with a meta key?

You seem to assume that the value assigned to DO_NOTHING must be the
maximum in some sense.  But I don't see why that should be required,
and obviously those strange keys shown above are higher.  I see
only one obvious place in the code where that is assumed:

   if ((keysym > DO_NOTHING) || (keysym < 0))

But I guess that could be easily changed. I don't know under which
circumstances that code is relevant though.

Could someone explain what USE_KEYMAPS means?  It seems to be very
badly named, since Lynx always maps keys (or not?), it doesn't give
any clue what kind of mapping it refers to.  Or would this all make
sense to me if I were a DOS or Windows user?  

I have read the section in INSTALLATION that discusses three
alternatives for DOS (and nothing for Win32), and that some of them
allow mapping some keys but not others, but I didn't find a place that
describes *how* a DOS or Win32 would map keys.  I don't really need to
know since I am not using Lynx on those platforms, but maybe it would
help understand the code in LYStrings.c.


   Klaus

reply via email to

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