[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