summaryrefslogtreecommitdiff
path: root/src/lib/ecore_x
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2018-01-24 15:58:28 -0500
committerMike Blumenkrantz <zmike@osg.samsung.com>2018-01-24 16:18:51 -0500
commit4b38020f894fe1f514483d067767d323ec4105e0 (patch)
treedc025cba314648a98970809657b697b2d8a90dac /src/lib/ecore_x
parent10fc36614f1613f60d861815ce43a383d0f3826e (diff)
ecore-x: add more info to Ecore_X_Event_Xkb event
this event corresponds to xkb state changes which are useful when working with xkb instances @feature
Diffstat (limited to 'src/lib/ecore_x')
-rw-r--r--src/lib/ecore_x/Ecore_X.h8
-rw-r--r--src/lib/ecore_x/ecore_x_events.c8
2 files changed, 16 insertions, 0 deletions
diff --git a/src/lib/ecore_x/Ecore_X.h b/src/lib/ecore_x/Ecore_X.h
index 3a6afa1..b095555 100644
--- a/src/lib/ecore_x/Ecore_X.h
+++ b/src/lib/ecore_x/Ecore_X.h
@@ -2494,8 +2494,16 @@ typedef struct _Ecore_X_Event_Damage Ecore_X_Event_Damage;
2494struct _Ecore_X_Event_Xkb 2494struct _Ecore_X_Event_Xkb
2495{ 2495{
2496 int group; 2496 int group;
2497 int base_group; /** @since 1.21 */
2498 int latched_group; /** @since 1.21 */
2499 int locked_group; /** @since 1.21 */
2500 unsigned int mods; /** @since 1.21 */
2501 unsigned int base_mods; /** @since 1.21 */
2502 unsigned int latched_mods; /** @since 1.21 */
2503 unsigned int locked_mods; /** @since 1.21 */
2497}; 2504};
2498typedef struct _Ecore_X_Event_Xkb Ecore_X_Event_Xkb; /** @since 1.7 */ 2505typedef struct _Ecore_X_Event_Xkb Ecore_X_Event_Xkb; /** @since 1.7 */
2506typedef struct _Ecore_X_Event_Xkb Ecore_X_Xkb_State; /** @since 1.21 */
2499 2507
2500EAPI Eina_Bool ecore_x_damage_query(void); 2508EAPI Eina_Bool ecore_x_damage_query(void);
2501EAPI Ecore_X_Damage ecore_x_damage_new(Ecore_X_Drawable d, Ecore_X_Damage_Report_Level level); 2509EAPI Ecore_X_Damage ecore_x_damage_new(Ecore_X_Drawable d, Ecore_X_Damage_Report_Level level);
diff --git a/src/lib/ecore_x/ecore_x_events.c b/src/lib/ecore_x/ecore_x_events.c
index 11d0988..51bf491 100644
--- a/src/lib/ecore_x/ecore_x_events.c
+++ b/src/lib/ecore_x/ecore_x_events.c
@@ -2656,6 +2656,14 @@ _ecore_x_event_handle_xkb(XEvent *xevent)
2656 return; 2656 return;
2657 2657
2658 e->group = xkbev->state.group; 2658 e->group = xkbev->state.group;
2659 e->base_group = xkbev->state.base_group;
2660 e->latched_group = xkbev->state.latched_group;
2661 e->locked_group = xkbev->state.locked_group;
2662
2663 e->mods = xkbev->state.mods;
2664 e->base_mods = xkbev->state.base_mods;
2665 e->latched_mods = xkbev->state.latched_mods;
2666 e->locked_mods = xkbev->state.locked_mods;
2659 ecore_event_add(ECORE_X_EVENT_XKB_STATE_NOTIFY, e, free_hash, NULL); 2667 ecore_event_add(ECORE_X_EVENT_XKB_STATE_NOTIFY, e, free_hash, NULL);
2660 eina_hash_add(emitted_events, &xkbev->state.serial, (void*) 1); 2668 eina_hash_add(emitted_events, &xkbev->state.serial, (void*) 1);
2661 } 2669 }