diff options
Diffstat (limited to 'src/lib/ecore_wayland')
-rw-r--r-- | src/lib/ecore_wayland/ecore_wl_input.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/lib/ecore_wayland/ecore_wl_input.c b/src/lib/ecore_wayland/ecore_wl_input.c index c68669167d..8e7255f091 100644 --- a/src/lib/ecore_wayland/ecore_wl_input.c +++ b/src/lib/ecore_wayland/ecore_wl_input.c | |||
@@ -713,6 +713,16 @@ _ecore_wl_input_cb_keyboard_key(void *data, struct wl_keyboard *keyboard EINA_UN | |||
713 | if (keyname[0] == '\0') | 713 | if (keyname[0] == '\0') |
714 | snprintf(keyname, sizeof(keyname), "Keycode-%u", code); | 714 | snprintf(keyname, sizeof(keyname), "Keycode-%u", code); |
715 | 715 | ||
716 | /* if shift is active, we need to transform the key to lower */ | ||
717 | if (xkb_state_mod_index_is_active(input->xkb.state, | ||
718 | xkb_map_mod_get_index(input->xkb.keymap, | ||
719 | XKB_MOD_NAME_SHIFT), | ||
720 | XKB_STATE_MODS_EFFECTIVE)) | ||
721 | { | ||
722 | if (keyname[0] != '\0') | ||
723 | keyname[0] = tolower(keyname[0]); | ||
724 | } | ||
725 | |||
716 | memset(compose, 0, sizeof(compose)); | 726 | memset(compose, 0, sizeof(compose)); |
717 | _ecore_wl_input_keymap_translate_keysym(sym, input->modifiers, | 727 | _ecore_wl_input_keymap_translate_keysym(sym, input->modifiers, |
718 | compose, sizeof(compose)); | 728 | compose, sizeof(compose)); |