In TextEditor>>initializeShiftCmdKeyShortcuts the shortcuts are
set in a way that it creates three handlers for each shortcut to make it
The main difference here is that in Linux, ubuntu 11.04 the Ctrl+a comes with the right keyCharacter, but in Windows and MacOS it does not :(. We've tested that on host OSs with friends :).
I've captured the problem I'm experimenting so far and wrote down an ugly hack in this method.
self flag: #hack.
"Hack me. When Ctrl is pressed, the key ascii value is not right and we have to do this shit"
^(self controlKeyPressed and: [ (#(MacOSX Windows) includes:
Smalltalk os current platformFamily) and: [ keyValue <= 26 ]])
ifTrue: [ (self keyValue + $a asciiValue - 1) asCharacter ]
ifFalse: [ self keyCharacter ]