19682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall/* Copyright (C) 2007-2008 The Android Open Source Project 29682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall** 39682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall** This software is licensed under the terms of the GNU General Public 49682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall** License version 2, as published by the Free Software Foundation, and 59682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall** may be copied, distributed, and modified under those terms. 69682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall** 79682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall** This program is distributed in the hope that it will be useful, 89682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall** but WITHOUT ANY WARRANTY; without even the implied warranty of 99682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 109682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall** GNU General Public License for more details. 119682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall*/ 129682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#ifndef _ANDROID_HW_EVENTS_H 139682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define _ANDROID_HW_EVENTS_H 149682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 159682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#include "android/utils/system.h" 169682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 179682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall/* from the Linux kernel */ 189682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 199682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define EVENT_TYPE_LIST \ 209682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall EV_TYPE(SYN,0x00) \ 219682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall EV_TYPE(KEY,0x01) \ 229682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall EV_TYPE(REL,0x02) \ 239682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall EV_TYPE(ABS,0x03) \ 249682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall EV_TYPE(MSC,0x04) \ 259682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall EV_TYPE(SW, 0x05) \ 269682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall EV_TYPE(LED,0x11) \ 279682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall EV_TYPE(SND,0x12) \ 289682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall EV_TYPE(REP,0x14) \ 299682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall EV_TYPE(FF, 0x15) \ 309682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall EV_TYPE(PWR,0x16) \ 319682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall EV_TYPE(FF_STATUS,0x17) \ 329682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall EV_TYPE(MAX,0x1f) 339682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 349682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#undef EV_TYPE 359682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define EV_TYPE(n,v) GLUE(EV_,n) = v, 369682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef enum { 379682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall EVENT_TYPE_LIST 389682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} EventType; 399682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#undef EV_TYPE 409682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 419682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall/* BEWARE: The following codes are defined by the Linux kernel headers. 429682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall * The Android "Menu" key is KEY_SOFT1, *not* KEY_MENU 439682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall */ 449682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall/* NOTE: mingw's winnt.h define DELETE to constant 459682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall i586-mingw32msvc: #define DELETE 0x00010000L 469682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall x86_64-w64-mingw32-gcc: #define DELETE (0x00010000L) 479682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 489682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE belows glues "KEY_" and "DELETE". 499682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall While KEY_0x00010000L may not mean anything, 509682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_(0x00010000L) is absolutely harmful to compiler. 519682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall Undefine DELETE below 529682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall */ 539682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#undef DELETE 549682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 559682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define EVENT_KEY_LIST \ 569682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(ESC ,1) \ 579682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(1 ,2) \ 589682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(2 ,3) \ 599682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(3 ,4) \ 609682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(4 ,5) \ 619682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(5 ,6) \ 629682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(6 ,7) \ 639682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(7 ,8) \ 649682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(8 ,9) \ 659682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(9 ,10) \ 669682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(0 ,11) \ 679682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(MINUS ,12) \ 689682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(EQUAL ,13) \ 699682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(BACKSPACE ,14) \ 709682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(TAB ,15) \ 719682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(Q ,16) \ 729682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(W ,17) \ 739682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(E ,18) \ 749682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(R ,19) \ 759682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(T ,20) \ 769682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(Y ,21) \ 779682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(U ,22) \ 789682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(I ,23) \ 799682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(O ,24) \ 809682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(P ,25) \ 819682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(LEFTBRACE ,26) \ 829682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(RIGHTBRACE ,27) \ 839682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(ENTER ,28) \ 849682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(LEFTCTRL ,29) \ 859682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(A ,30) \ 869682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(S ,31) \ 879682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(D ,32) \ 889682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(F ,33) \ 899682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(G ,34) \ 909682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(H ,35) \ 919682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(J ,36) \ 929682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(K ,37) \ 939682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(L ,38) \ 949682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(SEMICOLON ,39) \ 959682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(APOSTROPHE ,40) \ 969682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(GRAVE ,41) \ 979682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(LEFTSHIFT ,42) \ 989682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(BACKSLASH ,43) \ 999682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(Z ,44) \ 1009682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(X ,45) \ 1019682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(C ,46) \ 1029682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(V ,47) \ 1039682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(B ,48) \ 1049682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(N ,49) \ 1059682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(M ,50) \ 1069682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(COMMA ,51) \ 1079682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(DOT ,52) \ 1089682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(SLASH ,53) \ 1099682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(RIGHTSHIFT ,54) \ 1109682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(KPASTERISK ,55) \ 1119682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(LEFTALT ,56) \ 1129682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(SPACE ,57) \ 1139682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(CAPSLOCK ,58) \ 1149682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(F1 ,59) \ 1159682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(F2 ,60) \ 1169682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(F3 ,61) \ 1179682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(F4 ,62) \ 1189682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(F5 ,63) \ 1199682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(F6 ,64) \ 1209682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(F7 ,65) \ 1219682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(F8 ,66) \ 1229682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(F9 ,67) \ 1239682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(F10 ,68) \ 1249682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(NUMLOCK ,69) \ 1259682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(SCROLLLOCK ,70) \ 1269682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(KP7 ,71) \ 1279682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(KP8 ,72) \ 1289682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(KP9 ,73) \ 1299682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(KPMINUS ,74) \ 1309682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(KP4 ,75) \ 1319682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(KP5 ,76) \ 1329682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(KP6 ,77) \ 1339682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(KPPLUS ,78) \ 1349682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(KP1 ,79) \ 1359682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(KP2 ,80) \ 1369682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(KP3 ,81) \ 1379682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(KP0 ,82) \ 1389682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(KPDOT ,83) \ 1399682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(ZENKAKUHANKAKU,85) \ 1409682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(102ND ,86) \ 1419682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(F11 ,87) \ 1429682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(F12 ,88) \ 1439682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(RO ,89) \ 1449682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(KATAKANA ,90) \ 1459682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(HIRAGANA ,91) \ 1469682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(HENKAN ,92) \ 1479682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(KATAKANAHIRAGANA,93) \ 1489682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(MUHENKAN ,94) \ 1499682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(KPJPCOMMA ,95) \ 1509682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(KPENTER ,96) \ 1519682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(RIGHTCTRL ,97) \ 1529682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(KPSLASH ,98) \ 1539682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(SYSRQ ,99) \ 1549682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(RIGHTALT ,100) \ 1559682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(LINEFEED ,101) \ 1569682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(HOME ,102) \ 1579682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(UP ,103) \ 1589682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(PAGEUP ,104) \ 1599682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(LEFT ,105) \ 1609682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(RIGHT ,106) \ 1619682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(END ,107) \ 1629682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(DOWN ,108) \ 1639682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(PAGEDOWN ,109) \ 1649682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(INSERT ,110) \ 1659682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(DELETE ,111) \ 1669682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(MACRO ,112) \ 1679682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(MUTE ,113) \ 1689682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(VOLUMEDOWN ,114) \ 1699682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(VOLUMEUP ,115) \ 1709682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(POWER ,116) \ 1719682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(KPEQUAL ,117) \ 1729682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(KPPLUSMINUS ,118) \ 1739682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(PAUSE ,119) \ 1749682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(KPCOMMA ,121) \ 1759682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(HANGEUL ,122) \ 1769682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(HANJA ,123) \ 1779682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(YEN ,124) \ 1789682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(LEFTMETA ,125) \ 1799682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(RIGHTMETA ,126) \ 1809682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(COMPOSE ,127) \ 1819682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(STOP ,128) \ 1829682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(AGAIN ,129) \ 1839682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(PROPS ,130) \ 1849682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(UNDO ,131) \ 1859682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FRONT ,132) \ 1869682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(COPY ,133) \ 1879682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(OPEN ,134) \ 1889682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(PASTE ,135) \ 1899682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FIND ,136) \ 1909682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(CUT ,137) \ 1919682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(HELP ,138) \ 1929682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(MENU ,139) \ 1939682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(CALC ,140) \ 1949682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(SETUP ,141) \ 1959682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(SLEEP ,142) \ 1969682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(WAKEUP ,143) \ 1979682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FILE ,144) \ 1989682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(SENDFILE ,145) \ 1999682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(DELETEFILE ,146) \ 2009682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(XFER ,147) \ 2019682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(PROG1 ,148) \ 2029682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(PROG2 ,149) \ 2039682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(WWW ,150) \ 2049682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(MSDOS ,151) \ 2059682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(COFFEE ,152) \ 2069682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(DIRECTION ,153) \ 2079682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(CYCLEWINDOWS,154) \ 2089682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(MAIL ,155) \ 2099682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(BOOKMARKS ,156) \ 2109682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(COMPUTER ,157) \ 2119682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(BACK ,158) \ 2129682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FORWARD ,159) \ 2139682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(CLOSECD ,160) \ 2149682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(EJECTCD ,161) \ 2159682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(EJECTCLOSECD,162) \ 2169682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(NEXTSONG ,163) \ 2179682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(PLAYPAUSE ,164) \ 2189682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(PREVIOUSSONG,165) \ 2199682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(STOPCD ,166) \ 2209682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(RECORD ,167) \ 2219682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(REWIND ,168) \ 2229682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(PHONE ,169) \ 2239682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(ISO ,170) \ 2249682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(CONFIG ,171) \ 2259682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(HOMEPAGE ,172) \ 2269682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(REFRESH ,173) \ 2279682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(EXIT ,174) \ 2289682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(MOVE ,175) \ 2299682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(EDIT ,176) \ 2309682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(SCROLLUP ,177) \ 2319682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(SCROLLDOWN ,178) \ 2329682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(KPLEFTPAREN ,179) \ 2339682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(KPRIGHTPAREN,180) \ 2349682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(NEW ,181) \ 2359682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(REDO ,182) \ 2369682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(F13 ,183) \ 2379682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(F14 ,184) \ 2389682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(F15 ,185) \ 2399682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(F16 ,186) \ 2409682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(F17 ,187) \ 2419682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(F18 ,188) \ 2429682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(F19 ,189) \ 2439682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(F20 ,190) \ 2449682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(F21 ,191) \ 2459682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(F22 ,192) \ 2469682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(F23 ,193) \ 2479682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(F24 ,194) \ 2489682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(PLAYCD ,200) \ 2499682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(PAUSECD ,201) \ 2509682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(PROG3 ,202) \ 2519682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(PROG4 ,203) \ 2529682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(SUSPEND ,205) \ 2539682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(CLOSE ,206) \ 2549682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(PLAY ,207) \ 2559682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FASTFORWARD ,208) \ 2569682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(BASSBOOST ,209) \ 2579682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(PRINT ,210) \ 2589682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(HP ,211) \ 2599682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(CAMERA ,212) \ 2609682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(SOUND ,213) \ 2619682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(QUESTION ,214) \ 2629682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(EMAIL ,215) \ 2639682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(CHAT ,216) \ 2649682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(SEARCH ,217) \ 2659682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(CONNECT ,218) \ 2669682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FINANCE ,219) \ 2679682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(SPORT ,220) \ 2689682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(SHOP ,221) \ 2699682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(ALTERASE ,222) \ 2709682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(CANCEL ,223) \ 2719682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(BRIGHTNESSDOWN,224) \ 2729682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(BRIGHTNESSUP,225) \ 2739682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(MEDIA ,226) \ 2749682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(STAR ,227) \ 2759682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(SHARP ,228) \ 2769682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(SOFT1 ,229) \ 2779682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(SOFT2 ,230) \ 2789682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(SEND ,231) \ 2799682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(CENTER ,232) \ 2809682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(HEADSETHOOK ,233) \ 2819682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(0_5 ,234) \ 2829682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(2_5 ,235) \ 2839682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(SWITCHVIDEOMODE,236) \ 2849682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(KBDILLUMTOGGLE,237) \ 2859682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(KBDILLUMDOWN,238) \ 2869682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(KBDILLUMUP ,239) \ 2879682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(REPLY ,232) \ 2889682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FORWARDMAIL ,233) \ 2899682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(SAVE ,234) \ 2909682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(DOCUMENTS ,235) \ 2919682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(BATTERY ,236) \ 2929682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(UNKNOWN ,240) \ 2939682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(NUM ,241) \ 2949682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FOCUS ,242) \ 2959682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(PLUS ,243) \ 2969682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(NOTIFICATION,244) \ 2979682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(OK ,0x160) \ 2989682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(SELECT ,0x161) \ 2999682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(GOTO ,0x162) \ 3009682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(CLEAR ,0x163) \ 3019682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(POWER2 ,0x164) \ 3029682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(OPTION ,0x165) \ 3039682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(INFO ,0x166) \ 3049682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(TIME ,0x167) \ 3059682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(VENDOR ,0x168) \ 3069682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(ARCHIVE ,0x169) \ 3079682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(PROGRAM ,0x16a) \ 3089682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(CHANNEL ,0x16b) \ 3099682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FAVORITES ,0x16c) \ 3109682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(EPG ,0x16d) \ 3119682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(PVR ,0x16e) \ 3129682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(MHP ,0x16f) \ 3139682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(LANGUAGE ,0x170) \ 3149682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(TITLE ,0x171) \ 3159682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(SUBTITLE ,0x172) \ 3169682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(ANGLE ,0x173) \ 3179682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(ZOOM ,0x174) \ 3189682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(MODE ,0x175) \ 3199682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(KEYBOARD ,0x176) \ 3209682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(SCREEN ,0x177) \ 3219682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(PC ,0x178) \ 3229682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(TV ,0x179) \ 3239682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(TV2 ,0x17a) \ 3249682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(VCR ,0x17b) \ 3259682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(VCR2 ,0x17c) \ 3269682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(SAT ,0x17d) \ 3279682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(SAT2 ,0x17e) \ 3289682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(CD ,0x17f) \ 3299682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(TAPE ,0x180) \ 3309682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(RADIO ,0x181) \ 3319682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(TUNER ,0x182) \ 3329682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(PLAYER ,0x183) \ 3339682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(TEXT ,0x184) \ 3349682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(DVD ,0x185) \ 3359682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(AUX ,0x186) \ 3369682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(MP3 ,0x187) \ 3379682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(AUDIO ,0x188) \ 3389682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(VIDEO ,0x189) \ 3399682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(DIRECTORY ,0x18a) \ 3409682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(LIST ,0x18b) \ 3419682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(MEMO ,0x18c) \ 3429682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(CALENDAR ,0x18d) \ 3439682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(RED ,0x18e) \ 3449682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(GREEN ,0x18f) \ 3459682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(YELLOW ,0x190) \ 3469682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(BLUE ,0x191) \ 3479682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(CHANNELUP ,0x192) \ 3489682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(CHANNELDOWN ,0x193) \ 3499682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FIRST ,0x194) \ 3509682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(LAST ,0x195) \ 3519682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(AB ,0x196) \ 3529682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(NEXT ,0x197) \ 3539682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(RESTART ,0x198) \ 3549682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(SLOW ,0x199) \ 3559682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(SHUFFLE ,0x19a) \ 3569682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(BREAK ,0x19b) \ 3579682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(PREVIOUS ,0x19c) \ 3589682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(DIGITS ,0x19d) \ 3599682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(TEEN ,0x19e) \ 3609682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(TWEN ,0x19f) \ 3619682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(DEL_EOL ,0x1c0) \ 3629682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(DEL_EOS ,0x1c1) \ 3639682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(INS_LINE ,0x1c2) \ 3649682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(DEL_LINE ,0x1c3) \ 3659682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FN ,0x1d0) \ 3669682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FN_ESC ,0x1d1) \ 3679682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FN_F1 ,0x1d2) \ 3689682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FN_F2 ,0x1d3) \ 3699682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FN_F3 ,0x1d4) \ 3709682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FN_F4 ,0x1d5) \ 3719682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FN_F5 ,0x1d6) \ 3729682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FN_F6 ,0x1d7) \ 3739682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FN_F7 ,0x1d8) \ 3749682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FN_F8 ,0x1d9) \ 3759682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FN_F9 ,0x1da) \ 3769682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FN_F10 ,0x1db) \ 3779682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FN_F11 ,0x1dc) \ 3789682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FN_F12 ,0x1dd) \ 3799682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FN_1 ,0x1de) \ 3809682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FN_2 ,0x1df) \ 3819682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FN_D ,0x1e0) \ 3829682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FN_E ,0x1e1) \ 3839682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FN_F ,0x1e2) \ 3849682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FN_S ,0x1e3) \ 3859682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(FN_B ,0x1e4) \ 3869682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(BRL_DOT1 ,0x1f1) \ 3879682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(BRL_DOT2 ,0x1f2) \ 3889682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(BRL_DOT3 ,0x1f3) \ 3899682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(BRL_DOT4 ,0x1f4) \ 3909682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(BRL_DOT5 ,0x1f5) \ 3919682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(BRL_DOT6 ,0x1f6) \ 3929682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(BRL_DOT7 ,0x1f7) \ 3939682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall KEY_CODE(BRL_DOT8 ,0x1f8) \ 3949682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 3959682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#undef KEY_CODE 3969682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define KEY_CODE(n,v) GLUE(KEY_,n) = v, 3979682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef enum { 3989682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall EVENT_KEY_LIST 3999682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} EventKeyCode; 4009682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#undef KEY_CODE 4019682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 4029682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 4039682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define EVENT_BTN_LIST \ 4049682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(MISC,0x100) \ 4059682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(0,0x100) \ 4069682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(1,0x101) \ 4079682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(2,0x102) \ 4089682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(3,0x103) \ 4099682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(4,0x104) \ 4109682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(5,0x105) \ 4119682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(6,0x106) \ 4129682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(7,0x107) \ 4139682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(8,0x108) \ 4149682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(9,0x109) \ 4159682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall \ 4169682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(MOUSE, 0x110) \ 4179682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(LEFT, 0x110) \ 4189682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(RIGHT, 0x111) \ 4199682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(MIDDLE, 0x112) \ 4209682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(SIDE, 0x113) \ 4219682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(EXTRA, 0x114) \ 4229682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(FORWARD,0x115) \ 4239682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(BACK, 0x116) \ 4249682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(TASK, 0x117) \ 4259682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall \ 4269682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(JOYSTICK,0x120) \ 4279682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(TRIGGER, 0x120) \ 4289682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(THUMB, 0x121) \ 4299682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(THUMB2, 0x122) \ 4309682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(TOP, 0x123) \ 4319682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(TOP2, 0x124) \ 4329682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(PINKIE, 0x125) \ 4339682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(BASE, 0x126) \ 4349682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(BASE2, 0x127) \ 4359682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(BASE3, 0x128) \ 4369682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(BASE4, 0x129) \ 4379682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(BASE5, 0x12a) \ 4389682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(BASE6, 0x12b) \ 4399682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(DEAD, 0x12f) \ 4409682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall \ 4419682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(GAMEPAD, 0x130) \ 4429682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(A, 0x130) \ 4439682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(B, 0x131) \ 4449682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(C, 0x132) \ 4459682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(X, 0x133) \ 4469682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(Y, 0x134) \ 4479682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(Z, 0x135) \ 4489682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(TL, 0x136) \ 4499682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(TR, 0x137) \ 4509682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(TL2, 0x138) \ 4519682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(TR2, 0x139) \ 4529682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(SELECT, 0x13a) \ 4539682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(START, 0x13b) \ 4549682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(MODE, 0x13c) \ 4559682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(THUMBL, 0x13d) \ 4569682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(THUMBR, 0x13e) \ 4579682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall \ 4589682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(DIGI, 0x140) \ 4599682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(TOOL_PEN, 0x140) \ 4609682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(TOOL_RUBBER, 0x141) \ 4619682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(TOOL_BRUSH, 0x142) \ 4629682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(TOOL_PENCIL, 0x143) \ 4639682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(TOOL_AIRBRUSH, 0x144) \ 4649682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(TOOL_FINGER, 0x145) \ 4659682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(TOOL_MOUSE, 0x146) \ 4669682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(TOOL_LENS, 0x147) \ 4679682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(TOUCH, 0x14a) \ 4689682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(STYLUS, 0x14b) \ 4699682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(STYLUS2, 0x14c) \ 4709682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(TOOL_DOUBLETAP, 0x14d) \ 4719682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(TOOL_TRIPLETAP, 0x14e) \ 4729682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall \ 4739682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(WHEEL, 0x150) \ 4749682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(GEAR_DOWN, 0x150) \ 4759682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BTN_CODE(GEAR_UP, 0x150) 4769682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 4779682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#undef BTN_CODE 4789682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define BTN_CODE(n,v) GLUE(BTN_,n) = v, 4799682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef enum { 4809682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall EVENT_BTN_LIST 4819682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} EventBtnCode; 4829682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#undef BTN_CODE 4839682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 4849682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define EVENT_REL_LIST \ 4859682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall REL_CODE(X, 0x00) \ 4869682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall REL_CODE(Y, 0x01) 4879682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 4889682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define REL_CODE(n,v) GLUE(REL_,n) = v, 4899682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef enum { 4909682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall EVENT_REL_LIST 4919682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} EventRelCode; 4929682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#undef REL_CODE 4939682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 4949682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define EVENT_ABS_LIST \ 4959682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall ABS_CODE(X, 0x00) \ 4969682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall ABS_CODE(Y, 0x01) \ 4979682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall ABS_CODE(Z, 0x02) \ 4989682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall ABS_CODE(RX, 0x03) \ 4999682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall ABS_CODE(RY, 0x04) \ 5009682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall ABS_CODE(RZ, 0x05) \ 5019682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall ABS_CODE(THROTTLE, 0x06) \ 5029682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall ABS_CODE(RUDDER, 0x07) \ 5039682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall ABS_CODE(WHEEL, 0x08) \ 5049682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall ABS_CODE(GAS, 0x09) \ 5059682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall ABS_CODE(BRAKE, 0x0a) \ 5069682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall ABS_CODE(HAT0X, 0x10) \ 5079682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall ABS_CODE(HAT0Y, 0x11) \ 5089682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall ABS_CODE(HAT1X, 0x12) \ 5099682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall ABS_CODE(HAT1Y, 0x13) \ 5109682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall ABS_CODE(HAT2X, 0x14) \ 5119682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall ABS_CODE(HAT2Y, 0x15) \ 5129682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall ABS_CODE(HAT3X, 0x16) \ 5139682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall ABS_CODE(HAT3Y, 0x17) \ 5149682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall ABS_CODE(PRESSURE, 0x18) \ 5159682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall ABS_CODE(DISTANCE, 0x19) \ 5169682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall ABS_CODE(TILT_X, 0x1a) \ 5179682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall ABS_CODE(TILT_Y, 0x1b) \ 5189682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall ABS_CODE(TOOL_WIDTH, 0x1c) \ 5199682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall ABS_CODE(VOLUME, 0x20) \ 5209682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall ABS_CODE(MISC, 0x28) \ 5219682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall ABS_CODE(MAX, 0x3f) 5229682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 5239682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define ABS_CODE(n,v) GLUE(ABS_,n) = v, 5249682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 5259682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef enum { 5269682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall EVENT_ABS_LIST 5279682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} EventAbsCode; 5289682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#undef ABS_CODE 5299682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 5309682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall/* convert an event string specification like <type>:<code>:<value> 5319682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall * into three integers. returns 0 on success, or -1 in case of error 5329682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall */ 5339682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallextern int android_event_from_str( const char* name, 5349682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall int *ptype, 5359682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall int *pcode, 5369682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall int *pvalue ); 5379682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 5389682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall/* returns the list of valid event type string aliases */ 5399682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallextern int android_event_get_type_count( void ); 5409682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallextern char* android_event_bufprint_type_str( char* buff, char* end, int type_index ); 5419682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 5429682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall/* returns the list of valid event code string aliases for a given event type */ 5439682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallextern int android_event_get_code_count( int type ); 5449682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallextern char* android_event_bufprint_code_str( char* buff, char* end, int type, int code_index ); 5459682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 5469682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#endif /* _ANDROID_HW_EVENTS_H */ 5479682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall