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
