On Wed, Jan 27, 2010 at 10:20 PM, Lukas Renggli <[email protected]> wrote:
> Thank you Mariano for debugging this. > > You are welcome. Step by step Pharo tests are getting greener :) > It looks to me that the variable scanCode is indeed only used on > Windows, so I guess it is save to change that. > > I've committed the fix you suggested: > > Thanks!!! > Name: OB-Tests-Morphic-lr.25 > Author: lr > Time: 27 January 2010, 10:20:05 pm > UUID: 0987660a-6184-490a-abc0-8d23352c334f > Ancestors: OB-Tests-Morphic-lr.24 > > - added the suggested fix of mariano for the tests (windows only) > > Lukas > > 2010/1/27 Mariano Martinez Peck <[email protected]>: > > Hi Lukas: There are 4 tests that were failing in Windows and I debugged > > them. The tests are the 4 tests of the class OBKeyBindingsTest > > > > The problem in windows is this. In your tests, you do: > > > > modifier: mod keycode: code > > ^ KeyboardEvent new > > setType: 'keystroke' > > buttons: mod > > position: 123 @ 456 > > keyValue: code > > charCode: code > > hand: nil > > stamp: nil > > > > As you can see, you don't set a codeScan (it is nil). > > > > In Paragraph >> dispatchOnKeyEvent: keyEvent with: typeAheadStream > > > > You do "OSPlatform current virtualKey: keyEvent scanCode." > > > > In mac, everything is ok as it uses the method > > > > OSPlatform >> virtualKey: virtualKeyCode > > "Subclass responsibility to override if necessary" > > ^nil > > > > > > But in Windows, it uses: > > > > virtualKey: virtualKeyCode > > "Win32Platform virtualKey: $C charCode" > > > > (virtualKeyCode <= 90 "$Z charCode" > > and: [virtualKeyCode >= 65 "$A "]) > > ifFalse: [^nil]. > > "#($a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t $u $v > $w > > $x $y $z)" > > > > ^(#($a nil $c $d nil $f $g nil nil nil nil $l $m $n nil $p nil nil $s > > nil nil $v nil $x nil $z) > > at: virtualKeyCode-64) ifNotNil: [:char | char charCode] > > > > > > There, is a DNU as nil (virtualKeyCode) dnu: <= > > > > So, the solution I think is to set a scanCode in the keyEvents you > generate > > in the tests. I don't know which number is correct for each type of > event, > > but I tried just with 0 and tests are green. > > > > modifier: mod keycode: code > > ^ KeyboardEvent new > > setType: 'keystroke' > > buttons: mod > > position: 123 @ 456 > > keyValue: code > > charCode: code > > hand: nil > > stamp: nil; > > scanCode: 0 > > > > > > What do you think? is there a better fix ? > > > > Cheers > > > > Mariano > > > > > > > > > > _______________________________________________ > > Pharo-project mailing list > > [email protected] > > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > > > > > > -- > Lukas Renggli > http://www.lukas-renggli.ch > > _______________________________________________ > Pharo-project mailing list > [email protected] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >
_______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
