From 5c345bf37f43d92aaae8e27f426329916a1258ed Mon Sep 17 00:00:00 2001 From: Derek Foreman Date: Mon, 9 Mar 2015 15:49:08 -0400 Subject: [PATCH] Break e_comp_wl_input_keyboard_modifiers_update into two functions Summary: Separate the state serialization from the send so we can use the serialization function elsewhere. Reviewers: zmike, devilhorns Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D2123 --- src/bin/e_comp_wl_input.c | 22 ++++++++++++++-------- src/bin/e_comp_wl_input.h | 1 + 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/bin/e_comp_wl_input.c b/src/bin/e_comp_wl_input.c index 0d86402c1..1abe50927 100644 --- a/src/bin/e_comp_wl_input.c +++ b/src/bin/e_comp_wl_input.c @@ -441,6 +441,19 @@ e_comp_wl_input_keyboard_check(struct wl_resource *res) &_e_keyboard_interface); } +EINTERN void +e_comp_wl_input_keyboard_modifiers_serialize(E_Comp_Data *cdata) +{ + cdata->kbd.mod_depressed = + xkb_state_serialize_mods(cdata->xkb.state, XKB_STATE_DEPRESSED); + cdata->kbd.mod_latched = + xkb_state_serialize_mods(cdata->xkb.state, XKB_STATE_MODS_LATCHED); + cdata->kbd.mod_locked = + xkb_state_serialize_mods(cdata->xkb.state, XKB_STATE_MODS_LOCKED); + cdata->kbd.mod_group = + xkb_state_serialize_layout(cdata->xkb.state, XKB_STATE_LAYOUT_EFFECTIVE); +} + EINTERN void e_comp_wl_input_keyboard_modifiers_update(E_Comp_Data *cdata) { @@ -448,14 +461,7 @@ e_comp_wl_input_keyboard_modifiers_update(E_Comp_Data *cdata) struct wl_resource *res; Eina_List *l; - cdata->kbd.mod_depressed = - xkb_state_serialize_mods(cdata->xkb.state, XKB_STATE_DEPRESSED); - cdata->kbd.mod_latched = - xkb_state_serialize_mods(cdata->xkb.state, XKB_STATE_MODS_LATCHED); - cdata->kbd.mod_locked = - xkb_state_serialize_mods(cdata->xkb.state, XKB_STATE_MODS_LOCKED); - cdata->kbd.mod_group = - xkb_state_serialize_layout(cdata->xkb.state, XKB_STATE_LAYOUT_EFFECTIVE); + e_comp_wl_input_keyboard_modifiers_serialize(cdata); serial = wl_display_next_serial(cdata->wl.disp); EINA_LIST_FOREACH(cdata->kbd.resources, l, res) diff --git a/src/bin/e_comp_wl_input.h b/src/bin/e_comp_wl_input.h index 9c0000c9a..0392bdbfc 100644 --- a/src/bin/e_comp_wl_input.h +++ b/src/bin/e_comp_wl_input.h @@ -8,6 +8,7 @@ EINTERN void e_comp_wl_input_shutdown(E_Comp_Data *cdata); EINTERN Eina_Bool e_comp_wl_input_pointer_check(struct wl_resource *res); EINTERN Eina_Bool e_comp_wl_input_keyboard_check(struct wl_resource *res); +EINTERN void e_comp_wl_input_keyboard_modifiers_serialize(E_Comp_Data *cdata); EINTERN void e_comp_wl_input_keyboard_modifiers_update(E_Comp_Data *cdata); EINTERN void e_comp_wl_input_keyboard_state_update(E_Comp_Data *cdata, uint32_t keycode, Eina_Bool pressed);