From 7046f87e3a6c4ea782a9a056ec28fb3b2f5d9916 Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Fri, 6 Apr 2012 10:34:03 +0000 Subject: [PATCH] elementary: ignore key event of keypad when NumLock is turned on in win, scroller, slider, video, photocam, map, slideshow, and spinner. SVN revision: 69952 --- legacy/elementary/src/lib/elm_map.c | 18 +++++++++++------ legacy/elementary/src/lib/elm_photocam.c | 12 ++++++------ legacy/elementary/src/lib/elm_scroller.c | 24 +++++++++++++++-------- legacy/elementary/src/lib/elm_slider.c | 14 +++++++------ legacy/elementary/src/lib/elm_slideshow.c | 6 ++++-- legacy/elementary/src/lib/elm_spinner.c | 24 +++++++++++++++-------- legacy/elementary/src/lib/elm_video.c | 6 ++++-- legacy/elementary/src/lib/elm_win.c | 8 ++++---- 8 files changed, 70 insertions(+), 42 deletions(-) diff --git a/legacy/elementary/src/lib/elm_map.c b/legacy/elementary/src/lib/elm_map.c index 4e3d881621..e97ec3eef8 100644 --- a/legacy/elementary/src/lib/elm_map.c +++ b/legacy/elementary/src/lib/elm_map.c @@ -3805,30 +3805,36 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_Type ty elm_smart_scroller_page_size_get(wd->scr, &page_x, &page_y); elm_smart_scroller_child_viewport_size_get(wd->scr, NULL, &vh); - 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))) { 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))) { y += step_y; } - 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 * vh) / 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 * vh) / 100; diff --git a/legacy/elementary/src/lib/elm_photocam.c b/legacy/elementary/src/lib/elm_photocam.c index 6babd8c5f7..021ddcf168 100644 --- a/legacy/elementary/src/lib/elm_photocam.c +++ b/legacy/elementary/src/lib/elm_photocam.c @@ -1018,27 +1018,27 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, elm_smart_scroller_child_viewport_size_get(wd->scr, &v_w, &v_h); if ((!strcmp(ev->keyname, "Left")) || - (!strcmp(ev->keyname, "KP_Left"))) + ((!strcmp(ev->keyname, "KP_Left")) && (!ev->string))) { x -= step_x; } else if ((!strcmp(ev->keyname, "Right")) || - (!strcmp(ev->keyname, "KP_Right"))) + ((!strcmp(ev->keyname, "KP_Right")) && (!ev->string))) { x += step_x; } else if ((!strcmp(ev->keyname, "Up")) || - (!strcmp(ev->keyname, "KP_Up"))) + ((!strcmp(ev->keyname, "KP_Up")) && (!ev->string))) { y -= step_y; } else if ((!strcmp(ev->keyname, "Down")) || - (!strcmp(ev->keyname, "KP_Down"))) + ((!strcmp(ev->keyname, "KP_Down")) && (!ev->string))) { y += step_y; } else if ((!strcmp(ev->keyname, "Prior")) || - (!strcmp(ev->keyname, "KP_Prior"))) + ((!strcmp(ev->keyname, "KP_Prior")) && (!ev->string))) { if (page_y < 0) y -= -(page_y * v_h) / 100; @@ -1046,7 +1046,7 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, y -= page_y; } else if ((!strcmp(ev->keyname, "Next")) || - (!strcmp(ev->keyname, "KP_Next"))) + ((!strcmp(ev->keyname, "KP_Next")) && (!ev->string))) { if (page_y < 0) y += -(page_y * v_h) / 100; diff --git a/legacy/elementary/src/lib/elm_scroller.c b/legacy/elementary/src/lib/elm_scroller.c index 47076d15fe..49959b277b 100644 --- a/legacy/elementary/src/lib/elm_scroller.c +++ b/legacy/elementary/src/lib/elm_scroller.c @@ -75,38 +75,46 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_Type ty elm_smart_scroller_child_viewport_size_get(wd->scr, &v_w, &v_h); elm_scroller_child_size_get(obj, &max_x, &max_y); - 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))) { 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))) { 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))) { y = 0; } - else if ((!strcmp(ev->keyname, "End")) || (!strcmp(ev->keyname, "KP_End"))) + else if ((!strcmp(ev->keyname, "End")) || + ((!strcmp(ev->keyname, "KP_End")) && (!ev->string))) { y = max_y - v_h; } - 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; diff --git a/legacy/elementary/src/lib/elm_slider.c b/legacy/elementary/src/lib/elm_slider.c index 13554eaa6a..e93c6fbf1a 100644 --- a/legacy/elementary/src/lib/elm_slider.c +++ b/legacy/elementary/src/lib/elm_slider.c @@ -95,8 +95,8 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_Type ty ev = event_info; if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return EINA_FALSE; if (elm_widget_disabled_get(obj)) 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))) { if (!wd->horizontal) return EINA_FALSE; if (!wd->inverted) _drag_down(obj, NULL, NULL, NULL); @@ -104,8 +104,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; } - 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) return EINA_FALSE; if (!wd->inverted) _drag_up(obj, NULL, NULL, NULL); @@ -113,7 +113,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; } - 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) return EINA_FALSE; if (wd->inverted) _drag_up(obj, NULL, NULL, NULL); @@ -121,7 +122,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; } - 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) return EINA_FALSE; if (wd->inverted) _drag_down(obj, NULL, NULL, NULL); diff --git a/legacy/elementary/src/lib/elm_slideshow.c b/legacy/elementary/src/lib/elm_slideshow.c index 52ef7c1eb5..08aa142bf6 100644 --- a/legacy/elementary/src/lib/elm_slideshow.c +++ b/legacy/elementary/src/lib/elm_slideshow.c @@ -70,13 +70,15 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_Type ty if (!wd) return EINA_FALSE; if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return EINA_FALSE; if (elm_widget_disabled_get(obj)) 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))) { elm_slideshow_previous(obj); 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))) { elm_slideshow_next(obj); ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; diff --git a/legacy/elementary/src/lib/elm_spinner.c b/legacy/elementary/src/lib/elm_spinner.c index e1f35bf36b..98da81ce4c 100644 --- a/legacy/elementary/src/lib/elm_spinner.c +++ b/legacy/elementary/src/lib/elm_spinner.c @@ -520,16 +520,20 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_Type ty { Evas_Event_Key_Down *ev = event_info; if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return EINA_FALSE; - else if (!strcmp(ev->keyname, "Left") || !strcmp(ev->keyname, "KP_Left") - || !strcmp(ev->keyname, "Down") || !strcmp(ev->keyname, "KP_Down")) + else if (!strcmp(ev->keyname, "Left") || + ((!strcmp(ev->keyname, "KP_Left")) && (!ev->string)) || + !strcmp(ev->keyname, "Down") || + ((!strcmp(ev->keyname, "KP_Down")) && (!ev->string))) { _val_dec_start(obj); edje_object_signal_emit(wd->spinner, "elm,left,anim,activate", "elm"); ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; return EINA_TRUE; } - else if (!strcmp(ev->keyname, "Right") || !strcmp(ev->keyname, "KP_Right") - || !strcmp(ev->keyname, "Up") || !strcmp(ev->keyname, "KP_Up")) + else if (!strcmp(ev->keyname, "Right") || + ((!strcmp(ev->keyname, "KP_Right")) && (!ev->string)) || + !strcmp(ev->keyname, "Up") || + ((!strcmp(ev->keyname, "KP_Up")) && (!ev->string))) { _val_inc_start(obj); edje_object_signal_emit(wd->spinner, "elm,right,anim,activate", "elm"); @@ -541,11 +545,15 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_Type ty { Evas_Event_Key_Down *ev = event_info; if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return EINA_FALSE; - if (!strcmp(ev->keyname, "Right") || !strcmp(ev->keyname, "KP_Right") - || !strcmp(ev->keyname, "Up") || !strcmp(ev->keyname, "KP_Up")) + if (!strcmp(ev->keyname, "Right") || + ((!strcmp(ev->keyname, "KP_Right")) && (!ev->string)) || + !strcmp(ev->keyname, "Up") || + ((!strcmp(ev->keyname, "KP_Up")) && (!ev->string))) _val_inc_stop(obj); - else if (!strcmp(ev->keyname, "Left") || !strcmp(ev->keyname, "KP_Left") - || !strcmp(ev->keyname, "Down") || !strcmp(ev->keyname, "KP_Down")) + else if (!strcmp(ev->keyname, "Left") || + ((!strcmp(ev->keyname, "KP_Left")) && (!ev->string)) || + !strcmp(ev->keyname, "Down") || + ((!strcmp(ev->keyname, "KP_Down")) && (!ev->string))) _val_dec_stop(obj); else return EINA_FALSE; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; diff --git a/legacy/elementary/src/lib/elm_video.c b/legacy/elementary/src/lib/elm_video.c index 76c8f4ea4b..e4d73b6de1 100644 --- a/legacy/elementary/src/lib/elm_video.c +++ b/legacy/elementary/src/lib/elm_video.c @@ -44,7 +44,8 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_Type ty if (!wd) return EINA_FALSE; if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return EINA_FALSE; if (elm_widget_disabled_get(obj)) 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; @@ -60,7 +61,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; diff --git a/legacy/elementary/src/lib/elm_win.c b/legacy/elementary/src/lib/elm_win.c index 0130349d3c..5389ddd2db 100644 --- a/legacy/elementary/src/lib/elm_win.c +++ b/legacy/elementary/src/lib/elm_win.c @@ -553,22 +553,22 @@ _elm_win_event_cb(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_T return EINA_TRUE; } else if ((!strcmp(ev->keyname, "Left")) || - (!strcmp(ev->keyname, "KP_Left"))) + ((!strcmp(ev->keyname, "KP_Left")) && (!ev->string))) { //TODO : woohyun jung } else if ((!strcmp(ev->keyname, "Right")) || - (!strcmp(ev->keyname, "KP_Right"))) + ((!strcmp(ev->keyname, "KP_Right")) && (!ev->string))) { //TODO : woohyun jung } else if ((!strcmp(ev->keyname, "Up")) || - (!strcmp(ev->keyname, "KP_Up"))) + ((!strcmp(ev->keyname, "KP_Up")) && (!ev->string))) { //TODO : woohyun jung } else if ((!strcmp(ev->keyname, "Down")) || - (!strcmp(ev->keyname, "KP_Down"))) + ((!strcmp(ev->keyname, "KP_Down")) && (!ev->string))) { //TODO : woohyun jung }