# Copyright (c) 2012 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.

"""The set of gestures for short trackpad regression test.

The purpose of this file is to list the gestures to be tested for short
regression test. The listed gestures are a subset of those used for
long regression test.
"""


# A list of gestures which consist of area-name.subname
# This list of gestures are mapped to those used in trackpad user study.
baseline_regression_gestures = (
    'click-drum_roll.click.l1r1',
    'click-drum_roll.tap.l1r1',
    'click-no_cursor_wobble.physical_click',
    'click-no_cursor_wobble.tap',
    'select-single_finger_select_2d.physical_click',
    'select-single_finger_select_2d.tap_and_half',
    'right_click-basic_right_click.physical_click',
    'right_click-basic_right_click.tap',
    'right_click-x_seconds_interval.1',
    # Temporarily disable scroll gestures until scroll valuators are ready.
    # 'scroll-near_parallel.up.parallel',
    # 'scroll-near_parallel.down.parallel',
    # 'scroll-near_parallel.left.parallel',
    # 'scroll-near_parallel.right.parallel',
    # 'scroll-regardless_prior_state.up.single_finger_movement',
    'palm-thumb_pointing.left',
    'palm-palm_presence.static.both',
)

# Temporarily disable scroll gestures on alex until scroll valuators are ready.
baseline_regression_gestures_alex_tmp = (
    'click-drum_roll.click.l1r1',
    'click-drum_roll.tap.l1r1',
    'click-no_cursor_wobble.physical_click',
    'click-no_cursor_wobble.tap',
    'select-single_finger_select_2d.physical_click',
    'select-single_finger_select_2d.tap_and_half',
    'right_click-basic_right_click.physical_click',
    'right_click-basic_right_click.tap',
    'right_click-x_seconds_interval.1',
    # 'scroll-near_parallel.up.parallel',
    # 'scroll-near_parallel.down.parallel',
    # 'scroll-near_parallel.left.parallel',
    # 'scroll-near_parallel.right.parallel',
    # 'scroll-regardless_prior_state.up.single_finger_movement',
    'palm-hovering_thumb2.click',
    'palm-palm_presence.static.both',
)

regression_gestures = {
    'mario': baseline_regression_gestures,
    'zgb': baseline_regression_gestures,
    'alex': baseline_regression_gestures_alex_tmp,
    'lumpy': baseline_regression_gestures,
    'link': baseline_regression_gestures,
}
