[Prev][Next][Index][Thread]
Re: E/DOS handling of extended keys
>>>>> "David" == David Ellsworth <davidell@ix.netcom.com> writes:
In article <4rvjvi$cec@dfw-ixnews9.ix.netcom.com> David Ellsworth <davidell@ix.netcom.com> writes:
David> There is one bug that has always existed in E/DOS that has
David> consistently annoyed me (a registered Executor
David> user). (Well, actually there is another one -- if E/DOS is
David> started in 50 row text mode, when it exits, you are left in
David> 50 row mode, but the font is 8x16. But you already know
David> that :).)
Yes, that's a bug that we know about that will not be relevant when we
have a native Win32 version.
David> The Macintosh has two ways of dealing with the keyboard:
David> 1) When a non-modifier key is pressed, released, or
David> repeated, it generates an event, passing the keycode to the
David> event handler. 2) It maintains a array containing an
David> element for each key on the keyboard. This array includes
David> modifiers (Shift, Ctrl, etc.). For each element, a nonzero
David> value signals that the corresponding key is being held
David> down.
David> On the PC, extended key scancodes are prefixed by 0xE0. For
David> example, the scancode for Left Alt is 0x38, while the
David> scancode for Right Alt is 0xE0 0x38. In (1), E/DOS handles
David> this fine. But in (2), it ignores occurences of 0xE0. If
David> Left Ctrl is pressed and held, then Right Ctrl is pressed
David> and released, E/DOS will forget that Left Ctrl is being
David> held down. Even worse, Left and Right Alt are both
David> translated to Command; there is no way to make the emulated
David> Mac think you are holding down Option. This is significant
David> in at least one program: Spin Doctor.
David> To the people at ARDI: please consider fixing this in a
David> future version of E/DOS. And thank you for an outstanding
David> product!
I just fixed it now, although I didn't test it with Spin Doctor (I
tested it with Asymptote Demo). We were already doing a bunch of
extended translations, but I guess I overlooked the fact that the
right alternate uses them. This had been on my TODO list for a while,
thanks to Gene DeClark.
David> --- David Ellsworth davidells@aol.com
David> davidell@ix.netcom.com
--Cliff
ctm@ardi.com
References: