Does Cocoa VM send Function keys to the image? :D How difficult is it to add?
On Tue, Jan 24, 2012 at 7:54 PM, Fernando Olivero <[email protected]>wrote: > YES! the keyboard events handling is a mess that should be rethought > and simplified. > > I've recently played with Cocoa, and created a windowed app, that > captures events and sends them to a pharo image via sockets. so i > learned how is done in COCOA. In Cocoa, there are 3 key events: > > NSKeyDown: The user generated a character or characters by pressing a key. > NSKeyUp: The user released a key. This event is always preceded by a > NSKeyDown event. > NSFlagsChanged: The user pressed or released a modifier key, or turned > Caps Lock on or off. > > "When the type of an event is NSKeyDown, the next step is typically to > get the characters generated by the key-down using the characters > method." > > I think the COCOA VM, should simply forward this events to the image. > Esteban, would this be possible? > > The three are enough, to preserve all the current behavior of Morphic. > > In short, the VM should omit keyChar keyboard events, and start > announcing non-characters pressed or released events. > > > Fernando > > > On Tue, Jan 24, 2012 at 10:50 PM, Stéphane Ducasse > <[email protected]> wrote: > > 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 > > > > > >
