diff --git a/src/lib/edje/edje_entry.c b/src/lib/edje/edje_entry.c index a2abfcb366..ca3aace784 100644 --- a/src/lib/edje/edje_entry.c +++ b/src/lib/edje/edje_entry.c @@ -2002,8 +2002,8 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, _edje_emit(ed, "entry,key,backspace", rp->part->name); ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; } - else if (!strcmp(ev->key, "Delete") || - (!strcmp(ev->key, "KP_Delete") && !ev->string)) + else if ((!strcmp(ev->key, "Delete") || + (!strcmp(ev->key, "KP_Delete") && !ev->string)) && (!shift)) { _compose_seq_reset(en); if (control) @@ -2131,6 +2131,13 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, _edje_emit(ed, "entry,cut,notify", rp->part->name); ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; } + else if ((!strcmp(ev->key, "Delete") || + (!strcmp(ev->key, "KP_Delete") && !ev->string)) && (shift)) + { + _compose_seq_reset(en); + _edje_emit(ed, "entry,cut,notify", rp->part->name); + ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; + } #if defined(__APPLE__) && defined(__MACH__) else if ((super) && (!strcmp(ev->key, "z"))) #else