elementary: ignore key event of keypad when NumLock is turned on in calendar, diskselector, gengrid, genlist, and player

SVN revision: 69939
This commit is contained in:
Jihoon Kim 2012-04-06 00:56:06 +00:00
parent 363a5fa126
commit b7c213af86
5 changed files with 54 additions and 30 deletions

View File

@ -66,7 +66,8 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_Type ty
if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return EINA_FALSE;
if (elm_widget_disabled_get(obj)) return EINA_FALSE;
if (!wd->video) return EINA_FALSE;
if ((!strcmp(ev->keyname, "Left")) || (!strcmp(ev->keyname, "KP_Left")))
if ((!strcmp(ev->keyname, "Left")) ||
((!strcmp(ev->keyname, "KP_Left")) && (!ev->string)))
{
double current, last;
@ -82,7 +83,8 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_Type ty
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
return EINA_TRUE;
}
if ((!strcmp(ev->keyname, "Right")) || (!strcmp(ev->keyname, "KP_Right")))
if ((!strcmp(ev->keyname, "Right")) ||
((!strcmp(ev->keyname, "KP_Right")) && (!ev->string)))
{
double current, last;

View File

@ -671,32 +671,32 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_Type ty
if (!wd->selection_enabled) return EINA_FALSE;
if ((!strcmp(ev->keyname, "Left")) ||
(!strcmp(ev->keyname, "KP_Left")))
((!strcmp(ev->keyname, "KP_Left")) && (!ev->string)))
{
_update_sel_it(obj, wd->selected_it-1);
}
else if ((!strcmp(ev->keyname, "Right")) ||
(!strcmp(ev->keyname, "KP_Right")))
((!strcmp(ev->keyname, "KP_Right")) && (!ev->string)))
{
_update_sel_it(obj, wd->selected_it+1);
}
else if ((!strcmp(ev->keyname, "Up")) ||
(!strcmp(ev->keyname, "KP_Up")))
((!strcmp(ev->keyname, "KP_Up")) && (!ev->string)))
{
_update_sel_it(obj, wd->selected_it-ELM_DAY_LAST);
}
else if ((!strcmp(ev->keyname, "Down")) ||
(!strcmp(ev->keyname, "KP_Down")))
((!strcmp(ev->keyname, "KP_Down")) && (!ev->string)))
{
_update_sel_it(obj, wd->selected_it+ELM_DAY_LAST);
}
else if ((!strcmp(ev->keyname, "Prior")) ||
(!strcmp(ev->keyname, "KP_Prior")))
((!strcmp(ev->keyname, "KP_Prior")) && (!ev->string)))
{
if (_update_month(obj, -1)) _populate(obj);
}
else if ((!strcmp(ev->keyname, "Next")) ||
(!strcmp(ev->keyname, "KP_Next")))
((!strcmp(ev->keyname, "KP_Next")) && (!ev->string)))
{
if (_update_month(obj, 1)) _populate(obj);
}

View File

@ -596,23 +596,29 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_Type ty
return EINA_TRUE;
}
if ((!strcmp(ev->keyname, "Left")) || (!strcmp(ev->keyname, "KP_Left")) ||
(!strcmp(ev->keyname, "Up")) || (!strcmp(ev->keyname, "KP_Up")))
if ((!strcmp(ev->keyname, "Left")) ||
((!strcmp(ev->keyname, "KP_Left")) && (!ev->string)) ||
(!strcmp(ev->keyname, "Up")) ||
((!strcmp(ev->keyname, "KP_Up")) && (!ev->string)))
{
l = wd->selected_item->node->prev;
if ((!l) && (wd->round))
l = eina_list_last(wd->items);
}
else if ((!strcmp(ev->keyname, "Right")) || (!strcmp(ev->keyname, "KP_Right")) ||
(!strcmp(ev->keyname, "Down")) || (!strcmp(ev->keyname, "KP_Down")))
else if ((!strcmp(ev->keyname, "Right")) ||
((!strcmp(ev->keyname, "KP_Right")) && (!ev->string)) ||
(!strcmp(ev->keyname, "Down")) ||
((!strcmp(ev->keyname, "KP_Down")) && (!ev->string)))
{
l = wd->selected_item->node->next;
if ((!l) && (wd->round))
l = wd->items;
}
else if ((!strcmp(ev->keyname, "Home")) || (!strcmp(ev->keyname, "KP_Home")))
else if ((!strcmp(ev->keyname, "Home")) ||
((!strcmp(ev->keyname, "KP_Home")) && (!ev->string)))
l = wd->items;
else if ((!strcmp(ev->keyname, "End")) || (!strcmp(ev->keyname, "KP_End")))
else if ((!strcmp(ev->keyname, "End")) ||
((!strcmp(ev->keyname, "KP_End")) && (!ev->string)))
l = eina_list_last(wd->items);
else return EINA_FALSE;

View File

@ -143,7 +143,8 @@ _event_hook(Evas_Object *obj,
elm_smart_scroller_page_size_get(wd->scr, &page_x, &page_y);
elm_smart_scroller_child_viewport_size_get(wd->scr, &v_w, &v_h);
if ((!strcmp(ev->keyname, "Left")) || (!strcmp(ev->keyname, "KP_Left")))
if ((!strcmp(ev->keyname, "Left")) ||
((!strcmp(ev->keyname, "KP_Left")) && (!ev->string)))
{
if ((wd->horizontal) &&
(((evas_key_modifier_is_set(ev->modifiers, "Shift")) &&
@ -164,7 +165,8 @@ _event_hook(Evas_Object *obj,
else
x -= step_x;
}
else if ((!strcmp(ev->keyname, "Right")) || (!strcmp(ev->keyname, "KP_Right")))
else if ((!strcmp(ev->keyname, "Right")) ||
((!strcmp(ev->keyname, "KP_Right")) && (!ev->string)))
{
if ((wd->horizontal) &&
(((evas_key_modifier_is_set(ev->modifiers, "Shift")) &&
@ -185,7 +187,8 @@ _event_hook(Evas_Object *obj,
else
x += step_x;
}
else if ((!strcmp(ev->keyname, "Up")) || (!strcmp(ev->keyname, "KP_Up")))
else if ((!strcmp(ev->keyname, "Up")) ||
((!strcmp(ev->keyname, "KP_Up")) && (!ev->string)))
{
if ((wd->horizontal) &&
(((evas_key_modifier_is_set(ev->modifiers, "Shift")) &&
@ -206,7 +209,8 @@ _event_hook(Evas_Object *obj,
else
y -= step_y;
}
else if ((!strcmp(ev->keyname, "Down")) || (!strcmp(ev->keyname, "KP_Down")))
else if ((!strcmp(ev->keyname, "Down")) ||
((!strcmp(ev->keyname, "KP_Down")) && (!ev->string)))
{
if ((wd->horizontal) &&
(((evas_key_modifier_is_set(ev->modifiers, "Shift")) &&
@ -227,7 +231,8 @@ _event_hook(Evas_Object *obj,
else
y += step_y;
}
else if ((!strcmp(ev->keyname, "Home")) || (!strcmp(ev->keyname, "KP_Home")))
else if ((!strcmp(ev->keyname, "Home")) ||
((!strcmp(ev->keyname, "KP_Home")) && (!ev->string)))
{
it = elm_gengrid_first_item_get(obj);
elm_gengrid_item_bring_in(it, ELM_GENGRID_ITEM_SCROLLTO_IN);
@ -235,7 +240,8 @@ _event_hook(Evas_Object *obj,
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
return EINA_TRUE;
}
else if ((!strcmp(ev->keyname, "End")) || (!strcmp(ev->keyname, "KP_End")))
else if ((!strcmp(ev->keyname, "End")) ||
((!strcmp(ev->keyname, "KP_End")) && (!ev->string)))
{
it = elm_gengrid_last_item_get(obj);
elm_gengrid_item_bring_in(it, ELM_GENGRID_ITEM_SCROLLTO_IN);
@ -243,7 +249,8 @@ _event_hook(Evas_Object *obj,
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
return EINA_TRUE;
}
else if ((!strcmp(ev->keyname, "Prior")) || (!strcmp(ev->keyname, "KP_Prior")))
else if ((!strcmp(ev->keyname, "Prior")) ||
((!strcmp(ev->keyname, "KP_Prior")) && (!ev->string)))
{
if (wd->horizontal)
{
@ -260,7 +267,8 @@ _event_hook(Evas_Object *obj,
y -= page_y;
}
}
else if ((!strcmp(ev->keyname, "Next")) || (!strcmp(ev->keyname, "KP_Next")))
else if ((!strcmp(ev->keyname, "Next")) ||
((!strcmp(ev->keyname, "KP_Next")) && (!ev->string)))
{
if (wd->horizontal)
{

View File

@ -328,15 +328,18 @@ _event_hook(Evas_Object *obj,
elm_smart_scroller_page_size_get(wd->scr, &page_x, &page_y);
elm_smart_scroller_child_viewport_size_get(wd->scr, &v_w, &v_h);
if ((!strcmp(ev->keyname, "Left")) || (!strcmp(ev->keyname, "KP_Left")))
if ((!strcmp(ev->keyname, "Left")) ||
((!strcmp(ev->keyname, "KP_Left")) && (!ev->string)))
{
x -= step_x;
}
else if ((!strcmp(ev->keyname, "Right")) || (!strcmp(ev->keyname, "KP_Right")))
else if ((!strcmp(ev->keyname, "Right")) ||
((!strcmp(ev->keyname, "KP_Right")) && (!ev->string)))
{
x += step_x;
}
else if ((!strcmp(ev->keyname, "Up")) || (!strcmp(ev->keyname, "KP_Up")))
else if ((!strcmp(ev->keyname, "Up")) ||
((!strcmp(ev->keyname, "KP_Up")) && (!ev->string)))
{
if (((evas_key_modifier_is_set(ev->modifiers, "Shift")) &&
(_item_multi_select_up(wd)))
@ -348,7 +351,8 @@ _event_hook(Evas_Object *obj,
else
y -= step_y;
}
else if ((!strcmp(ev->keyname, "Down")) || (!strcmp(ev->keyname, "KP_Down")))
else if ((!strcmp(ev->keyname, "Down")) ||
((!strcmp(ev->keyname, "KP_Down")) && (!ev->string)))
{
if (((evas_key_modifier_is_set(ev->modifiers, "Shift")) &&
(_item_multi_select_down(wd)))
@ -360,7 +364,8 @@ _event_hook(Evas_Object *obj,
else
y += step_y;
}
else if ((!strcmp(ev->keyname, "Home")) || (!strcmp(ev->keyname, "KP_Home")))
else if ((!strcmp(ev->keyname, "Home")) ||
((!strcmp(ev->keyname, "KP_Home")) && (!ev->string)))
{
it = elm_genlist_first_item_get(obj);
elm_genlist_item_bring_in(it, ELM_GENLIST_ITEM_SCROLLTO_IN);
@ -368,7 +373,8 @@ _event_hook(Evas_Object *obj,
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
return EINA_TRUE;
}
else if ((!strcmp(ev->keyname, "End")) || (!strcmp(ev->keyname, "KP_End")))
else if ((!strcmp(ev->keyname, "End")) ||
((!strcmp(ev->keyname, "KP_End")) && (!ev->string)))
{
it = elm_genlist_last_item_get(obj);
elm_genlist_item_bring_in(it, ELM_GENLIST_ITEM_SCROLLTO_IN);
@ -376,14 +382,16 @@ _event_hook(Evas_Object *obj,
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
return EINA_TRUE;
}
else if ((!strcmp(ev->keyname, "Prior")) || (!strcmp(ev->keyname, "KP_Prior")))
else if ((!strcmp(ev->keyname, "Prior")) ||
((!strcmp(ev->keyname, "KP_Prior")) && (!ev->string)))
{
if (page_y < 0)
y -= -(page_y * v_h) / 100;
else
y -= page_y;
}
else if ((!strcmp(ev->keyname, "Next")) || (!strcmp(ev->keyname, "KP_Next")))
else if ((!strcmp(ev->keyname, "Next")) ||
((!strcmp(ev->keyname, "KP_Next")) && (!ev->string)))
{
if (page_y < 0)
y += -(page_y * v_h) / 100;