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