disable double tap detection by default in gesture detector

since the gesture detector will block the main thread
(the only thread in the lua part) for 300 ms on each tap
waiting for the arrival of the second tap, it makes the whole
application less responsive. 300 ms of latency is well perceived
in this case. This patch will simply disable double tap detection by
default as no widget now handles double_tap gestures. We could
temporarily enable double tap detection when this gesture is indeed
needed after.
pull/191/head
chrox 11 years ago
parent 19d70f2719
commit fa9878301f

@ -48,6 +48,8 @@ DKOPTREADER_CONFIG_DOC_LANGS_TEXT = {"English", "Chinese_S", "Chinese_T"}
DKOPTREADER_CONFIG_DOC_LANGS_CODE = {"eng", "chi_sim", "chi_tra"} -- ISO 639-3 language string,
DKOPTREADER_CONFIG_DOC_DEFAULT_LANG_CODE = "eng" -- and make sure you have corresponding training data
-- gesture detector defaults
DGESDETECT_DISABLE_DOUBLE_TAP = true
-- ####################################################################
-- following features are not supported right now

@ -350,7 +350,8 @@ function GestureDetector:handleDoubleTap(tev)
DEBUG("set up tap timer")
-- deadline should be calculated by adding current tap time and the interval
local deadline = cur_tap.timev + TimeVal:new{
sec = 0, usec = self.DOUBLE_TAP_INTERVAL,
sec = 0,
usec = not Input.disable_double_tap and self.DOUBLE_TAP_INTERVAL or 0,
}
Input:setTimeout(function()
DEBUG("in tap timer", self.last_taps[slot] ~= nil)

@ -136,6 +136,7 @@ Input = {
},
rotation = 0,
timer_callbacks = {},
disable_double_tap = DGESDETECT_DISABLE_DOUBLE_TAP,
}
function Input:initKeyMap()

Loading…
Cancel
Save