On Tue, 9 Jun 2015 01:37:37 +0100 Daniel Kolesa <[email protected]> said:
> On Tue, Jun 9, 2015 at 1:26 AM, Carsten Haitzler <[email protected]> wrote: > > On Wed, 3 Jun 2015 21:24:40 +0900 Carsten Haitzler (The Rasterman) > > <[email protected]> said: > > > > ping? > > AFAIK Mike doesn't follow ML. At least he never responds to anything. > He left the E IRC channels too... let him reply. let's see > > > >> 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 > > ------------------------------------------------------------------------------ > _______________________________________________ > 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
