I should learn more on the topic :).
But on the principle yes I want to avoid all the hardcode stuff everywhere. 
Guillermo in feb we should have a coffee meeting with a group building new UI 
using Python (of course)
and I could ask them how they manage keystrokes. Or we can also interact with 
them by mail.
May be they do not have the answer.

> 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