1a46c0ec8Sopenharmony_ci/* 2a46c0ec8Sopenharmony_ci * Copyright © 2015 Red Hat, Inc. 3a46c0ec8Sopenharmony_ci * 4a46c0ec8Sopenharmony_ci * Permission is hereby granted, free of charge, to any person obtaining a 5a46c0ec8Sopenharmony_ci * copy of this software and associated documentation files (the "Software"), 6a46c0ec8Sopenharmony_ci * to deal in the Software without restriction, including without limitation 7a46c0ec8Sopenharmony_ci * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8a46c0ec8Sopenharmony_ci * and/or sell copies of the Software, and to permit persons to whom the 9a46c0ec8Sopenharmony_ci * Software is furnished to do so, subject to the following conditions: 10a46c0ec8Sopenharmony_ci * 11a46c0ec8Sopenharmony_ci * The above copyright notice and this permission notice (including the next 12a46c0ec8Sopenharmony_ci * paragraph) shall be included in all copies or substantial portions of the 13a46c0ec8Sopenharmony_ci * Software. 14a46c0ec8Sopenharmony_ci * 15a46c0ec8Sopenharmony_ci * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16a46c0ec8Sopenharmony_ci * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17a46c0ec8Sopenharmony_ci * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 18a46c0ec8Sopenharmony_ci * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19a46c0ec8Sopenharmony_ci * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20a46c0ec8Sopenharmony_ci * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 21a46c0ec8Sopenharmony_ci * DEALINGS IN THE SOFTWARE. 22a46c0ec8Sopenharmony_ci */ 23a46c0ec8Sopenharmony_ci 24a46c0ec8Sopenharmony_ci#include "config.h" 25a46c0ec8Sopenharmony_ci 26a46c0ec8Sopenharmony_ci#include "litest.h" 27a46c0ec8Sopenharmony_ci#include "litest-int.h" 28a46c0ec8Sopenharmony_ci 29a46c0ec8Sopenharmony_cistatic struct input_id input_id = { 30a46c0ec8Sopenharmony_ci .bustype = 0x3, 31a46c0ec8Sopenharmony_ci .vendor = 0x5ac, 32a46c0ec8Sopenharmony_ci .product = 0x273, 33a46c0ec8Sopenharmony_ci}; 34a46c0ec8Sopenharmony_ci 35a46c0ec8Sopenharmony_cistatic int events[] = { 36a46c0ec8Sopenharmony_ci EV_KEY, KEY_ESC, 37a46c0ec8Sopenharmony_ci EV_KEY, KEY_1, 38a46c0ec8Sopenharmony_ci EV_KEY, KEY_2, 39a46c0ec8Sopenharmony_ci EV_KEY, KEY_3, 40a46c0ec8Sopenharmony_ci EV_KEY, KEY_4, 41a46c0ec8Sopenharmony_ci EV_KEY, KEY_5, 42a46c0ec8Sopenharmony_ci EV_KEY, KEY_6, 43a46c0ec8Sopenharmony_ci EV_KEY, KEY_7, 44a46c0ec8Sopenharmony_ci EV_KEY, KEY_8, 45a46c0ec8Sopenharmony_ci EV_KEY, KEY_9, 46a46c0ec8Sopenharmony_ci EV_KEY, KEY_0, 47a46c0ec8Sopenharmony_ci EV_KEY, KEY_MINUS, 48a46c0ec8Sopenharmony_ci EV_KEY, KEY_EQUAL, 49a46c0ec8Sopenharmony_ci EV_KEY, KEY_BACKSPACE, 50a46c0ec8Sopenharmony_ci EV_KEY, KEY_TAB, 51a46c0ec8Sopenharmony_ci EV_KEY, KEY_Q, 52a46c0ec8Sopenharmony_ci EV_KEY, KEY_W, 53a46c0ec8Sopenharmony_ci EV_KEY, KEY_E, 54a46c0ec8Sopenharmony_ci EV_KEY, KEY_R, 55a46c0ec8Sopenharmony_ci EV_KEY, KEY_T, 56a46c0ec8Sopenharmony_ci EV_KEY, KEY_Y, 57a46c0ec8Sopenharmony_ci EV_KEY, KEY_U, 58a46c0ec8Sopenharmony_ci EV_KEY, KEY_I, 59a46c0ec8Sopenharmony_ci EV_KEY, KEY_O, 60a46c0ec8Sopenharmony_ci EV_KEY, KEY_P, 61a46c0ec8Sopenharmony_ci EV_KEY, KEY_LEFTBRACE, 62a46c0ec8Sopenharmony_ci EV_KEY, KEY_RIGHTBRACE, 63a46c0ec8Sopenharmony_ci EV_KEY, KEY_ENTER, 64a46c0ec8Sopenharmony_ci EV_KEY, KEY_LEFTCTRL, 65a46c0ec8Sopenharmony_ci EV_KEY, KEY_A, 66a46c0ec8Sopenharmony_ci EV_KEY, KEY_S, 67a46c0ec8Sopenharmony_ci EV_KEY, KEY_D, 68a46c0ec8Sopenharmony_ci EV_KEY, KEY_F, 69a46c0ec8Sopenharmony_ci EV_KEY, KEY_G, 70a46c0ec8Sopenharmony_ci EV_KEY, KEY_H, 71a46c0ec8Sopenharmony_ci EV_KEY, KEY_J, 72a46c0ec8Sopenharmony_ci EV_KEY, KEY_K, 73a46c0ec8Sopenharmony_ci EV_KEY, KEY_L, 74a46c0ec8Sopenharmony_ci EV_KEY, KEY_SEMICOLON, 75a46c0ec8Sopenharmony_ci EV_KEY, KEY_APOSTROPHE, 76a46c0ec8Sopenharmony_ci EV_KEY, KEY_GRAVE, 77a46c0ec8Sopenharmony_ci EV_KEY, KEY_LEFTSHIFT, 78a46c0ec8Sopenharmony_ci EV_KEY, KEY_BACKSLASH, 79a46c0ec8Sopenharmony_ci EV_KEY, KEY_Z, 80a46c0ec8Sopenharmony_ci EV_KEY, KEY_X, 81a46c0ec8Sopenharmony_ci EV_KEY, KEY_C, 82a46c0ec8Sopenharmony_ci EV_KEY, KEY_V, 83a46c0ec8Sopenharmony_ci EV_KEY, KEY_B, 84a46c0ec8Sopenharmony_ci EV_KEY, KEY_N, 85a46c0ec8Sopenharmony_ci EV_KEY, KEY_M, 86a46c0ec8Sopenharmony_ci EV_KEY, KEY_COMMA, 87a46c0ec8Sopenharmony_ci EV_KEY, KEY_DOT, 88a46c0ec8Sopenharmony_ci EV_KEY, KEY_SLASH, 89a46c0ec8Sopenharmony_ci EV_KEY, KEY_RIGHTSHIFT, 90a46c0ec8Sopenharmony_ci EV_KEY, KEY_KPASTERISK, 91a46c0ec8Sopenharmony_ci EV_KEY, KEY_LEFTALT, 92a46c0ec8Sopenharmony_ci EV_KEY, KEY_SPACE, 93a46c0ec8Sopenharmony_ci EV_KEY, KEY_CAPSLOCK, 94a46c0ec8Sopenharmony_ci EV_KEY, KEY_F1, 95a46c0ec8Sopenharmony_ci EV_KEY, KEY_F2, 96a46c0ec8Sopenharmony_ci EV_KEY, KEY_F3, 97a46c0ec8Sopenharmony_ci EV_KEY, KEY_F4, 98a46c0ec8Sopenharmony_ci EV_KEY, KEY_F5, 99a46c0ec8Sopenharmony_ci EV_KEY, KEY_F6, 100a46c0ec8Sopenharmony_ci EV_KEY, KEY_F7, 101a46c0ec8Sopenharmony_ci EV_KEY, KEY_F8, 102a46c0ec8Sopenharmony_ci EV_KEY, KEY_F9, 103a46c0ec8Sopenharmony_ci EV_KEY, KEY_F10, 104a46c0ec8Sopenharmony_ci EV_KEY, KEY_NUMLOCK, 105a46c0ec8Sopenharmony_ci EV_KEY, KEY_SCROLLLOCK, 106a46c0ec8Sopenharmony_ci EV_KEY, KEY_KP7, 107a46c0ec8Sopenharmony_ci EV_KEY, KEY_KP8, 108a46c0ec8Sopenharmony_ci EV_KEY, KEY_KP9, 109a46c0ec8Sopenharmony_ci EV_KEY, KEY_KPMINUS, 110a46c0ec8Sopenharmony_ci EV_KEY, KEY_KP4, 111a46c0ec8Sopenharmony_ci EV_KEY, KEY_KP5, 112a46c0ec8Sopenharmony_ci EV_KEY, KEY_KP6, 113a46c0ec8Sopenharmony_ci EV_KEY, KEY_KPPLUS, 114a46c0ec8Sopenharmony_ci EV_KEY, KEY_KP1, 115a46c0ec8Sopenharmony_ci EV_KEY, KEY_KP2, 116a46c0ec8Sopenharmony_ci EV_KEY, KEY_KP3, 117a46c0ec8Sopenharmony_ci EV_KEY, KEY_KP0, 118a46c0ec8Sopenharmony_ci EV_KEY, KEY_KPDOT, 119a46c0ec8Sopenharmony_ci EV_KEY, KEY_ZENKAKUHANKAKU, 120a46c0ec8Sopenharmony_ci EV_KEY, KEY_102ND, 121a46c0ec8Sopenharmony_ci EV_KEY, KEY_F11, 122a46c0ec8Sopenharmony_ci EV_KEY, KEY_F12, 123a46c0ec8Sopenharmony_ci EV_KEY, KEY_RO, 124a46c0ec8Sopenharmony_ci EV_KEY, KEY_KATAKANA, 125a46c0ec8Sopenharmony_ci EV_KEY, KEY_HIRAGANA, 126a46c0ec8Sopenharmony_ci EV_KEY, KEY_HENKAN, 127a46c0ec8Sopenharmony_ci EV_KEY, KEY_KATAKANAHIRAGANA, 128a46c0ec8Sopenharmony_ci EV_KEY, KEY_MUHENKAN, 129a46c0ec8Sopenharmony_ci EV_KEY, KEY_KPJPCOMMA, 130a46c0ec8Sopenharmony_ci EV_KEY, KEY_KPENTER, 131a46c0ec8Sopenharmony_ci EV_KEY, KEY_RIGHTCTRL, 132a46c0ec8Sopenharmony_ci EV_KEY, KEY_KPSLASH, 133a46c0ec8Sopenharmony_ci EV_KEY, KEY_SYSRQ, 134a46c0ec8Sopenharmony_ci EV_KEY, KEY_RIGHTALT, 135a46c0ec8Sopenharmony_ci EV_KEY, KEY_HOME, 136a46c0ec8Sopenharmony_ci EV_KEY, KEY_UP, 137a46c0ec8Sopenharmony_ci EV_KEY, KEY_PAGEUP, 138a46c0ec8Sopenharmony_ci EV_KEY, KEY_LEFT, 139a46c0ec8Sopenharmony_ci EV_KEY, KEY_RIGHT, 140a46c0ec8Sopenharmony_ci EV_KEY, KEY_END, 141a46c0ec8Sopenharmony_ci EV_KEY, KEY_DOWN, 142a46c0ec8Sopenharmony_ci EV_KEY, KEY_PAGEDOWN, 143a46c0ec8Sopenharmony_ci EV_KEY, KEY_INSERT, 144a46c0ec8Sopenharmony_ci EV_KEY, KEY_DELETE, 145a46c0ec8Sopenharmony_ci EV_KEY, KEY_MUTE, 146a46c0ec8Sopenharmony_ci EV_KEY, KEY_VOLUMEDOWN, 147a46c0ec8Sopenharmony_ci EV_KEY, KEY_VOLUMEUP, 148a46c0ec8Sopenharmony_ci EV_KEY, KEY_POWER, 149a46c0ec8Sopenharmony_ci EV_KEY, KEY_KPEQUAL, 150a46c0ec8Sopenharmony_ci EV_KEY, KEY_PAUSE, 151a46c0ec8Sopenharmony_ci EV_KEY, KEY_SCALE, 152a46c0ec8Sopenharmony_ci EV_KEY, KEY_KPCOMMA, 153a46c0ec8Sopenharmony_ci EV_KEY, KEY_HANGEUL, 154a46c0ec8Sopenharmony_ci EV_KEY, KEY_HANJA, 155a46c0ec8Sopenharmony_ci EV_KEY, KEY_YEN, 156a46c0ec8Sopenharmony_ci EV_KEY, KEY_LEFTMETA, 157a46c0ec8Sopenharmony_ci EV_KEY, KEY_RIGHTMETA, 158a46c0ec8Sopenharmony_ci EV_KEY, KEY_COMPOSE, 159a46c0ec8Sopenharmony_ci EV_KEY, KEY_STOP, 160a46c0ec8Sopenharmony_ci EV_KEY, KEY_AGAIN, 161a46c0ec8Sopenharmony_ci EV_KEY, KEY_PROPS, 162a46c0ec8Sopenharmony_ci EV_KEY, KEY_UNDO, 163a46c0ec8Sopenharmony_ci EV_KEY, KEY_FRONT, 164a46c0ec8Sopenharmony_ci EV_KEY, KEY_COPY, 165a46c0ec8Sopenharmony_ci EV_KEY, KEY_OPEN, 166a46c0ec8Sopenharmony_ci EV_KEY, KEY_PASTE, 167a46c0ec8Sopenharmony_ci EV_KEY, KEY_FIND, 168a46c0ec8Sopenharmony_ci EV_KEY, KEY_CUT, 169a46c0ec8Sopenharmony_ci EV_KEY, KEY_HELP, 170a46c0ec8Sopenharmony_ci EV_KEY, KEY_CALC, 171a46c0ec8Sopenharmony_ci EV_KEY, KEY_SLEEP, 172a46c0ec8Sopenharmony_ci EV_KEY, KEY_WWW, 173a46c0ec8Sopenharmony_ci EV_KEY, KEY_COFFEE, 174a46c0ec8Sopenharmony_ci EV_KEY, KEY_BACK, 175a46c0ec8Sopenharmony_ci EV_KEY, KEY_FORWARD, 176a46c0ec8Sopenharmony_ci EV_KEY, KEY_EJECTCD, 177a46c0ec8Sopenharmony_ci EV_KEY, KEY_NEXTSONG, 178a46c0ec8Sopenharmony_ci EV_KEY, KEY_PLAYPAUSE, 179a46c0ec8Sopenharmony_ci EV_KEY, KEY_PREVIOUSSONG, 180a46c0ec8Sopenharmony_ci EV_KEY, KEY_STOPCD, 181a46c0ec8Sopenharmony_ci EV_KEY, KEY_REWIND, 182a46c0ec8Sopenharmony_ci EV_KEY, KEY_REFRESH, 183a46c0ec8Sopenharmony_ci EV_KEY, KEY_EDIT, 184a46c0ec8Sopenharmony_ci EV_KEY, KEY_SCROLLUP, 185a46c0ec8Sopenharmony_ci EV_KEY, KEY_SCROLLDOWN, 186a46c0ec8Sopenharmony_ci EV_KEY, KEY_KPLEFTPAREN, 187a46c0ec8Sopenharmony_ci EV_KEY, KEY_KPRIGHTPAREN, 188a46c0ec8Sopenharmony_ci EV_KEY, KEY_F13, 189a46c0ec8Sopenharmony_ci EV_KEY, KEY_F14, 190a46c0ec8Sopenharmony_ci EV_KEY, KEY_F15, 191a46c0ec8Sopenharmony_ci EV_KEY, KEY_F16, 192a46c0ec8Sopenharmony_ci EV_KEY, KEY_F17, 193a46c0ec8Sopenharmony_ci EV_KEY, KEY_F18, 194a46c0ec8Sopenharmony_ci EV_KEY, KEY_F19, 195a46c0ec8Sopenharmony_ci EV_KEY, KEY_F20, 196a46c0ec8Sopenharmony_ci EV_KEY, KEY_F21, 197a46c0ec8Sopenharmony_ci EV_KEY, KEY_F22, 198a46c0ec8Sopenharmony_ci EV_KEY, KEY_F23, 199a46c0ec8Sopenharmony_ci EV_KEY, KEY_F24, 200a46c0ec8Sopenharmony_ci EV_KEY, KEY_DASHBOARD, 201a46c0ec8Sopenharmony_ci EV_KEY, KEY_FASTFORWARD, 202a46c0ec8Sopenharmony_ci EV_KEY, KEY_BRIGHTNESSDOWN, 203a46c0ec8Sopenharmony_ci EV_KEY, KEY_BRIGHTNESSUP, 204a46c0ec8Sopenharmony_ci EV_KEY, KEY_SWITCHVIDEOMODE, 205a46c0ec8Sopenharmony_ci EV_KEY, KEY_KBDILLUMTOGGLE, 206a46c0ec8Sopenharmony_ci EV_KEY, KEY_KBDILLUMDOWN, 207a46c0ec8Sopenharmony_ci EV_KEY, KEY_KBDILLUMUP, 208a46c0ec8Sopenharmony_ci EV_KEY, KEY_UNKNOWN, 209a46c0ec8Sopenharmony_ci EV_KEY, KEY_FN, 210a46c0ec8Sopenharmony_ci EV_MSC, MSC_SCAN, 211a46c0ec8Sopenharmony_ci 212a46c0ec8Sopenharmony_ci EV_LED, LED_NUML, 213a46c0ec8Sopenharmony_ci EV_LED, LED_CAPSL, 214a46c0ec8Sopenharmony_ci EV_LED, LED_SCROLLL, 215a46c0ec8Sopenharmony_ci EV_LED, LED_COMPOSE, 216a46c0ec8Sopenharmony_ci EV_LED, LED_KANA, 217a46c0ec8Sopenharmony_ci -1, -1 218a46c0ec8Sopenharmony_ci}; 219a46c0ec8Sopenharmony_ci 220a46c0ec8Sopenharmony_ciTEST_DEVICE("apple-keyboard", 221a46c0ec8Sopenharmony_ci .type = LITEST_APPLE_KEYBOARD, 222a46c0ec8Sopenharmony_ci .features = LITEST_KEYS, 223a46c0ec8Sopenharmony_ci .interface = NULL, 224a46c0ec8Sopenharmony_ci 225a46c0ec8Sopenharmony_ci .name = "Apple Inc. Apple Internal Keyboard / Trackpad", 226a46c0ec8Sopenharmony_ci .id = &input_id, 227a46c0ec8Sopenharmony_ci .events = events, 228a46c0ec8Sopenharmony_ci .absinfo = NULL, 229a46c0ec8Sopenharmony_ci) 230