From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id PAA23999 for caml-red; Wed, 3 Jan 2001 15:02:11 +0100 (MET) Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id BAA15301 for ; Wed, 3 Jan 2001 01:09:36 +0100 (MET) Received: from localhost.localdomain (jimbo229.zip.com.au [202.7.88.229]) by concorde.inria.fr (8.11.1/8.10.0) with ESMTP id f0309Xb01145 for ; Wed, 3 Jan 2001 01:09:34 +0100 (MET) Received: from ozemail.com.au (IDENT:root@localhost [127.0.0.1]) by localhost.localdomain (8.9.3/8.8.7) with ESMTP id LAA13363; Wed, 3 Jan 2001 11:07:01 +1100 Message-ID: <3A526D25.4743C8EC@ozemail.com.au> Date: Wed, 03 Jan 2001 11:07:01 +1100 From: John Max Skaller X-Mailer: Mozilla 4.7 [en] (X11; I; Linux 2.2.12-20 i686) X-Accept-Language: en MIME-Version: 1.0 To: Jacques Garrigue CC: checker@d6.com, caml-list@inria.fr Subject: Re: labltk bind ~events list questions/bugs? References: <4.3.2.7.2.20001226234205.00afd710@shell16.ba.best.com> <20001231165106J.garrigue@kurims.kyoto-u.ac.jp> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: weis@pauillac.inria.fr Jacques Garrigue wrote: > > From: Chris Hecker > > 2. As another question, if I have ~events:[`Modified > > ([`Shift],`KeyPress)], sometimes I just get the keys that were pressed > > when the shift key was down, sometimes I get a zillion Shift_L events, > > and sometimes I get nothing. > > Stranger. This should be only the first case. At least, this is how it > works on X11. Here's my guess: this is a 'quirk' of the PC keyboard firmware. It is a serious problem for game design. What happens is that when there are NO keys pressed, and you press any repeating key, you get a sequence of KEY_DOWN tokens from the keyboard. If you then press another key, the auto-repeat is switched OFF for the first key, and on for the second key. If you release the second key, the first doesn't auto-repeat: 11111111111111122222222222222 ^ press 1 ....^ press 2 ^ release 2 ^ release 1 aaaaaaaaaaaaaaaaa ^ press a ^ press shift The _only_ solution is to reprogram the keyboard CPU. The whole thing is a stupid hangover from DOS: the keyboard should just send keyup/keydown tokens, and let the OS driver handle repeats and timing. -- John (Max) Skaller, mailto:skaller@maxtal.com.au 10/1 Toxteth Rd Glebe NSW 2037 Australia voice: 61-2-9660-0850 checkout Vyper http://Vyper.sourceforge.net download Interscript http://Interscript.sourceforge.net