[squeak-dev] The Trunk: Kernel-ar.443.mcz
commits at source.squeak.org
commits at source.squeak.org
Sat Apr 17 18:20:51 UTC 2010
Andreas Raab uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-ar.443.mcz
==================== Summary ====================
Name: Kernel-ar.443
Author: ar
Time: 17 April 2010, 11:19:52.132 am
UUID: 36dc17fd-f2de-d54d-b33f-435c2f08d6bb
Ancestors: Kernel-tbn.442
Fix handling of duplicate/swap control and alt keys.
=============== Diff against Kernel-tbn.442 ===============
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 |
type := evt at: 1.
"Tackle mouse events first"
type = EventTypeMouse
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."
- "Else swap ctrl/alt keys if neeeded.wi"
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 Squeak-dev
mailing list
|