input->keyboard.modifiers |= ECORE_EVENT_MODIFIER_SHIFT;
if (mask & input->xkb.win_mask)
input->keyboard.modifiers |= ECORE_EVENT_MODIFIER_WIN;
+ if (mask & input->xkb.altgr_mask)
+ input->keyboard.modifiers |= ECORE_EVENT_MODIFIER_ALTGR;
+ if (mask & input->xkb.scroll_mask)
+ input->keyboard.modifiers |= ECORE_EVENT_MODIFIER_SCROLL;
+ if (mask & input->xkb.num_mask)
+ input->keyboard.modifiers |= ECORE_EVENT_MODIFIER_NUM;
+ if (mask & input->xkb.caps_mask)
+ input->keyboard.modifiers |= ECORE_EVENT_MODIFIER_CAPS;
+
+
+ mask = xkb_state_serialize_mods(input->xkb.state, XKB_STATE_MODS_LOCKED);
if (mask & input->xkb.scroll_mask)
input->keyboard.modifiers |= ECORE_EVENT_LOCK_SCROLL;
if (mask & input->xkb.num_mask)
input->keyboard.modifiers |= ECORE_EVENT_LOCK_NUM;
if (mask & input->xkb.caps_mask)
input->keyboard.modifiers |= ECORE_EVENT_LOCK_CAPS;
- if (mask & input->xkb.altgr_mask)
- input->keyboard.modifiers |= ECORE_EVENT_MODIFIER_ALTGR;
}
static void
seat->modifiers |= ECORE_EVENT_MODIFIER_ALTGR;
if (mask & kbd->info->mods.caps)
seat->modifiers |= ECORE_EVENT_MODIFIER_CAPS;
+ if (mask & kbd->info->mods.num)
+ seat->modifiers |= ECORE_EVENT_MODIFIER_NUM;
+
+ if (kbd->mods.locked & kbd->info->mods.caps)
+ seat->modifiers |= ECORE_EVENT_LOCK_CAPS;
+ if (kbd->mods.locked & kbd->info->mods.num)
+ seat->modifiers |= ECORE_EVENT_LOCK_NUM;
if (xkb_state_led_index_is_active(kbd->state, kbd->info->leds.num))
leds |= ELPUT_LED_NUM;
1 << xkb_keymap_mod_get_index(info->keymap.map, XKB_MOD_NAME_SHIFT);
info->mods.caps =
1 << xkb_keymap_mod_get_index(info->keymap.map, XKB_MOD_NAME_CAPS);
+ info->mods.num =
+ 1 << xkb_keymap_mod_get_index(info->keymap.map, "Mod2");
info->mods.ctrl =
1 << xkb_keymap_mod_get_index(info->keymap.map, XKB_MOD_NAME_CTRL);
info->mods.alt =