Thanks for your response, The KEY_DOWN/UP events depend on
implementation of the ecore_win32_event as you know.
But the message is different between X11 and Windows. When I hold down
the 'space' key, the message comes as bellows.

  WM_KEYDOWN
  WM_CHAR
  WM_KEYDOWN
  WM_CHAR
  ...
  WM_KEYDOWN
  WM_CHAR

For reference,
in case of 'shift' and 'control' keys
  WM_KEYDOWN
  WM_KEYDOWN
  ...
  WM_KEYDOWN

'alt' key
  WM_SYSKEYDOWN
  WM_SYSKEYDOWN
  ...
  WM_SYSKEYDOWN

so, I added the ecore_event_add(ECORE_EVENT_KEY_UP) just after adding
DOWN event.
but always the different # of downs and ups. ((# of ups) == ((# of
downs) +(1)))  :)
before revising the patch. please enlighten me which is the best way
to fix the issue...



2012/4/2 Carsten Haitzler <[email protected]>:
> On Sun, 1 Apr 2012 19:23:06 +0900 Kim Shinwoo <[email protected]> said:
>
> i'm looking at _ecore_win32_window_procedure().
>
> for WM_KEYDOWN + WM_SYSKEYDOWN
>       _ecore_win32_event_handle_key_press(data, 1);
>
> and for WM_CHAR + WM_SYSCHAR
>       _ecore_win32_event_handle_key_press(data, 0);
>
> these are the ONLY 2 places int he ecore_win32 code i find that call this.
> (quick grep).
>
> for the 2nd we are ok - is_keystroke is 0 so your new code is never triggered,
> so we get a key down only as before. for the 1st we now get a key down
> immediately followed by a key up. can ou walk me through the windows event
> order when you get key repeats?
>
> in x11 it's easy. you get:
>
> down, up, down, up, down, up...
>
> always the same # of downs and ups. you can guess its a key repeat *IF* the
> timestamp of the next key down == timestamp of the same key up before it. now
> walk me through the windows input events. i dont see you using
> _ecore_win32_event_keystroke_get() to decide this is_keystroke valued. its
> hardcoded still given your patch.
>
>> Yes, you are right, but there is something different..
>>
>> The _ecore_win32_event_keystroke_get(); rules adding KEY_UP/DOWN
>> events by its return value.
>> If the key which occurs WM_KEYDOWN and WM_CHAR messages is pressed,
>> the _ecore_win32_event_keystroke_get(); returns 0
>> So, down + up event occur not the down, down + up.
>>
>> WM_CHAR message
>> Posted to the window with the keyboard focus when a WM_KEYDOWN message
>> is translated by the TranslateMessage function. The WM_CHAR message
>> contains the character code of the key that was pressed.
>>
>> Umm.. but the wrong smell is from WM_KEYUP message. We can see.. down + up,
>> up. Then see you with revised patch. Thanks for your response.
>>
>>
>> 2012/3/30 Carsten Haitzler <[email protected]>:
>> > On Fri, 30 Mar 2012 00:00:09 +0900 Kim Shinwoo <[email protected]>
>> > said:
>> >
>> > well i meant - the is_keystroke param. looking at the events, WM_KEYDOWN 
>> > and
>> > WM_SYSKEYDOWN set it to 1, WM_CHAR and WM_SYSCHAR set it to 0 - is this
>> > correct. windows sends the first 2 events ona  key press and the 2nd 2 on a
>> > release? because if this is the case you now get down (no up) on the first
>> > pair, and down + up on the 2nd. so u see down, down, up... that smells
>> > wrong to me... :/
>> >
>> >> Umm.. because the key event works like that on the Ubuntu.
>> >> You can check by adding two callbacks to one object for key_down and
>> >> key_up. When you hold down the key which makes WM_CHAR/SYSCHAR message,
>> >> both callbacks will be called. And the is_keystroke is true, if
>> >> WM_CHAR/SYSCHAR message fires.
>> >>
>> >> 2012년 3월 29일 목요일에 Carsten Haitzler<[email protected]>님이 작성:
>> >> > On Wed, 28 Mar 2012 16:16:54 +0900 Kim Shinwoo <[email protected]>
>> >> said:
>> >> >
>> >> > what is this is_keystroke stuff an why should it fire a key up (on
>> >> wince/32)
>> >> > during a key press?
>> >> >
>> >> >> ah.. yes, you right the patch to fire the key-up event no the mouse-up
>> >> >> event. :)
>> >> >>
>> >> >> 2012/3/28 Vincent Torri <[email protected]>:
>> >> >> > On Wed, Mar 28, 2012 at 4:23 AM, Kim Shinwoo <[email protected]>
>> >> wrote:
>> >> >> >> Dear All, Hello.
>> >> >> >>
>> >> >> >> Please review the previous patch first which is related with the WIN
>> >> key.
>> >> >> >
>> >> >> > it's already in svn :-)
>> >> >> >
>> >> >> >> Even though there is no answer to the previous question, I have made
>> >> >> >> and attached a patch to fire the mouse-up event when you hold down
>> >> >> >> keys which make WM_CHAR and WM_SYSCHAR.
>> >> >> >> Please review the patch and give any feedbacks. Thanks. ;)
>> >> >> >
>> >> >> > hmm, you're talking about mouse up but the event is a keyboard one
>> >> >> >
>> >> >> > Vincent
>> >> >> >
>> >> >> >
>> >> ------------------------------------------------------------------------------
>> >> >> > This SF email is sponsosred by:
>> >> >> > Try Windows Azure free for 90 days Click Here
>> >> >> > http://p.sf.net/sfu/sfd2d-msazure
>> >> >> > _______________________________________________
>> >> >> > enlightenment-devel mailing list
>> >> >> > [email protected]
>> >> >> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>> >> >>
>> >> >>
>> >> ------------------------------------------------------------------------------
>> >> >> This SF email is sponsosred by:
>> >> >> Try Windows Azure free for 90 days Click Here
>> >> >> http://p.sf.net/sfu/sfd2d-msazure
>> >> >> _______________________________________________
>> >> >> enlightenment-devel mailing list
>> >> >> [email protected]
>> >> >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>> >> >>
>> >> >
>> >> >
>> >> > --
>> >> > ------------- Codito, ergo sum - "I code, therefore I am" --------------
>> >> > The Rasterman (Carsten Haitzler)    [email protected]
>> >> >
>> >> >
>> >
>> >
>> > --
>> > ------------- Codito, ergo sum - "I code, therefore I am" --------------
>> > The Rasterman (Carsten Haitzler)    [email protected]
>> >
>>
>
>
> --
> ------------- Codito, ergo sum - "I code, therefore I am" --------------
> The Rasterman (Carsten Haitzler)    [email protected]
>

------------------------------------------------------------------------------
Better than sec? Nothing is better than sec when it comes to
monitoring Big Data applications. Try Boundary one-second 
resolution app monitoring today. Free.
http://p.sf.net/sfu/Boundary-dev2dev
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to