Alpha Mac 3.7.3b2 with keyUp change and more unicode support aka 3.7.3b3

John M McIntosh johnmci at smalltalkconsulting.com
Wed Apr 14 05:19:52 UTC 2004


Bert Freudenberg <bert at impara.de> pointed out that he had an issue with  
key ups when dealing with multiple keys. Yes
he's right I made a novice mistake with a global, now I'm tracking  
repeats and key ups by individual keycodes which is required when you  
can have four keys or so in motion.

Please look for a 3.7.3b3 VM in the usual place and of course more  
testing is required.

On Apr 11, 2004, at 12:26 AM, John M McIntosh wrote:

> Tetsuya HAYASHI <tetha at st.rim.or.jp> had sent me some patches to work  
> around some issues with unicode support
> in the carbon macintosh VM, and I've had some comments about how keyUp  
> works.
>
>  I've integrated Tetsuya HAYASHI  changes  into a 3.7.3b2 VM that is  
> available for testing in
>
> http://homepage.mac.com/johnmci/
> Squeak 3.7.3Beta2.app.sit
>
> This VM only contains the mac os-x carbon binary, not the classic  
> binary since that is still being revised.
>
> The other really big change, which took me all day to resolve was  
> reworking keyUp processing.
>
> So given keyboard input I now:
>
> a) note the raw key down,
> b) note a possible raw repeat key
>
> c) Process the text services unicode event, and put a keyDown on the  
> event queue.
> d) Then put a keyChar on the event queue.
> e) Now either a possible raw repeat key may occur or has occurred,  
> thus another  text services unicode event, occurs.
> f) This generates only a keyChar event since I've seen the key repeat  
> and we wait for the keyup, or more key repeats.
> g) Finally on a raw key up event, we send the keyUp event for the key  
> indicated as coming up.
>
> Now if you invoke Input Services then you either can enter a single  
> character by clicking on a palette, or input a phrase by typing  
> multiple keys and hitting the return key.
>
> a) This action is noted as input from Text Services and generates the  
> keyDown, keyChar, and keyUp.
> b) Or this action results in a number of unicode characters coming in  
> as a text services unicode event, again each unicode character  
> generates the proper sequence of events.
> c) When typing a phrase this does generates raw key up/down events,  
> but no text services unicode event until you hit the return key. This  
> test case seems to be handled correctly, we do not generate squeak  
> events untile text services gives us the one or more unicode  
> characters.
>
> Things to test.
>
> a) Ensure I've not broken Euro character support based on different  
> keyboards (french/swiss/german) I've not access to.
> b) Ensure I've not broken the dead key support.
> c) Ensure keyboard Pallette Input Services works correctly.
> d) Ensure Input Services for phrases works correctly, that generate  
> one or more characters.
> e) Test the other changes listed below.
> f)  Finally does multiple key down/up activity seem correct if you are  
> looking for that key up and expect to see it when one actually  
> releases the key? Remember of course you can have one or more keys  
> down, not sure what limit the hardware allows.
>
>
> In a day or two I will work on the os-9 VM and see how to fix any  
> issue with keyUp timing, then create a combined VM.

> --
======================================================================== 
===
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
======================================================================== 
===




More information about the Squeak-dev mailing list