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
|