On Wed, 3 Jun 2015 21:24:40 +0900 Carsten Haitzler (The Rasterman)
<[email protected]> said:

ping?

> On Wed, 20 May 2015 12:06:38 -0700 Mike Blumenkrantz <[email protected]>
> said:
> 
> this - plus c3f3c4eba80f0a7f388de608f2b1566213e73603. why do we need a keysym
> AND a keycode. we already have that via char *'s (keyname==keycode
> + key==keysym).
> 
> if you don't have a huge #define'd table of keycodes and keysyms... what is
> the point? the number has no meaning. at least the string is interpretable.
> 
> > discomfitor pushed a commit to branch master.
> > 
> > http://git.enlightenment.org/core/efl.git/commit/?id=b7c89d23252d34c1d9efecc27dc835aa8df3c50d
> > 
> > commit b7c89d23252d34c1d9efecc27dc835aa8df3c50d
> > Author: Mike Blumenkrantz <[email protected]>
> > Date:   Wed May 20 14:49:51 2015 -0400
> > 
> >     evas: add keysym member to key event structs
> >     
> >     @feature
> > ---
> >  src/lib/ecore_input_evas/ecore_input_evas.c | 10 ++++---
> >  src/lib/evas/Evas_Common.h                  |  2 ++
> >  src/lib/evas/canvas/evas_canvas.eo          | 42 ++++++++++++++++++++++++++
> > ++
> > + src/lib/evas/canvas/evas_events.c           | 30 ++++++++++++++++-----
> >  4 files changed, 74 insertions(+), 10 deletions(-)
> > 
> > diff --git a/src/lib/ecore_input_evas/ecore_input_evas.c
> > b/src/lib/ecore_input_evas/ecore_input_evas.c index 23e9543..5de76a8 100644
> > --- a/src/lib/ecore_input_evas/ecore_input_evas.c
> > +++ b/src/lib/ecore_input_evas/ecore_input_evas.c
> > @@ -332,23 +332,25 @@ _ecore_event_evas_key(Ecore_Event_Key *e,
> > Ecore_Event_Press press) if (!lookup) return ECORE_CALLBACK_PASS_ON;
> >     ecore_event_evas_modifier_lock_update(lookup->evas, e->modifiers);
> >     if (press == ECORE_DOWN)
> > -     evas_event_feed_key_down_with_keycode(lookup->evas,
> > +     evas_event_feed_key_down_with_keycode_and_keysym(lookup->evas,
> >                                             e->keyname,
> >                                             e->key,
> >                                             e->string,
> >                                             e->compose,
> >                                             e->timestamp,
> >                                             e->data,
> > -                                           e->keycode);
> > +                                           e->keycode,
> > +                                           e->keysym);
> >     else
> > -     evas_event_feed_key_up_with_keycode(lookup->evas,
> > +     evas_event_feed_key_up_with_keycode_and_keysym(lookup->evas,
> >                                           e->keyname,
> >                                           e->key,
> >                                           e->string,
> >                                           e->compose,
> >                                           e->timestamp,
> >                                           e->data,
> > -                                         e->keycode);
> > +                                         e->keycode,
> > +                                         e->keysym);
> >     return ECORE_CALLBACK_PASS_ON;
> >  }
> >  
> > diff --git a/src/lib/evas/Evas_Common.h b/src/lib/evas/Evas_Common.h
> > index bc2e184..c3c33f1 100644
> > --- a/src/lib/evas/Evas_Common.h
> > +++ b/src/lib/evas/Evas_Common.h
> > @@ -859,6 +859,7 @@ struct _Evas_Event_Key_Down /** Key press event */
> >     Evas_Device     *dev;
> >  
> >     unsigned int     keycode; /**< Key scan code numeric value @since 1.10
> > */
> > +   unsigned int     keysym; /**< Encoding of key symbol @since 1.15 */
> >  };
> >  
> >  struct _Evas_Event_Key_Up /** Key release event */
> > @@ -876,6 +877,7 @@ struct _Evas_Event_Key_Up /** Key release event */
> >     Evas_Device     *dev;
> >  
> >     unsigned int     keycode; /**< Key scan code numeric value @since 1.10
> > */
> > +   unsigned int     keysym; /**< Encoding of key symbol @since 1.15 */
> >  };
> >  
> >  struct _Evas_Event_Render_Post /** Send when the frame rendering is done
> > @since 1.8 */ diff --git a/src/lib/evas/canvas/evas_canvas.eo
> > b/src/lib/evas/canvas/evas_canvas.eo index 130a083..f27fda0 100644
> > --- a/src/lib/evas/canvas/evas_canvas.eo
> > +++ b/src/lib/evas/canvas/evas_canvas.eo
> > @@ -1781,6 +1781,48 @@ class Evas.Canvas (Eo.Base, Evas.Common_Interface)
> >              @in keycode: uint; /*@ Key scan code numeric value for canvas.
> > */ }
> >        }
> > +      event_feed_key_down_with_keycode_and_keysym {
> > +         /*@
> > +         Key down event feed with keycode and keysym
> > +
> > +         This function will set some evas properties that is necessary when
> > +         a key is pressed. It prepares information to be treated by the
> > +         callback function.
> > +
> > +         @since 1.15 */
> > +
> > +         params {
> > +            @in keyname: const(char)*; /*@ Name of the key */
> > +            @in key: const(char)*; /*@ The key pressed. */
> > +            @in string: const(char)*; /*@ A String */
> > +            @in compose: const(char)*; /*@ The compose string */
> > +            @in timestamp: uint; /*@ Timestamp of the mouse up event */
> > +            @in data: const(void)*; /*@ Data for canvas. */
> > +            @in keycode: uint; /*@ Key scan code numeric value for canvas.
> > */
> > +            @in keysym: uint; /*@ Keysym for pressed key. */
> > +         }
> > +      }
> > +      event_feed_key_up_with_keycode_and_keysym {
> > +         /*@
> > +         Key up event feed with keycode
> > +
> > +         This function will set some evas properties that is necessary when
> > +         a key is released. It prepares information to be treated by the
> > +         callback function.
> > +
> > +         @since 1.15 */
> > +
> > +         params {
> > +            @in keyname: const(char)*; /*@ Name of the key */
> > +            @in key: const(char)*; /*@ The key released. */
> > +            @in string: const(char)*; /*@ string */
> > +            @in compose: const(char)*; /*@ compose */
> > +            @in timestamp: uint; /*@ Timestamp of the mouse up event */
> > +            @in data: const(void)*; /*@ Data for canvas. */
> > +            @in keycode: uint; /*@ Key scan code numeric value for canvas.
> > */
> > +            @in keysym: uint; /*@ Keysym for pressed key. */
> > +         }
> > +      }
> >        event_feed_axis_update {
> >           /*@
> >           Input device axis update event feed.
> > diff --git a/src/lib/evas/canvas/evas_events.c
> > b/src/lib/evas/canvas/evas_events.c index b357044..b6ef1ef 100644
> > --- a/src/lib/evas/canvas/evas_events.c
> > +++ b/src/lib/evas/canvas/evas_events.c
> > @@ -2451,7 +2451,8 @@ _canvas_event_feed_key_down_internal(Eo *eo_e,
> >                                       const char *compose,
> >                                       unsigned int timestamp,
> >                                       const void *data,
> > -                                     unsigned int keycode)
> > +                                     unsigned int keycode,
> > +                                     unsigned int keysym)
> >  {
> >     Evas_Public_Data *e = _pd;
> >     int event_id = 0;
> > @@ -2479,6 +2480,7 @@ _canvas_event_feed_key_down_internal(Eo *eo_e,
> >     ev.event_flags = e->default_event_flags;
> >     ev.dev = _evas_device_top_get(eo_e);
> >     ev.keycode = keycode;
> > +   ev.keysym = keysym;
> >     if (ev.dev) _evas_device_ref(ev.dev);
> >  
> >     if (e->grabs)
> > @@ -2557,7 +2559,8 @@ _canvas_event_feed_key_up_internal(Eo *eo_e,
> >                                     const char *compose,
> >                                     unsigned int timestamp,
> >                                     const void *data,
> > -                                   unsigned int keycode)
> > +                                   unsigned int keycode,
> > +                                   unsigned int keysym)
> >  {
> >     Evas_Public_Data *e = _pd;
> >     int event_id = 0;
> > @@ -2584,6 +2587,7 @@ _canvas_event_feed_key_up_internal(Eo *eo_e,
> >     ev.event_flags = e->default_event_flags;
> >     ev.dev = _evas_device_top_get(eo_e);
> >     ev.keycode = keycode;
> > +   ev.keysym = keysym;
> >     if (ev.dev) _evas_device_ref(ev.dev);
> >  
> >     if (e->grabs)
> > @@ -2657,28 +2661,42 @@ EOLIAN void
> >  _evas_canvas_event_feed_key_down(Eo *eo_e, Evas_Public_Data *e, const char
> > *keyname, const char *key, const char *string, const char *compose, unsigned
> > int timestamp, const void *data) { _canvas_event_feed_key_down_internal
> > (eo_e, e, keyname, key, string,
> > -                                        compose, timestamp, data, 0);
> > +                                        compose, timestamp, data, 0, 0);
> >  }
> >  
> >  EOLIAN void
> >  _evas_canvas_event_feed_key_up(Eo *eo_e, Evas_Public_Data *e, const char
> > *keyname, const char *key, const char *string, const char *compose, unsigned
> > int timestamp, const void *data) { _canvas_event_feed_key_up_internal(eo_e,
> > e, keyname, key, string,
> > -                                      compose, timestamp, data, 0);
> > +                                      compose, timestamp, data, 0, 0);
> >  }
> >  
> >  EOLIAN void
> >  _evas_canvas_event_feed_key_down_with_keycode(Eo *eo_e, Evas_Public_Data
> > *e, const char *keyname, const char *key, const char *string, const char
> > *compose, unsigned int timestamp, const void *data, unsigned int keycode)
> > { _canvas_event_feed_key_down_internal(eo_e, e, keyname, key, string,
> > -                                        compose, timestamp, data, keycode);
> > +                                        compose, timestamp, data, keycode,
> > 0); }
> >  
> >  EOLIAN void
> >  _evas_canvas_event_feed_key_up_with_keycode(Eo *eo_e, Evas_Public_Data *e,
> > const char *keyname, const char *key, const char *string, const char
> > *compose, unsigned int timestamp, const void *data, unsigned int keycode)
> > { _canvas_event_feed_key_up_internal(eo_e, e, keyname, key, string,
> > -                                      compose, timestamp, data, keycode);
> > +                                      compose, timestamp, data, keycode,
> > 0); +}
> > +
> > +EOLIAN void
> > +_evas_canvas_event_feed_key_down_with_keycode_and_keysym(Eo *eo_e,
> > Evas_Public_Data *e, const char *keyname, const char *key, const char
> > *string, const char *compose, unsigned int timestamp, const void *data,
> > unsigned int keycode, unsigned int keysym) +{
> > +   _canvas_event_feed_key_down_internal(eo_e, e, keyname, key, string,
> > +                                        compose, timestamp, data, keycode,
> > keysym); +}
> > +
> > +EOLIAN void
> > +_evas_canvas_event_feed_key_up_with_keycode_and_keysym(Eo *eo_e,
> > Evas_Public_Data *e, const char *keyname, const char *key, const char
> > *string, const char *compose, unsigned int timestamp, const void *data,
> > unsigned int keycode, unsigned int keysym) +{
> > +   _canvas_event_feed_key_up_internal(eo_e, e, keyname, key, string,
> > +                                      compose, timestamp, data, keycode,
> > keysym); }
> >  
> >  EOLIAN void
> > 
> > -- 
> > 
> > 
> 
> 
> -- 
> ------------- Codito, ergo sum - "I code, therefore I am" --------------
> The Rasterman (Carsten Haitzler)    [email protected]
> 
> 
> ------------------------------------------------------------------------------
> _______________________________________________
> 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]


------------------------------------------------------------------------------
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to