Article View: gnu.epoch.misc
Article #214Re: Bug report - Epoch 4.1 keybindings
From: Garr Lystad
Date: Thu, 13 Aug 1992 16:36
Date: Thu, 13 Aug 1992 16:36
55 lines
3728 bytes
3728 bytes
In article <JWZ.92Aug12134411@thalidomide.lucid.com> Jamie Zawinski <jwz@lucid.com> writes:
> I would consider any of the
> following changes to be unacceptable, because they would break so much
> existing code:
> - "\M-x" not producing a string of the single character \370
...
> It is a mistake to think of the "meta" key as setting the high bit on a
> character. That is an implementation detail. It is misguided for software
> which has access to the keyboard beyond what ASCII provides (that is, all X
> software) to interpret a "meta" chord as meaning "insert a non-ASCII
> character." That's what the "Alt Gr" key (which X knows as Mode_shift) is
> for.
> -- Jamie
This doesn't seem consistent to me. I certainly agree with the latter
paragraph, however. I also think it is a mistake to think of control
as a key that takes a normal printable ascii character and produces
from it something unprintable. I realize there is a lot of tradition
behind that view, but it's a tradition I'd rather forget. There's
some tradition, in Zmacs, to have control simply set a modifier mask
bit, and that's nice.
I'm still using Epoch 4.0, so I haven't examined the new code, but it
seems to me that the problem is that emacs (and epoch) are trying to
cram more information in a small number of bits than will fit.
Roughly two eight bit characters are required to make things work
nicely in my opinion. There are eight modification characters
provided in X, Shift thru mod5, and, on my keyboard at least, 94
non-modifier keys. Admittedly, that fits in 15 bits, but there might
be some consideration given to the mouse too. (A lot of functions
that now read just characters might be modified to take mouse input
also. As an example I have modified isearch to accept strings moused
in from the screen. That's handy. It would have been nice to be able
to do that directly rather than with a kludged up communication system
between existing commands on the mouse and a replacement for
read-char.)
I suppose that any number of key lookup systems might be used with the
above, but a particularly simple one would be to use 8 modifier bits
to look in a (possibly sparse) keymap for a second keymap to be used
on the next 8 bits. Each keystroke, and the mouse possibly, would
produce a total of 16 bits, in any event. One might not want to
include shift or lock in the modifier mask bits. One might want to
take the meta bit from the first byte and keep it as the msb of the
second byte, though personally I wouldn't. For mouse input one might
use a modifier mask bit and one would need something like a
mouse-read-marker function that could be called to return a marker
related to the last character read if it were a mouse character. I
suppose I should build this rather than just talking about it, but I
don't have the time at the moment.
-- Garr
Technical Details
Message-ID:
<LYSTAD.92Aug13103616@m2.dseg.ti.com>Path:
arc1-ca.pugleaf.net!sparky!uunet!elroy.jpl.nasa.gov!swrinde!cs.utexas.edu!csc.ti.com!tilde.csc.ti.com!m2.dseg.ti.com!lystadReferences:
meissner@osf.ORG <9208112110.AA06450@tiktok.osf.org> <JWZ.92Aug12134411@thalidomide.lucid.com>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!elroy.jpl.nasa.gov!swrinde!cs.utexas.edu!csc.ti.com!tilde.csc.ti.com!m2.dseg.ti.com!lystad From: lystad@m2.dseg.ti.com (Garr Lystad) Newsgroups: gnu.epoch.misc Subject: Re: Bug report - Epoch 4.1 keybindings Message-ID: <LYSTAD.92Aug13103616@m2.dseg.ti.com> Date: 13 Aug 92 16:36:16 GMT References: meissner@osf.ORG <9208112110.AA06450@tiktok.osf.org> <JWZ.92Aug12134411@thalidomide.lucid.com> Sender: lystad@m2.dseg.ti.com (Garr Lystad) Reply-To: Garr.Lystad@m2.dseg.ti.com Organization: TI DSEG, Spring Creek, Plano, Tx. Lines: 55 In-Reply-To: Jamie Zawinski's message of Wed, 12 Aug 92 20:44:16 GMT