do not update keymap group in _e_comp_wl_input_keymap_update()
this state is dead, and any group changes which have been made should be reapplied based on the new state
This commit is contained in:
parent
5919d6ae7c
commit
c111cf7455
|
@ -327,7 +327,7 @@ static void
|
||||||
_e_comp_wl_input_keymap_update(struct xkb_keymap *keymap)
|
_e_comp_wl_input_keymap_update(struct xkb_keymap *keymap)
|
||||||
{
|
{
|
||||||
char *tmp;
|
char *tmp;
|
||||||
xkb_mod_mask_t latched = 0, locked = 0, group = 0;
|
xkb_mod_mask_t latched = 0, locked = 0;
|
||||||
struct wl_resource *res;
|
struct wl_resource *res;
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
|
|
||||||
|
@ -349,18 +349,14 @@ _e_comp_wl_input_keymap_update(struct xkb_keymap *keymap)
|
||||||
locked =
|
locked =
|
||||||
xkb_state_serialize_mods(e_comp_wl->xkb.state,
|
xkb_state_serialize_mods(e_comp_wl->xkb.state,
|
||||||
XKB_STATE_MODS_LOCKED);
|
XKB_STATE_MODS_LOCKED);
|
||||||
group =
|
|
||||||
xkb_state_serialize_layout(e_comp_wl->xkb.state,
|
|
||||||
XKB_STATE_LAYOUT_EFFECTIVE);
|
|
||||||
xkb_state_unref(e_comp_wl->xkb.state);
|
xkb_state_unref(e_comp_wl->xkb.state);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* create a new xkb state */
|
/* create a new xkb state */
|
||||||
e_comp_wl->xkb.state = xkb_state_new(keymap);
|
e_comp_wl->xkb.state = xkb_state_new(keymap);
|
||||||
|
|
||||||
if ((latched) || (locked) || (group))
|
xkb_state_update_mask(e_comp_wl->xkb.state, 0,
|
||||||
xkb_state_update_mask(e_comp_wl->xkb.state, 0,
|
latched, locked, 0, 0, 0);
|
||||||
latched, locked, 0, 0, group);
|
|
||||||
|
|
||||||
/* increment keymap reference */
|
/* increment keymap reference */
|
||||||
e_comp_wl->xkb.keymap = keymap;
|
e_comp_wl->xkb.keymap = keymap;
|
||||||
|
|
Loading…
Reference in New Issue