Hi, 

yes, it should be possible, but I need to see and think a bit on the best way 
to implement it... maybe a week end task? 

best,
Esteban

El 24/01/2012, a las 7:54p.m., Fernando Olivero escribió:

> 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.duca...@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
>> 
>> 
> 


Reply via email to