edje - Fix efl to use key not keyname (so xmodmap works).

This commit is contained in:
Carsten Haitzler 2013-07-31 15:13:40 +09:00
parent e0b8e3f5e7
commit 5ae4cfd192
3 changed files with 48 additions and 44 deletions

View File

@ -1,3 +1,7 @@
2013-07-31 Carsten Haitzler (The Rasterman)
* Fix efl to use key not keyname (so xmodmap works).
2013-07-31 Cedric Bail 2013-07-31 Cedric Bail
* Eina: add eina_file_virtualize() and eina_file_virtual(). * Eina: add eina_file_virtualize() and eina_file_virtual().

View File

@ -943,7 +943,7 @@ EAPI Ecore_IMF_Input_Mode ecore_imf_context_input_mode_get(Ecore_IMF_Co
* _key_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) * _key_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
* { * {
* Evas_Event_Key_Down *ev = event_info; * Evas_Event_Key_Down *ev = event_info;
* if (!ev->keyname) return; * if (!ev->key) return;
* *
* if (imf_context) * if (imf_context)
* { * {

View File

@ -1487,7 +1487,7 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) || if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
(rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_EDITABLE)) (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_EDITABLE))
return; return;
if (!ev->keyname) return; if (!ev->key) return;
_edje_emit(ed, "entry,keydown", rp->part->name); _edje_emit(ed, "entry,keydown", rp->part->name);
#ifdef HAVE_ECORE_IMF #ifdef HAVE_ECORE_IMF
@ -1504,18 +1504,18 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
if (en->have_preedit) if (en->have_preedit)
{ {
if (!strcmp(ev->keyname, "Down") || if (!strcmp(ev->key, "Down") ||
(!strcmp(ev->keyname, "KP_Down") && !ev->string) || (!strcmp(ev->key, "KP_Down") && !ev->string) ||
!strcmp(ev->keyname, "Up") || !strcmp(ev->key, "Up") ||
(!strcmp(ev->keyname, "KP_Up") && !ev->string) || (!strcmp(ev->key, "KP_Up") && !ev->string) ||
!strcmp(ev->keyname, "Next") || !strcmp(ev->key, "Next") ||
(!strcmp(ev->keyname, "KP_Next") && !ev->string) || (!strcmp(ev->key, "KP_Next") && !ev->string) ||
!strcmp(ev->keyname, "Prior") || !strcmp(ev->key, "Prior") ||
(!strcmp(ev->keyname, "KP_Prior") && !ev->string) || (!strcmp(ev->key, "KP_Prior") && !ev->string) ||
!strcmp(ev->keyname, "Home") || !strcmp(ev->key, "Home") ||
(!strcmp(ev->keyname, "KP_Home") && !ev->string) || (!strcmp(ev->key, "KP_Home") && !ev->string) ||
!strcmp(ev->keyname, "End") || !strcmp(ev->key, "End") ||
(!strcmp(ev->keyname, "KP_End") && !ev->string)) (!strcmp(ev->key, "KP_End") && !ev->string))
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
} }
@ -1532,15 +1532,15 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
shift = evas_key_modifier_is_set(ev->modifiers, "Shift"); shift = evas_key_modifier_is_set(ev->modifiers, "Shift");
multiline = rp->part->multiline; multiline = rp->part->multiline;
cursor_changed = EINA_FALSE; cursor_changed = EINA_FALSE;
if (!strcmp(ev->keyname, "Escape")) if (!strcmp(ev->key, "Escape"))
{ {
_compose_seq_reset(en); _compose_seq_reset(en);
// dead keys here. Escape for now (should emit these) // dead keys here. Escape for now (should emit these)
_edje_emit(ed, "entry,key,escape", rp->part->name); _edje_emit(ed, "entry,key,escape", rp->part->name);
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
} }
else if (!strcmp(ev->keyname, "Up") || else if (!strcmp(ev->key, "Up") ||
(!strcmp(ev->keyname, "KP_Up") && !ev->string)) (!strcmp(ev->key, "KP_Up") && !ev->string))
{ {
_compose_seq_reset(en); _compose_seq_reset(en);
if (multiline) if (multiline)
@ -1568,8 +1568,8 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
_edje_emit(ed, "entry,key,up", rp->part->name); _edje_emit(ed, "entry,key,up", rp->part->name);
_edje_emit(ed, "cursor,changed,manual", rp->part->name); _edje_emit(ed, "cursor,changed,manual", rp->part->name);
} }
else if (!strcmp(ev->keyname, "Down") || else if (!strcmp(ev->key, "Down") ||
(!strcmp(ev->keyname, "KP_Down") && !ev->string)) (!strcmp(ev->key, "KP_Down") && !ev->string))
{ {
_compose_seq_reset(en); _compose_seq_reset(en);
if (multiline) if (multiline)
@ -1597,8 +1597,8 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
_edje_emit(ed, "entry,key,down", rp->part->name); _edje_emit(ed, "entry,key,down", rp->part->name);
_edje_emit(ed, "cursor,changed,manual", rp->part->name); _edje_emit(ed, "cursor,changed,manual", rp->part->name);
} }
else if (!strcmp(ev->keyname, "Left") || else if (!strcmp(ev->key, "Left") ||
(!strcmp(ev->keyname, "KP_Left") && !ev->string)) (!strcmp(ev->key, "KP_Left") && !ev->string))
{ {
_compose_seq_reset(en); _compose_seq_reset(en);
if (en->have_selection && if (en->have_selection &&
@ -1625,8 +1625,8 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
_edje_emit(ed, "entry,key,left", rp->part->name); _edje_emit(ed, "entry,key,left", rp->part->name);
_edje_emit(ed, "cursor,changed,manual", rp->part->name); _edje_emit(ed, "cursor,changed,manual", rp->part->name);
} }
else if (!strcmp(ev->keyname, "Right") || else if (!strcmp(ev->key, "Right") ||
(!strcmp(ev->keyname, "KP_Right") && !ev->string)) (!strcmp(ev->key, "KP_Right") && !ev->string))
{ {
_compose_seq_reset(en); _compose_seq_reset(en);
if (en->have_selection && if (en->have_selection &&
@ -1653,7 +1653,7 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
_edje_emit(ed, "entry,key,right", rp->part->name); _edje_emit(ed, "entry,key,right", rp->part->name);
_edje_emit(ed, "cursor,changed,manual", rp->part->name); _edje_emit(ed, "cursor,changed,manual", rp->part->name);
} }
else if (!strcmp(ev->keyname, "BackSpace")) else if (!strcmp(ev->key, "BackSpace"))
{ {
_compose_seq_reset(en); _compose_seq_reset(en);
if (control && !en->have_selection) if (control && !en->have_selection)
@ -1691,8 +1691,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); _edje_emit(ed, "entry,key,backspace", rp->part->name);
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
} }
else if (!strcmp(ev->keyname, "Delete") || else if (!strcmp(ev->key, "Delete") ||
(!strcmp(ev->keyname, "KP_Delete") && !ev->string)) (!strcmp(ev->key, "KP_Delete") && !ev->string))
{ {
_compose_seq_reset(en); _compose_seq_reset(en);
if (control) if (control)
@ -1728,8 +1728,8 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
} }
else if ((!alt) && else if ((!alt) &&
(!strcmp(ev->keyname, "Home") || (!strcmp(ev->key, "Home") ||
((!strcmp(ev->keyname, "KP_Home")) && !ev->string))) ((!strcmp(ev->key, "KP_Home")) && !ev->string)))
{ {
_compose_seq_reset(en); _compose_seq_reset(en);
if (en->select_allow) if (en->select_allow)
@ -1749,8 +1749,8 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
} }
else if ((!alt) && else if ((!alt) &&
(!strcmp(ev->keyname, "End") || (!strcmp(ev->key, "End") ||
((!strcmp(ev->keyname, "KP_End")) && !ev->string))) ((!strcmp(ev->key, "KP_End")) && !ev->string)))
{ {
_compose_seq_reset(en); _compose_seq_reset(en);
if (en->select_allow) if (en->select_allow)
@ -1769,14 +1769,14 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
_edje_emit(ed, "entry,key,end", rp->part->name); _edje_emit(ed, "entry,key,end", rp->part->name);
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
} }
else if ((control) && (!shift) && (!strcmp(ev->keyname, "v"))) else if ((control) && (!shift) && (!strcmp(ev->key, "v")))
{ {
_compose_seq_reset(en); _compose_seq_reset(en);
_edje_emit(ed, "entry,paste,request", rp->part->name); _edje_emit(ed, "entry,paste,request", rp->part->name);
_edje_emit(ed, "entry,paste,request,3", rp->part->name); _edje_emit(ed, "entry,paste,request,3", rp->part->name);
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
} }
else if ((control) && (!strcmp(ev->keyname, "a"))) else if ((control) && (!strcmp(ev->key, "a")))
{ {
_compose_seq_reset(en); _compose_seq_reset(en);
if (shift) if (shift)
@ -1790,19 +1790,19 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
} }
} }
else if ((control) && (((!shift) && !strcmp(ev->keyname, "c")) || !strcmp(ev->keyname, "Insert"))) else if ((control) && (((!shift) && !strcmp(ev->key, "c")) || !strcmp(ev->key, "Insert")))
{ {
_compose_seq_reset(en); _compose_seq_reset(en);
_edje_emit(ed, "entry,copy,notify", rp->part->name); _edje_emit(ed, "entry,copy,notify", rp->part->name);
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
} }
else if ((control) && (!shift) && ((!strcmp(ev->keyname, "x") || (!strcmp(ev->keyname, "m"))))) else if ((control) && (!shift) && ((!strcmp(ev->key, "x") || (!strcmp(ev->key, "m")))))
{ {
_compose_seq_reset(en); _compose_seq_reset(en);
_edje_emit(ed, "entry,cut,notify", rp->part->name); _edje_emit(ed, "entry,cut,notify", rp->part->name);
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
} }
else if ((control) && (!strcmp(ev->keyname, "z"))) else if ((control) && (!strcmp(ev->key, "z")))
{ {
_compose_seq_reset(en); _compose_seq_reset(en);
if (shift) if (shift)
@ -1817,21 +1817,21 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
} }
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
} }
else if ((control) && (!shift) && (!strcmp(ev->keyname, "y"))) else if ((control) && (!shift) && (!strcmp(ev->key, "y")))
{ {
_compose_seq_reset(en); _compose_seq_reset(en);
// redo // redo
_edje_emit(ed, "entry,redo,request", rp->part->name); _edje_emit(ed, "entry,redo,request", rp->part->name);
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
} }
else if ((control) && (!shift) && (!strcmp(ev->keyname, "w"))) else if ((control) && (!shift) && (!strcmp(ev->key, "w")))
{ {
_compose_seq_reset(en); _compose_seq_reset(en);
_sel_clear(ed, en->cursor, rp->object, en); _sel_clear(ed, en->cursor, rp->object, en);
// select current word? // select current word?
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
} }
else if (!strcmp(ev->keyname, "Tab")) else if (!strcmp(ev->key, "Tab"))
{ {
_compose_seq_reset(en); _compose_seq_reset(en);
if (multiline) if (multiline)
@ -1864,14 +1864,14 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
} }
_edje_emit(ed, "entry,key,tab", rp->part->name); _edje_emit(ed, "entry,key,tab", rp->part->name);
} }
else if ((!strcmp(ev->keyname, "ISO_Left_Tab")) && (multiline)) else if ((!strcmp(ev->key, "ISO_Left_Tab")) && (multiline))
{ {
_compose_seq_reset(en); _compose_seq_reset(en);
// remove a tab // remove a tab
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
} }
else if (!strcmp(ev->keyname, "Prior") || else if (!strcmp(ev->key, "Prior") ||
(!strcmp(ev->keyname, "KP_Prior") && !ev->string)) (!strcmp(ev->key, "KP_Prior") && !ev->string))
{ {
_compose_seq_reset(en); _compose_seq_reset(en);
if (en->select_allow) if (en->select_allow)
@ -1888,8 +1888,8 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
_edje_emit(ed, "entry,key,pgup", rp->part->name); _edje_emit(ed, "entry,key,pgup", rp->part->name);
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
} }
else if (!strcmp(ev->keyname, "Next") || else if (!strcmp(ev->key, "Next") ||
(!strcmp(ev->keyname, "KP_Next") && !ev->string)) (!strcmp(ev->key, "KP_Next") && !ev->string))
{ {
_compose_seq_reset(en); _compose_seq_reset(en);
if (en->select_allow) if (en->select_allow)
@ -1906,7 +1906,7 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
_edje_emit(ed, "entry,key,pgdn", rp->part->name); _edje_emit(ed, "entry,key,pgdn", rp->part->name);
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
} }
else if ((!strcmp(ev->keyname, "Return")) || (!strcmp(ev->keyname, "KP_Enter"))) else if ((!strcmp(ev->key, "Return")) || (!strcmp(ev->key, "KP_Enter")))
{ {
_compose_seq_reset(en); _compose_seq_reset(en);
if (multiline) if (multiline)