[Pharo-project] [Event related] Character vs Keys
guillermopolito at gmail.com
Wed Jan 25 22:06:17 CET 2012
Does Cocoa VM send Function keys to the image? :D How difficult is it to
On Tue, Jan 24, 2012 at 7:54 PM, Fernando Olivero
<fernando.olivero at usi.ch>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
> 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.
> On Tue, Jan 24, 2012 at 10:50 PM, Stéphane Ducasse
> <stephane.ducasse at inria.fr> wrote:
> > I should learn more on the topic :).
> > But on the principle yes I want to avoid all the hardcode stuff
> > 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:
> >> And a quick explanation of Igor of how our vm works:
> >> 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
> >> - and the worse part is to fix all the hardcoded shortcuts messed
> everywhere in the image.
> >> Any thoughts on this?
> >> Thanks!
> >> Guille
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Pharo-project