bug-texinfo
[Top][All Lists]
Advanced

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

Info key input quirks, infokey


From: Gavin Smith
Subject: Info key input quirks, infokey
Date: Wed, 18 Jun 2014 16:33:31 +0100

There are some problems with the way standalone Info interprets key
presses. Commands can be invoked when they were not expected if the
user doesn't know what they are doing or presses the wrong keys by
mistake. For example, typing ESC ESC Left executes the
"goto-invocation-node" command, and enters the letter "D" in the echo
area. This happens because there is an input byte sequence starting
with ESC ESC, so after two ESC's are typed, it waits to see if it will
be completed. The Left key is producing the sequence "ESC O D". The
ESC character here is added to the waiting "ESC ESC". There is no byte
sequence starting "ESC ESC ESC", so it discards this and starts again
with the "O" (which does "goto-invocation-node"). Shift-Left and
Shift-Right also do funny things because the byte sequences these key
combinations produce are not recognized.

I have some ideas how this could be fixed. The incremental search mode
already checks whether ESC starts a longer sequence by checking if
there are more characters waiting in the program's input buffer. I
don't think this is failproof; I think there could be a short delay to
see if further bytes follow that are part of a recognized sequence.
There would be an intermediate step between the byte stream and
commands where the byte stream was translated into a key or
combination of keys.

However, before that, it might make things easier if another change
were implemented: get rid of the need to run infokey to read the
user's .infokey file. I have often forgotten to run this program and
it is an inconvenience when trying to run multiple versions of info,
each of which require their own version of infokey to be run first. It
just seems like an extra step for the user with no benefit. It would
be better just to have a single .infokey file (or maybe it could be
called .info) which the program reads on start-up.

What do people think?



reply via email to

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