[Pharo-project] [Event related] Character vs Keys

Guillermo Polito 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
add?

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
> 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
> <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
> 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
> >
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gforge.inria.fr/pipermail/pharo-project/attachments/20120125/0fabb5e9/attachment.htm>


More information about the Pharo-project mailing list