www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2002/05/15/01:28:07

X-Authentication-Warning: delorie.com: mailnull set sender to djgpp-workers-bounces using -f
Date: Wed, 15 May 2002 08:22:14 +0300 (IDT)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
X-Sender: eliz AT is
To: sandmann AT clio DOT rice DOT edu
cc: djgpp-workers AT delorie DOT com
Subject: Re: Re[2]: emacs under w2k
In-Reply-To: <10205150347.AA22928@clio.rice.edu>
Message-ID: <Pine.SUN.3.91.1020515081607.607F-100000@is>
MIME-Version: 1.0
Reply-To: djgpp-workers AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp-workers AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Tue, 14 May 2002 sandmann AT clio DOT rice DOT edu wrote:

> is is possible that the return scan code is something completely
> unexpected, and that causes the problem?

The code Laurynas seem to say is crashing doesn't deal with scan codes at 
all.  It is at a much higher level of Emacs code, where all keys were 
already converted to Lisp objects (events or keysyms).

But what you describe might acrtually hit us elsewhere in Emacs.

> One thing I have seen under W2K, is that it does not do a good job of
> keeping the bios area shift flags consistent with the key strokes
> passed to the application.

Any examples?  I'd like to walk through the low-level keyboard code and 
see whether this can do any harm.

In general, Emacs uses the ASCII code reported by BIOS whenever it's 
non-zero, so many Ctrl-something keys never require looking at the BIOS 
shift flags.  Emacs only uses the shift flags + scan code if the ASCII 
code is zero.  (Going this way has unpleasant side effects due to polling 
--as opposed to interrupt-driven--nature of the keyboard input code: if 
you type ahead, the shift flags might be in the wrong state by the time 
Emacs calls the BIOS function to look at them.  So it is only used when 
there's no other way to support a particular key combination.)

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019