I am all for cleaning this up, but I'm sorry that I cannot be very constructive on this. I'd just like to confirm that keyboard handling with regard to special keypresses does not behave correctly. Try this in a workspace or transcript: hit ctrl-1 This prints 1. Same for 2 till 8. Guess what ctrl-9 does. No, it does not print 9. Try it ... In my opinion, ctrl-whatever should not put anything at all in the transcript window as it is not a normal keypress. Same holds for all ctrl, option, alt, command, et cetera modifier key presses, except for shift of course. But even so, the strange behavior of ctrl-9 does not really have a clear justification. On 24 Jan 2012, at 16:20, Guillermo Polito wrote:
Hi!
While playing (again) to add Function keys support, reading documentation of how keyboard handling works on our vm and other platforms:
.Net: http://msdn.microsoft.com/en-us/library/system.windows.forms.control.keydown... Javascript: http://www.quirksmode.org/js/keys.html
And a quick explanation of Igor of how our vm works: http://lists.squeakfoundation.org/pipermail/vm-dev/2011-November/009661.html
What puzzles me is some of the following:
- Keypress event should only be raised to send keystrokes having a character representation. - but some keystrokes with no character representation are taken as keypresses! (arrowup, arrowdown, esc...) (and so, used to handle events instead of doing it on keydown) - the strokes above should be only raised in keydowns IMHO. - more on, we have in Character class representations for those non characters :P which is funny because they are not characters.
And everything works, and fits in a kind of strange way :).
Now, rearranging this to follow those conventions means: - reify Keys (vs Characters). So we can model modifier keys, function keys, arrow keys, independent from Characters. - Keys (non-characters) should only be raised as single events on keydown. - and the worse part is to fix all the hardcoded shortcuts messed everywhere in the image.
Any thoughts on this?
Thanks! Guille
---> Save our in-boxes! http://emailcharter.org <--- Johan Fabry jfabry@dcc.uchile.cl - http://dcc.uchile.cl/~jfabry PLEIAD Lab - Computer Science Department (DCC) - University of Chile