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.aspx
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

Reply via email to