touchpad: Put state unrolling code in a tp_clear_state() helper function
[platform/upstream/libinput.git] / test / litest-trackpoint.c
1 /*
2  * Copyright © 2013 Red Hat, Inc.
3  *
4  * Permission to use, copy, modify, distribute, and sell this software and its
5  * documentation for any purpose is hereby granted without fee, provided that
6  * the above copyright notice appear in all copies and that both that copyright
7  * notice and this permission notice appear in supporting documentation, and
8  * that the name of the copyright holders not be used in advertising or
9  * publicity pertaining to distribution of the software without specific,
10  * written prior permission.  The copyright holders make no representations
11  * about the suitability of this software for any purpose.  It is provided "as
12  * is" without express or implied warranty.
13  *
14  * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
15  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
16  * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
17  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
18  * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
19  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
20  * OF THIS SOFTWARE.
21  */
22
23 #if HAVE_CONFIG_H
24 #include "config.h"
25 #endif
26
27 #include "litest.h"
28 #include "litest-int.h"
29
30 static void litest_trackpoint_setup(void)
31 {
32         struct litest_device *d = litest_create_device(LITEST_TRACKPOINT);
33         litest_set_current_device(d);
34 }
35
36 static struct litest_device_interface interface = {
37         NULL
38 };
39
40 static struct input_id input_id = {
41         .bustype = 0x11,
42         .vendor = 0x2,
43         .product = 0xa,
44 };
45
46 static int events[] = {
47         EV_KEY, BTN_LEFT,
48         EV_KEY, BTN_RIGHT,
49         EV_KEY, BTN_MIDDLE,
50         EV_REL, REL_X,
51         EV_REL, REL_Y,
52         INPUT_PROP_MAX, INPUT_PROP_POINTER,
53         INPUT_PROP_MAX, INPUT_PROP_POINTING_STICK,
54         -1, -1,
55 };
56
57 struct litest_test_device litest_trackpoint_device = {
58         .type = LITEST_TRACKPOINT,
59         .features = LITEST_POINTER | LITEST_BUTTON,
60         .shortname = "trackpoint",
61         .setup = litest_trackpoint_setup,
62         .interface = &interface,
63
64         .name = "TPPS/2 IBM TrackPoint",
65         .id = &input_id,
66         .absinfo = NULL,
67         .events = events,
68
69 };