diff --git a/legacy/elementary/config/default/base.src b/legacy/elementary/config/default/base.src index 932ce2bb3b..bff1cfcb66 100644 --- a/legacy/elementary/config/default/base.src +++ b/legacy/elementary/config/default/base.src @@ -55,6 +55,7 @@ group "Elm_Config" struct { value "glayer_line_angular_tolerance" double: 20.0; value "glayer_flick_time_limit_ms" uint: 120; /* ms to finish flick */ value "glayer_long_tap_start_timeout" double: 1.2; /* sec to start long-tap */ + value "glayer_double_tap_timeout" double: 0.2; /* Timeout between two mouse dows when doing double click (and more). */ value "glayer_continues_enable" uchar: 1; /* Continues gesture enabled */ value "week_start" int: 1; value "weekend_start" int: 6; diff --git a/legacy/elementary/config/illume/base.src b/legacy/elementary/config/illume/base.src index 1669ce43e4..e9748a3b45 100644 --- a/legacy/elementary/config/illume/base.src +++ b/legacy/elementary/config/illume/base.src @@ -55,6 +55,7 @@ group "Elm_Config" struct { value "glayer_line_angular_tolerance" double: 20.0 value "glayer_flick_time_limit_ms" uint: 100; /* ms to finish flick */ value "glayer_long_tap_start_timeout" double: 1.2; /* sec to start long-tap */ + value "glayer_double_tap_timeout" double: 0.2; /* Timeout between two mouse dows when doing double click (and more). */ value "glayer_continues_enable" uchar: 1; /* Continues gesture enabled */ value "week_start" int: 1; value "weekend_start" int: 6; diff --git a/legacy/elementary/config/standard/base.src b/legacy/elementary/config/standard/base.src index ffe606acfe..5c1bc99d75 100644 --- a/legacy/elementary/config/standard/base.src +++ b/legacy/elementary/config/standard/base.src @@ -55,6 +55,7 @@ group "Elm_Config" struct { value "glayer_line_angular_tolerance" double: 20.0; value "glayer_flick_time_limit_ms" uint: 120; /* ms to finish flick */ value "glayer_long_tap_start_timeout" double: 1.2; /* sec to start long-tap */ + value "glayer_double_tap_timeout" double: 0.2; /* Timeout between two mouse dows when doing double click (and more). */ value "glayer_continues_enable" uchar: 1; /* Continues gesture enabled */ value "week_start" int: 1; value "weekend_start" int: 6; diff --git a/legacy/elementary/src/lib/elm_config.c b/legacy/elementary/src/lib/elm_config.c index 109d7f7897..02f80ca389 100644 --- a/legacy/elementary/src/lib/elm_config.c +++ b/legacy/elementary/src/lib/elm_config.c @@ -377,6 +377,7 @@ _desc_init(void) ELM_CONFIG_VAL(D, T, glayer_line_angular_tolerance, T_DOUBLE); ELM_CONFIG_VAL(D, T, glayer_flick_time_limit_ms, T_INT); ELM_CONFIG_VAL(D, T, glayer_long_tap_start_timeout, T_DOUBLE); + ELM_CONFIG_VAL(D, T, glayer_double_tap_timeout, T_DOUBLE); ELM_CONFIG_VAL(D, T, access_mode, T_INT); ELM_CONFIG_VAL(D, T, glayer_continues_enable, T_UCHAR); ELM_CONFIG_VAL(D, T, week_start, T_INT); @@ -1032,6 +1033,7 @@ _config_load(void) _elm_config->glayer_line_angular_tolerance = 20.0; /* 20 DEG */ _elm_config->glayer_flick_time_limit_ms = 120; /* ms to finish flick */ _elm_config->glayer_long_tap_start_timeout = 1.2; /* 1.2 second to start long-tap */ + _elm_config->glayer_double_tap_timeout = 0.2; /* 0.2 seconds between 2 mouse downs of a tap. */ _elm_config->glayer_continues_enable = EINA_TRUE; /* Continue gestures default */ _elm_config->week_start = 1; /* monday */ _elm_config->weekend_start = 6; /* saturday */ diff --git a/legacy/elementary/src/lib/elm_gesture_layer.c b/legacy/elementary/src/lib/elm_gesture_layer.c index d7832f4ead..ac49578727 100644 --- a/legacy/elementary/src/lib/elm_gesture_layer.c +++ b/legacy/elementary/src/lib/elm_gesture_layer.c @@ -11,8 +11,6 @@ #define ELM_GESTURE_MULTI_TIMEOUT 50 #define ELM_GESTURE_MINIMUM_MOMENTUM 0.001 -#define ELM_GESTURE_TAP_TIMEOUT 0.2 - /* Some Trigo values */ #define RAD_90DEG M_PI_2 #define RAD_180DEG M_PI @@ -1384,7 +1382,8 @@ _tap_gesture_test(Evas_Object *obj, Pointer_Event *pe, pe_list = _record_pointer_event(st, pe_list, pe, wd, event_info, event_type); if (!wd->gest_taps_timeout) { - wd->gest_taps_timeout = ecore_timer_add(ELM_GESTURE_TAP_TIMEOUT, + wd->gest_taps_timeout = + ecore_timer_add(_elm_config->glayer_double_tap_timeout, _multi_tap_timeout, gesture->obj); } else @@ -3502,6 +3501,10 @@ elm_gesture_layer_add(Evas_Object *parent) wd->repeat_events = EINA_TRUE; wd->glayer_continues_enable = _elm_config->glayer_continues_enable; + /* FIXME: Hack to get around old configs - if too small, enlarge. */ + if (_elm_config->glayer_double_tap_timeout < 0.00001) + _elm_config->glayer_double_tap_timeout = 0.2; + memset(wd->gesture, 0, sizeof(wd->gesture)); return obj; diff --git a/legacy/elementary/src/lib/elm_priv.h b/legacy/elementary/src/lib/elm_priv.h index acb0d75d33..5056198873 100644 --- a/legacy/elementary/src/lib/elm_priv.h +++ b/legacy/elementary/src/lib/elm_priv.h @@ -167,6 +167,7 @@ struct _Elm_Config double glayer_line_angular_tolerance; unsigned int glayer_flick_time_limit_ms; double glayer_long_tap_start_timeout; + double glayer_double_tap_timeout; int access_mode; Eina_Bool glayer_continues_enable; int week_start;