[Pkg] The Trunk: Kernel-ael.643.mcz
commits at source.squeak.org
commits at source.squeak.org
Thu Oct 20 13:54:23 UTC 2011
Bert Freudenberg uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-ael.643.mcz
==================== Summary ====================
Name: Kernel-ael.643
Author: ael
Time: 19 October 2011, 4:09:37.67 pm
UUID: 1fb9163b-7fc4-7946-a812-27626936cc50
Ancestors: Kernel-nice.642
Proposed change for enabling both Yellow and Blue buttons from a two-button mouse in Cog VM
=============== Diff against Kernel-nice.642 ===============
Item was changed:
----- Method: EventSensor>>processEvent: (in category 'private-I/O') -----
processEvent: evt
"Process a single event. This method is run at high priority."
+ | type buttons |
- | type |
type := evt at: 1.
"Tackle mouse events first"
type = EventTypeMouse
+ ifTrue: [buttons := (ButtonDecodeTable at: (evt at: 5) + 1).
+ evt at: 5 put: (Smalltalk platformName = 'Mac OS'
+ ifTrue: [ buttons ]
+ ifFalse: [ self mapButtons: buttons modifiers: (evt at: 6) ]).
- ifTrue: [evt
- at: 5
- put: (ButtonDecodeTable at: (evt at: 5)
- + 1).
self queueEvent: evt.
self processMouseEvent: evt .
^self].
"Store the event in the queue if there's any"
type = EventTypeKeyboard
ifTrue: [ "Check if the event is a user interrupt"
((evt at: 4) = 0
and: [((evt at: 3)
bitOr: (((evt at: 5)
bitAnd: 8)
bitShift: 8))
= interruptKey])
ifTrue: ["interrupt key is meta - not reported as event"
^ interruptSemaphore signal].
"Else swap ctrl/alt keys if neeeded.
Look at the Unicode char first, then ascii."
KeyDecodeTable
at: {evt at: 6. evt at: 5}
ifPresent: [:a | evt at: 6 put: a first;
at: 5 put: a second].
KeyDecodeTable
at: {evt at: 3. evt at: 5}
ifPresent: [:a | evt at: 3 put: a first;
at: 5 put: a second].
self queueEvent: evt.
self processKeyboardEvent: evt .
^self ].
"Handle all events other than Keyborad or Mouse."
self queueEvent: evt.
!
More information about the Packages
mailing list