• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright © 2020 Red Hat, Inc.
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a
5  * copy of this software and associated documentation files (the "Software"),
6  * to deal in the Software without restriction, including without limitation
7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8  * and/or sell copies of the Software, and to permit persons to whom the
9  * Software is furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice (including the next
12  * paragraph) shall be included in all copies or substantial portions of the
13  * Software.
14  *
15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
18  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21  * DEALINGS IN THE SOFTWARE.
22  */
23 
24 #include "config.h"
25 
26 #include "litest.h"
27 #include "litest-int.h"
28 
29 static struct input_id input_id = {
30 	.bustype = 0x18,
31 	.vendor = 0x123,
32 	.product = 0x456,
33 };
34 
35 static int events[] = {
36 	/* buttons are needed - the unreliable quirk removes SW_TABLET_MODE
37 	 * so we'd end up with a device with no seat caps and that won't get
38 	 * added */
39 	EV_KEY, BTN_LEFT,
40 	EV_KEY, BTN_RIGHT,
41 	EV_SW, SW_TABLET_MODE,
42 	-1, -1,
43 };
44 
45 static const char quirk_file[] =
46 "[litest unreliable tablet mode switch]\n"
47 "MatchName=litest Unreliable Tablet Mode Switch device\n"
48 "ModelTabletModeSwitchUnreliable=1\n";
49 
50 TEST_DEVICE("tablet-mode-switch-unreliable",
51 	.type = LITEST_TABLET_MODE_UNRELIABLE,
52 	.features = LITEST_SWITCH,
53 	.interface = NULL,
54 
55 	.name = "Unreliable Tablet Mode Switch device",
56 	.id = &input_id,
57 	.events = events,
58 	.absinfo = NULL,
59 
60 	.quirk_file = quirk_file,
61 	.udev_properties = {
62 		{ "ID_INPUT_SWITCH", "1" },
63 		{ NULL },
64 	}
65 )
66 
67