• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright © 2017 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 = 0x19,
31 	.vendor = 0x17aa,
32 	.product = 0x5054,
33 };
34 
35 static int events[] = {
36 	EV_KEY, KEY_MUTE,
37 	EV_KEY, KEY_VOLUMEUP,
38 	EV_KEY, KEY_VOLUMEDOWN,
39 	EV_KEY, KEY_SCALE,
40 	EV_KEY, KEY_SLEEP,
41 	EV_KEY, KEY_FILE,
42 	EV_KEY, KEY_PROG1,
43 	EV_KEY, KEY_COFFEE,
44 	EV_KEY, KEY_BACK,
45 	EV_KEY, KEY_CONFIG,
46 	EV_KEY, KEY_REFRESH,
47 	EV_KEY, KEY_F20,
48 	EV_KEY, KEY_F21,
49 	EV_KEY, KEY_F24,
50 	EV_KEY, KEY_SUSPEND,
51 	EV_KEY, KEY_CAMERA,
52 	EV_KEY, KEY_SEARCH,
53 	EV_KEY, KEY_BRIGHTNESSDOWN,
54 	EV_KEY, KEY_BRIGHTNESSUP,
55 	EV_KEY, KEY_SWITCHVIDEOMODE,
56 	EV_KEY, KEY_KBDILLUMTOGGLE,
57 	EV_KEY, KEY_BATTERY,
58 	EV_KEY, KEY_WLAN,
59 	EV_KEY, KEY_UNKNOWN,
60 	EV_KEY, KEY_ZOOM,
61 	EV_KEY, KEY_FN_F1,
62 	EV_KEY, KEY_FN_F10,
63 	EV_KEY, KEY_FN_F11,
64 	EV_KEY, KEY_VOICECOMMAND,
65 	EV_KEY, KEY_BRIGHTNESS_MIN,
66 
67 	EV_SW, SW_RFKILL_ALL,
68 	EV_SW, SW_TABLET_MODE,
69 
70 	-1, -1,
71 };
72 
73 TEST_DEVICE("thinkpad-extrabuttons",
74 	.type = LITEST_THINKPAD_EXTRABUTTONS,
75 	.features = LITEST_KEYS | LITEST_SWITCH,
76 	.interface = NULL,
77 
78 	.name = "ThinkPad Extra Buttons",
79 	.id = &input_id,
80 	.events = events,
81 	.absinfo = NULL,
82 	.udev_properties = {
83 		{ "ID_INPUT_SWITCH", "1" },
84 		{ NULL },
85 	},
86 )
87