|
Hi,
there is a filter for keyDown events for CTRL combinations in
InputSensor class >> #installDuplicateKeyEntryFor: c
| key |
key := c asInteger.
"first do control->alt key"
KeyDecodeTable at: { key bitAnd: 16r9F . 2 } put: { key . 8 }.
"then alt->alt key"
KeyDecodeTable at: { key . 8 } put: { key . 8 }
That "bitAnd: 16r9F" is the reason why there are still keyDowns for, e.g., CTRL+1.
Should we get rid of that #bitAnd: and remove all #controlKeyPressed calls from the base system? That mixture is really confusing at the moment...
Opinions? Ideas? For the sake of cross-platform compatibility, there are onyl the following keyboard shortcuts:
CMD+<something> CMD+SHIFT+<something> SHIFT+<something>
I know that there are modern Mac keyboard that have 8 modifiers (left/right ctrl, left/right shift, left/right alt, left/right command). However, many shortcuts get eaten by the operating system. That's why key duplication makes sense: Hit Ctrl+Q to complete the symbol in a text field because CMD+Q will close the VM. In Squeak, CMD+Q is assigned to this feature.
Best,
Marcel
|