'From etoys2.2 of 21 September 2007 [latest update: #1709] on 16 October 2007 at 8:15:56 pm'! "Change Set: ctrlAlt-bf Date: 16 October 2007 Author: Bert Freudenberg Keep swapControlAndAltKeys from mangling non-letters"! !EventSensor methodsFor: 'private-I/O' stamp: 'bf 10/16/2007 20:03'! swapControlAndAltKeys: evt | char | char := evt at: 3. "Cursor keys and mouse wheel are not switched." (#(28 29 30 31) includes: char) ifTrue: [^ self]. (evt at: 5) == CtrlKeyBit ifTrue: ["Ctrl -> Alt (^A -> a)" char < 32 ifTrue: [evt at: 3 put: (char bitOr: 16r60)]. evt at: 5 put: 8] ifFalse: [(evt at: 5) == CommandKeyBit ifTrue: ["Alt -> Ctrl (a -> ^A)" (char >= 16r60 and: [char < 16r80]) ifTrue: [evt at: 3 put: (char bitAnd: 16r1F)]. evt at: 5 put: 2]].! !