mac vm 3.7.1b1 (testing)

Yoshiki Ohshima Yoshiki.Ohshima at acm.org
Thu Dec 18 23:20:57 UTC 2003


  John,

> In reviewing the changes I see that
> before we would generate
> EventKeyDown
> charCode = 224
> EventKeyChar
> charCode = 136
> EventKeyUp
> charCode = 224

> however after the change we generate

> EventKeyDown
> charCode = 224
> EventKeyChar
> charCode = 224
> EventKeyUp
> charCode = 224
> 
> where EventKeychar was the MacRoman value, and EventKeyUp/Down is the  
> unicode, lost in the
> change was the proper EventKeyChar mapping to MacRoman.

  Let me see if I understand this...  Before the change, the code in
the EventKeyDown/Up event is different from the EventKeyChar and
*after* the change, the code in the three events are the same?

  When the VM is running with an older image, the right thing for à
(224 in latin1/unicode, 136 in macroman) is to generate:

> EventKeyDown
> charCode = 136
> EventKeyChar
> charCode = 136
> EventKeyUp
> charCode = 136

  right?

  Too bad I don't have any Mac available around me.  (Probably I
should try tomorrow at the Glendale office.)

  I thought you added a primitive to change the encoding?  The default
behavior of VM should be compatible with the older image.

  Speaking of:

> Also for multiple character input we generate
> EventKeyDown,EventKeyChar,EventKeyChar ... {repeats}, EventKeyUp
> 
> which I believe is technically wrong

  Probably it is, but I can imagine it is easier to be handled by a
variant of the KeyboardInterpreter plugged into the HandMorph, because
it can see that the code it is seeing is a part of multibyte character
or not.  But it should be able to handle this without (too much)
confusion.

> For multi-byte character input you get
> EventKeyDown/EventKeyChar/EventKeyUp for each unicode character coming  
> from the input sequence.

  Do you mean by 'for each unicode character' that the bytes of
UTF-8? or single UTF-32/16 value?

  Thank you so much!

-- Yoshiki



More information about the Squeak-dev mailing list