Squeak4.2でのkeyDown:

Squeakが4.2になって、All-in-Oneパッケージが公開された。

早速使ってみようと遊んでいたところどうもおかしな挙動がある。

具体的にはkeyDown:メッセージで、引数イベントのkeyValueが0になるというもの。(MacOSX 10.6.6上で発生)

BorderedMorph subclass: #TestKey
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'Test-Key'!
!TestKey methodsFor: 'event handling' stamp: 'e-itoh 2/18/2011 13:00'!
handlesKeyboard: anEvent
^ true! !
!TestKey methodsFor: 'event handling' stamp: 'e-itoh 2/18/2011 13:04'!
keyDown: anEvent
Transcript show: anEvent keyValue asString , ','! !

上記のようなTestKeyクラスを作ってTestKey new openInWorldをやると、Squeak 4.1までであればTrascript上にkeyValueの値が表示される。

同じクラスをSqueak4.2で動かすと0しか表示されない。VMをSqueak4.1で使っているSqueak 4.2.4beta1Uに変えても変化がないのでイメージの問題のようだ。

これが動かないとゲームが作れないぞ。困った。