blob: bfaf72e5e892532c82348976d7bcbbe13665c5b5 [file] [log] [blame]
# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
from fuzzy_check import FuzzyCheck
from validators import *
# originally generated gestures with box filter enabled:
#
# 15972.610917 - 15972.932469 | Motion d=1.787 x=0 y=1.787 r=4.905e-06
# 15973.035596 - 15973.169617 | Motion d=0.8936 x=0.2234 y=0.6702 r=2.776e-17
# 15973.370449 - 15973.380631 | Motion d=0.2234 x=0 y=0.2234 r=2.776e-17
# 15973.523833 - 15973.534076 | Motion d=0.2234 x=0 y=0.2234 r=2.776e-17
# 15973.844245 - 15973.864794 | Motion d=0.4468 x=0.2234 y=0.2234 r=2.776e-17
# 15974.340741 - 15974.345890 | Motion d=0.2234 x=0 y=0.2234 r=2.776e-17
# 15974.453534 - 15974.458708 | Motion d=0.3159 x=0.2234 y=0.2234 r=0
# 15975.410640 - 15975.415788 | Motion d=0.2234 x=0 y=0.2234 r=2.776e-17
# 15976.528128 - 15976.533288 | Motion d=0.2234 x=0 y=0.2234 r=2.776e-17
# 15977.501757 - 15977.506925 | Motion d=0.2234 x=0 y=0.2234 r=2.776e-17
# 15980.462388 - 15980.483873 | Motion d=0.4468 x=0.4468 y=0 r=2.776e-17
#
# With stationary wiggle filter enabled and box filter disabled:
#
# 15972.610917 - 15972.676867 | Motion d=0.6702 x=0 y=0.6702 r=4.188e-06
#
# which is the only motion from the instability of finger arrival
def Validate(raw, events, gestures):
fuzzy = FuzzyCheck()
fuzzy.expected = [
MotionValidator("<2"), # for the finger arrival
MotionValidator("==0 ~ 5", merge=True), # detect if there is any wiggling
]
fuzzy.unexpected = [
FlingStopValidator("<10"),
]
return fuzzy.Check(gestures)