[Vm-dev] Handling function keys in unix

Guillermo Polito guillermopolito at gmail.com
Tue Nov 22 18:53:58 UTC 2011


Hmm,  here again :)

Eclipse help page talks about keystrokes, not keychars:

http://help.eclipse.org/helios/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Fconcepts%2Faccessibility%2Fkeyboardshortcuts.htm

And so happens in my pharo image (but not in the VM :/).  So here we have
an inconsistency (*keyChar* event on the vm, *keyChar* in the HandMorph,
keystroke event on the rest of the image).

Don't you think it should be named keystroke everywhere?  Because If I
stroke F4, it's a kestroke.  It will not have a charCode, but It'll have a
keyValue.

Guille


On Tue, Nov 22, 2011 at 3:11 PM, Guillermo Polito <guillermopolito at gmail.com
> wrote:

>
>
> On Tue, Nov 22, 2011 at 12:06 PM, Igor Stasenko <siguctua at gmail.com>wrote:
>
>>
>> because these keys are not producing "characters", but they are kind
>> of "meta" keys which could modify the input.
>> as far as i understood, this line of code tells that it generates the
>> "KeyChar" event only if there's a character key pressed.
>> for other keys, like arrows, home/pgUp/pgDn etc you have key codes,
>> but not char codes, because there is no direct mapping between them
>> and any ascii/unicode character.
>>
>
>> imagine that all keys on your keyboard having a number. Esc -  1 , F1 - 2
>> , etc.
>> So, these numbers are key codes. Now some keys can be directly
>> translated to characters when pressed (depending on keyboard
>> layout/language settings), but some of them not, and has only the key
>> code.
>>
>
> Hmm, but in my image, if I press the left arrow, I get a KeyPress :P.  So
> it's cheating! haha.
>
> More, on, look at this for example:
>
>   case XK_Left:    return 28;
>     case XK_Up:        return 30;
>     case XK_Right:    return 29;
>     case XK_Down:    return 31;
>     case XK_Insert:    return  5;
>     case XK_Prior:    return 11;    /* page up */
>     case XK_Next:    return 12;    /* page down */
>     case XK_Home:    return  1;
>     case XK_End:    return  4;
>
>     case XK_KP_Left:    return 28;
>     case XK_KP_Up:    return 30;
>     case XK_KP_Right:    return 29;
>     case XK_KP_Down:    return 31;
>     case XK_KP_Insert:    return  5;
>     case XK_KP_Prior:    return 11;    /* page up */
>     case XK_KP_Next:    return 12;    /* page down */
>     case XK_KP_Home:    return  1;
>     case XK_KP_End:    return  4;
>
> All those keys are treated as characters since their value is < 128 :S
>
> What I'm wondering now is:  Should keybindings/shortcuts/"whatever name
> you want for them" be activated on keypress, keydown or keyup?
>
> I'll have a look at eclipse source code xD.
>
> Thank you very much :)
> Guille
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20111122/2d7021c1/attachment-0001.htm


More information about the Vm-dev mailing list