pikeyd165 – Rev 1

Subversion Repositories:
Rev:
/**** keydefs.c ****************************/
/* M. Moller   2013-01-16                  */
/*   Universal RPi GPIO keyboard daemon    */
/*******************************************/

/*
   Copyright (C) 2013 Michael Moller.
   This file is part of the Universal Raspberry Pi GPIO keyboard daemon.

   This is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
   License as published by the Free Software Foundation; either
   version 2.1 of the License, or (at your option) any later version.

   The software is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Lesser General Public License for more details.

   You should have received a copy of the GNU Lesser General Public
   License along with the GNU C Library; if not, write to the Free
   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
   02111-1307 USA.  
*/

#include <stdio.h>
#include "config.h"

const key_names_s key_names[] = {
/*
  a subset of
  sed 's/^#define \([^ \t]\+\)[ \t]*\([^\ \t]\+\)/  { \"\1\",\t\2 },/' /usr/include/linux/input.h
 */
  { "KEY_RESERVED",     0 },
  { "KEY_ESC",  1 },
  { "KEY_1",    2 },
  { "KEY_2",    3 },
  { "KEY_3",    4 },
  { "KEY_4",    5 },
  { "KEY_5",    6 },
  { "KEY_6",    7 },
  { "KEY_7",    8 },
  { "KEY_8",    9 },
  { "KEY_9",    10 },
  { "KEY_0",    11 },
  { "KEY_MINUS",        12 },
  { "KEY_EQUAL",        13 },
  { "KEY_BACKSPACE",    14 },
  { "KEY_TAB",  15 },
  { "KEY_Q",    16 },
  { "KEY_W",    17 },
  { "KEY_E",    18 },
  { "KEY_R",    19 },
  { "KEY_T",    20 },
  { "KEY_Y",    21 },
  { "KEY_U",    22 },
  { "KEY_I",    23 },
  { "KEY_O",    24 },
  { "KEY_P",    25 },
  { "KEY_LEFTBRACE",    26 },
  { "KEY_RIGHTBRACE",   27 },
  { "KEY_ENTER",        28 },
  { "KEY_LEFTCTRL",     29 },
  { "KEY_A",    30 },
  { "KEY_S",    31 },
  { "KEY_D",    32 },
  { "KEY_F",    33 },
  { "KEY_G",    34 },
  { "KEY_H",    35 },
  { "KEY_J",    36 },
  { "KEY_K",    37 },
  { "KEY_L",    38 },
  { "KEY_SEMICOLON",    39 },
  { "KEY_APOSTROPHE",   40 },
  { "KEY_GRAVE",        41 },
  { "KEY_LEFTSHIFT",    42 },
  { "KEY_BACKSLASH",    43 },
  { "KEY_Z",    44 },
  { "KEY_X",    45 },
  { "KEY_C",    46 },
  { "KEY_V",    47 },
  { "KEY_B",    48 },
  { "KEY_N",    49 },
  { "KEY_M",    50 },
  { "KEY_COMMA",        51 },
  { "KEY_DOT",  52 },
  { "KEY_SLASH",        53 },
  { "KEY_RIGHTSHIFT",   54 },
  { "KEY_KPASTERISK",   55 },
  { "KEY_LEFTALT",      56 },
  { "KEY_SPACE",        57 },
  { "KEY_CAPSLOCK",     58 },
  { "KEY_F1",   59 },
  { "KEY_F2",   60 },
  { "KEY_F3",   61 },
  { "KEY_F4",   62 },
  { "KEY_F5",   63 },
  { "KEY_F6",   64 },
  { "KEY_F7",   65 },
  { "KEY_F8",   66 },
  { "KEY_F9",   67 },
  { "KEY_F10",  68 },
  { "KEY_NUMLOCK",      69 },
  { "KEY_SCROLLLOCK",   70 },
  { "KEY_KP7",  71 },
  { "KEY_KP8",  72 },
  { "KEY_KP9",  73 },
  { "KEY_KPMINUS",      74 },
  { "KEY_KP4",  75 },
  { "KEY_KP5",  76 },
  { "KEY_KP6",  77 },
  { "KEY_KPPLUS",       78 },
  { "KEY_KP1",  79 },
  { "KEY_KP2",  80 },
  { "KEY_KP3",  81 },
  { "KEY_KP0",  82 },
  { "KEY_KPDOT",        83 },

  { "KEY_ZENKAKUHANKAKU",       85 },
  { "KEY_102ND",        86 },
  { "KEY_F11",  87 },
  { "KEY_F12",  88 },
  { "KEY_RO",   89 },
  { "KEY_KATAKANA",     90 },
  { "KEY_HIRAGANA",     91 },
  { "KEY_HENKAN",       92 },
  { "KEY_KATAKANAHIRAGANA",     93 },
  { "KEY_MUHENKAN",     94 },
  { "KEY_KPJPCOMMA",    95 },
  { "KEY_KPENTER",      96 },
  { "KEY_RIGHTCTRL",    97 },
  { "KEY_KPSLASH",      98 },
  { "KEY_SYSRQ",        99 },
  { "KEY_RIGHTALT",     100 },
  { "KEY_LINEFEED",     101 },
  { "KEY_HOME", 102 },
  { "KEY_UP",   103 },
  { "KEY_PAGEUP",       104 },
  { "KEY_LEFT", 105 },
  { "KEY_RIGHT",        106 },
  { "KEY_END",  107 },
  { "KEY_DOWN", 108 },
  { "KEY_PAGEDOWN",     109 },
  { "KEY_INSERT",       110 },
  { "KEY_DELETE",       111 },
  { "KEY_MACRO",        112 },
  { "KEY_MUTE", 113 },
  { "KEY_VOLUMEDOWN",   114 },
  { "KEY_VOLUMEUP",     115 },
  { "KEY_POWER",        116 },  /* SC System Power Down */
  { "KEY_KPEQUAL",      117 },
  { "KEY_KPPLUSMINUS",  118 },
  { "KEY_PAUSE",        119 },
  { "KEY_SCALE",        120 },  /* AL Compiz Scale (Expose) */

  { "KEY_KPCOMMA",      121 },
  { "KEY_HANGEUL",      122 },
  { "KEY_HANGUEL",      122 /*KEY_HANGEUL*/ },
  { "KEY_HANJA",        123 },
  { "KEY_YEN",  124 },
  { "KEY_LEFTMETA",     125 },
  { "KEY_RIGHTMETA",    126 },
  { "KEY_COMPOSE",      127 },

  { "KEY_STOP", 128 },  /* AC Stop */
  { "KEY_AGAIN",        129 },
  { "KEY_PROPS",        130 },  /* AC Properties */
  { "KEY_UNDO", 131 },  /* AC Undo */
  { "KEY_FRONT",        132 },
  { "KEY_COPY", 133 },  /* AC Copy */
  { "KEY_OPEN", 134 },  /* AC Open */
  { "KEY_PASTE",        135 },  /* AC Paste */
  { "KEY_FIND", 136 },  /* AC Search */
  { "KEY_CUT",  137 },  /* AC Cut */
  { "KEY_HELP", 138 },  /* AL Integrated Help Center */
  { "KEY_MENU", 139 },  /* Menu (show menu) */
  { "KEY_CALC", 140 },  /* AL Calculator */
  { "KEY_SETUP",        141 },
  { "KEY_SLEEP",        142 },  /* SC System Sleep */
  { "KEY_WAKEUP",       143 },  /* System Wake Up */
  { "KEY_FILE", 144 },  /* AL Local Machine Browser */
  { "KEY_SENDFILE",     145 },
  { "KEY_DELETEFILE",   146 },
  { "KEY_XFER", 147 },
  { "KEY_PROG1",        148 },
  { "KEY_PROG2",        149 },
  { "KEY_WWW",  150 },  /* AL Internet Browser */
  { "KEY_MSDOS",        151 },
  { "KEY_COFFEE",       152 },  /* AL Terminal Lock/Screensaver */
  { "KEY_SCREENLOCK",   152 /*KEY_COFFEE*/ },
  { "KEY_DIRECTION",    153 },
  { "KEY_CYCLEWINDOWS", 154 },
  { "KEY_MAIL", 155 },
  { "KEY_BOOKMARKS",    156 },  /* AC Bookmarks */
  { "KEY_COMPUTER",     157 },
  { "KEY_BACK", 158 },  /* AC Back */
  { "KEY_FORWARD",      159 },  /* AC Forward */
  { "KEY_CLOSECD",      160 },
  { "KEY_EJECTCD",      161 },
  { "KEY_EJECTCLOSECD", 162 },
  { "KEY_NEXTSONG",     163 },
  { "KEY_PLAYPAUSE",    164 },
  { "KEY_PREVIOUSSONG", 165 },
  { "KEY_STOPCD",       166 },
  { "KEY_RECORD",       167 },
  { "KEY_REWIND",       168 },
  { "KEY_PHONE",        169 },  /* Media Select Telephone */
  { "KEY_ISO",  170 },
  { "KEY_CONFIG",       171 },  /* AL Consumer Control Configuration */
  { "KEY_HOMEPAGE",     172 },  /* AC Home */
  { "KEY_REFRESH",      173 },  /* AC Refresh */
  { "KEY_EXIT", 174 },  /* AC Exit */
  { "KEY_MOVE", 175 },
  { "KEY_EDIT", 176 },
  { "KEY_SCROLLUP",     177 },
  { "KEY_SCROLLDOWN",   178 },
  { "KEY_KPLEFTPAREN",  179 },
  { "KEY_KPRIGHTPAREN", 180 },
  { "KEY_NEW",  181 },  /* AC New */
  { "KEY_REDO", 182 },  /* AC Redo/Repeat */

  { "KEY_F13",  183 },
  { "KEY_F14",  184 },
  { "KEY_F15",  185 },
  { "KEY_F16",  186 },
  { "KEY_F17",  187 },
  { "KEY_F18",  188 },
  { "KEY_F19",  189 },
  { "KEY_F20",  190 },
  { "KEY_F21",  191 },
  { "KEY_F22",  192 },
  { "KEY_F23",  193 },
  { "KEY_F24",  194 },

  { "KEY_PLAYCD",       200 },
  { "KEY_PAUSECD",      201 },
  { "KEY_PROG3",        202 },
  { "KEY_PROG4",        203 },
  { "KEY_DASHBOARD",    204 },  /* AL Dashboard */
  { "KEY_SUSPEND",      205 },
  { "KEY_CLOSE",        206 },  /* AC Close */
  { "KEY_PLAY", 207 },
  { "KEY_FASTFORWARD",  208 },
  { "KEY_BASSBOOST",    209 },
  { "KEY_PRINT",        210 },  /* AC Print */
  { "KEY_HP",   211 },
  { "KEY_CAMERA",       212 },
  { "KEY_SOUND",        213 },
  { "KEY_QUESTION",     214 },
  { "KEY_EMAIL",        215 },
  { "KEY_CHAT", 216 },
  { "KEY_SEARCH",       217 },
  { "KEY_CONNECT",      218 },
  { "KEY_FINANCE",      219 },  /* AL Checkbook/Finance */
  { "KEY_SPORT",        220 },
  { "KEY_SHOP", 221 },
  { "KEY_ALTERASE",     222 },
  { "KEY_CANCEL",       223 },  /* AC Cancel */
  { "KEY_BRIGHTNESSDOWN",       224 },
  { "KEY_BRIGHTNESSUP", 225 },
  { "KEY_MEDIA",        226 },

  { "KEY_SWITCHVIDEOMODE",      227 },  /* Cycle between available video
                                           outputs (Monitor/LCD/TV-out/etc) */
  { "KEY_KBDILLUMTOGGLE",       228 },
  { "KEY_KBDILLUMDOWN", 229 },
  { "KEY_KBDILLUMUP",   230 },

  { "KEY_SEND", 231 },  /* AC Send */
  { "KEY_REPLY",        232 },  /* AC Reply */
  { "KEY_FORWARDMAIL",  233 },  /* AC Forward Msg */
  { "KEY_SAVE", 234 },  /* AC Save */
  { "KEY_DOCUMENTS",    235 },

  { "KEY_BATTERY",      236 },

  { "KEY_BLUETOOTH",    237 },
  { "KEY_WLAN", 238 },
  { "KEY_UWB",  239 },

  { "KEY_UNKNOWN",      240 },

  { "KEY_VIDEO_NEXT",   241 },  /* drive next video source */
  { "KEY_VIDEO_PREV",   242 },  /* drive previous video source */
  { "KEY_BRIGHTNESS_CYCLE",     243 },  /* brightness up, after max is min */
  { "KEY_BRIGHTNESS_ZERO",      244 },  /* brightness off, use ambient */
  { "KEY_DISPLAY_OFF",  245 },  /* display device to off state */

  { "KEY_WIMAX",        246 },
  { "KEY_RFKILL",       247 },  /* Key that controls all radios */

  { "KEY_MICMUTE",      248 },  /* Mute / unmute the microphone */

/* Code 255 is reserved for special needs of AT keyboard driver */

  { "BTN_MISC", 0x100 },
  { "BTN_0",    0x100 },
  { "BTN_1",    0x101 },
  { "BTN_2",    0x102 },
  { "BTN_3",    0x103 },
  { "BTN_4",    0x104 },
  { "BTN_5",    0x105 },
  { "BTN_6",    0x106 },
  { "BTN_7",    0x107 },
  { "BTN_8",    0x108 },
  { "BTN_9",    0x109 },

  { "BTN_MOUSE",        0x110 },
  { "BTN_LEFT", 0x110 },
  { "BTN_RIGHT",        0x111 },
  { "BTN_MIDDLE",       0x112 },
  { "BTN_SIDE", 0x113 },
  { "BTN_EXTRA",        0x114 },
  { "BTN_FORWARD",      0x115 },
  { "BTN_BACK", 0x116 },
  { "BTN_TASK", 0x117 },

  { "BTN_JOYSTICK",     0x120 },
  { "BTN_TRIGGER",      0x120 },
  { "BTN_THUMB",        0x121 },
  { "BTN_THUMB2",       0x122 },
  { "BTN_TOP",  0x123 },
  { "BTN_TOP2", 0x124 },
  { "BTN_PINKIE",       0x125 },
  { "BTN_BASE", 0x126 },
  { "BTN_BASE2",        0x127 },
  { "BTN_BASE3",        0x128 },
  { "BTN_BASE4",        0x129 },
  { "BTN_BASE5",        0x12a },
  { "BTN_BASE6",        0x12b },
  { "BTN_DEAD", 0x12f },

  { "BTN_GAMEPAD",      0x130 },
  { "BTN_A",    0x130 },
  { "BTN_B",    0x131 },
  { "BTN_C",    0x132 },
  { "BTN_X",    0x133 },
  { "BTN_Y",    0x134 },
  { "BTN_Z",    0x135 },
  { "BTN_TL",   0x136 },
  { "BTN_TR",   0x137 },
  { "BTN_TL2",  0x138 },
  { "BTN_TR2",  0x139 },
  { "BTN_SELECT",       0x13a },
  { "BTN_START",        0x13b },
  { "BTN_MODE", 0x13c },
  { "BTN_THUMBL",       0x13d },
  { "BTN_THUMBR",       0x13e },

#if 0

  { "BTN_DIGI", 0x140 },
  { "BTN_TOOL_PEN",     0x140 },
  { "BTN_TOOL_RUBBER",  0x141 },
  { "BTN_TOOL_BRUSH",   0x142 },
  { "BTN_TOOL_PENCIL",  0x143 },
  { "BTN_TOOL_AIRBRUSH",        0x144 },
  { "BTN_TOOL_FINGER",  0x145 },
  { "BTN_TOOL_MOUSE",   0x146 },
  { "BTN_TOOL_LENS",    0x147 },
  { "BTN_TOOL_QUINTTAP",        0x148 },        /* Five fingers on trackpad */
  { "BTN_TOUCH",        0x14a },
  { "BTN_STYLUS",       0x14b },
  { "BTN_STYLUS2",      0x14c },
  { "BTN_TOOL_DOUBLETAP",       0x14d },
  { "BTN_TOOL_TRIPLETAP",       0x14e },
  { "BTN_TOOL_QUADTAP", 0x14f },        /* Four fingers on trackpad */

  { "BTN_WHEEL",        0x150 },
  { "BTN_GEAR_DOWN",    0x150 },
  { "BTN_GEAR_UP",      0x151 },

  { "KEY_OK",   0x160 },
  { "KEY_SELECT",       0x161 },
  { "KEY_GOTO", 0x162 },
  { "KEY_CLEAR",        0x163 },
  { "KEY_POWER2",       0x164 },
  { "KEY_OPTION",       0x165 },
  { "KEY_INFO", 0x166 },        /* AL OEM Features/Tips/Tutorial */
  { "KEY_TIME", 0x167 },
  { "KEY_VENDOR",       0x168 },
  { "KEY_ARCHIVE",      0x169 },
  { "KEY_PROGRAM",      0x16a },        /* Media Select Program Guide */
  { "KEY_CHANNEL",      0x16b },
  { "KEY_FAVORITES",    0x16c },
  { "KEY_EPG",  0x16d },
  { "KEY_PVR",  0x16e },        /* Media Select Home */
  { "KEY_MHP",  0x16f },
  { "KEY_LANGUAGE",     0x170 },
  { "KEY_TITLE",        0x171 },
  { "KEY_SUBTITLE",     0x172 },
  { "KEY_ANGLE",        0x173 },
  { "KEY_ZOOM", 0x174 },
  { "KEY_MODE", 0x175 },
  { "KEY_KEYBOARD",     0x176 },
  { "KEY_SCREEN",       0x177 },
  { "KEY_PC",   0x178 },        /* Media Select Computer */
  { "KEY_TV",   0x179 },        /* Media Select TV */
  { "KEY_TV2",  0x17a },        /* Media Select Cable */
  { "KEY_VCR",  0x17b },        /* Media Select VCR */
  { "KEY_VCR2", 0x17c },        /* VCR Plus */
  { "KEY_SAT",  0x17d },        /* Media Select Satellite */
  { "KEY_SAT2", 0x17e },
  { "KEY_CD",   0x17f },        /* Media Select CD */
  { "KEY_TAPE", 0x180 },        /* Media Select Tape */
  { "KEY_RADIO",        0x181 },
  { "KEY_TUNER",        0x182 },        /* Media Select Tuner */
  { "KEY_PLAYER",       0x183 },
  { "KEY_TEXT", 0x184 },
  { "KEY_DVD",  0x185 },        /* Media Select DVD */
  { "KEY_AUX",  0x186 },
  { "KEY_MP3",  0x187 },
  { "KEY_AUDIO",        0x188 },        /* AL Audio Browser */
  { "KEY_VIDEO",        0x189 },        /* AL Movie Browser */
  { "KEY_DIRECTORY",    0x18a },
  { "KEY_LIST", 0x18b },
  { "KEY_MEMO", 0x18c },        /* Media Select Messages */
  { "KEY_CALENDAR",     0x18d },
  { "KEY_RED",  0x18e },
  { "KEY_GREEN",        0x18f },
  { "KEY_YELLOW",       0x190 },
  { "KEY_BLUE", 0x191 },
  { "KEY_CHANNELUP",    0x192 },        /* Channel Increment */
  { "KEY_CHANNELDOWN",  0x193 },        /* Channel Decrement */
  { "KEY_FIRST",        0x194 },
  { "KEY_LAST", 0x195 },        /* Recall Last */
  { "KEY_AB",   0x196 },
  { "KEY_NEXT", 0x197 },
  { "KEY_RESTART",      0x198 },
  { "KEY_SLOW", 0x199 },
  { "KEY_SHUFFLE",      0x19a },
  { "KEY_BREAK",        0x19b },
  { "KEY_PREVIOUS",     0x19c },
  { "KEY_DIGITS",       0x19d },
  { "KEY_TEEN", 0x19e },
  { "KEY_TWEN", 0x19f },
  { "KEY_VIDEOPHONE",   0x1a0 },        /* Media Select Video Phone */
  { "KEY_GAMES",        0x1a1 },        /* Media Select Games */
  { "KEY_ZOOMIN",       0x1a2 },        /* AC Zoom In */
  { "KEY_ZOOMOUT",      0x1a3 },        /* AC Zoom Out */
  { "KEY_ZOOMRESET",    0x1a4 },        /* AC Zoom */
  { "KEY_WORDPROCESSOR",        0x1a5 },        /* AL Word Processor */
  { "KEY_EDITOR",       0x1a6 },        /* AL Text Editor */
  { "KEY_SPREADSHEET",  0x1a7 },        /* AL Spreadsheet */
  { "KEY_GRAPHICSEDITOR",       0x1a8 },        /* AL Graphics Editor */
  { "KEY_PRESENTATION", 0x1a9 },        /* AL Presentation App */
  { "KEY_DATABASE",     0x1aa },        /* AL Database App */
  { "KEY_NEWS", 0x1ab },        /* AL Newsreader */
  { "KEY_VOICEMAIL",    0x1ac },        /* AL Voicemail */
  { "KEY_ADDRESSBOOK",  0x1ad },        /* AL Contacts/Address Book */
  { "KEY_MESSENGER",    0x1ae },        /* AL Instant Messaging */
  { "KEY_DISPLAYTOGGLE",        0x1af },        /* Turn display (LCD) on and off */
  { "KEY_SPELLCHECK",   0x1b0 },   /* AL Spell Check */
  { "KEY_LOGOFF",       0x1b1 },   /* AL Logoff */

  { "KEY_DOLLAR",       0x1b2 },
  { "KEY_EURO", 0x1b3 },

  { "KEY_FRAMEBACK",    0x1b4 },        /* Consumer - transport controls */
  { "KEY_FRAMEFORWARD", 0x1b5 },
  { "KEY_CONTEXT_MENU", 0x1b6 },        /* GenDesc - system context menu */
  { "KEY_MEDIA_REPEAT", 0x1b7 },        /* Consumer - transport control */
  { "KEY_10CHANNELSUP", 0x1b8 },        /* 10 channels up (10+) */
  { "KEY_10CHANNELSDOWN",       0x1b9 },        /* 10 channels down (10-) */
  { "KEY_IMAGES",       0x1ba },        /* AL Image Browser */

  { "KEY_DEL_EOL",      0x1c0 },
  { "KEY_DEL_EOS",      0x1c1 },
  { "KEY_INS_LINE",     0x1c2 },
  { "KEY_DEL_LINE",     0x1c3 },

  { "KEY_FN",   0x1d0 },
  { "KEY_FN_ESC",       0x1d1 },
  { "KEY_FN_F1",        0x1d2 },
  { "KEY_FN_F2",        0x1d3 },
  { "KEY_FN_F3",        0x1d4 },
  { "KEY_FN_F4",        0x1d5 },
  { "KEY_FN_F5",        0x1d6 },
  { "KEY_FN_F6",        0x1d7 },
  { "KEY_FN_F7",        0x1d8 },
  { "KEY_FN_F8",        0x1d9 },
  { "KEY_FN_F9",        0x1da },
  { "KEY_FN_F10",       0x1db },
  { "KEY_FN_F11",       0x1dc },
  { "KEY_FN_F12",       0x1dd },
  { "KEY_FN_1", 0x1de },
  { "KEY_FN_2", 0x1df },
  { "KEY_FN_D", 0x1e0 },
  { "KEY_FN_E", 0x1e1 },
  { "KEY_FN_F", 0x1e2 },
  { "KEY_FN_S", 0x1e3 },
  { "KEY_FN_B", 0x1e4 },

  { "KEY_BRL_DOT1",     0x1f1 },
  { "KEY_BRL_DOT2",     0x1f2 },
  { "KEY_BRL_DOT3",     0x1f3 },
  { "KEY_BRL_DOT4",     0x1f4 },
  { "KEY_BRL_DOT5",     0x1f5 },
  { "KEY_BRL_DOT6",     0x1f6 },
  { "KEY_BRL_DOT7",     0x1f7 },
  { "KEY_BRL_DOT8",     0x1f8 },
  { "KEY_BRL_DOT9",     0x1f9 },
  { "KEY_BRL_DOT10",    0x1fa },

  { "KEY_NUMERIC_0",    0x200 },        /* used by phones, remote controls, */
  { "KEY_NUMERIC_1",    0x201 },        /* and other keypads */
  { "KEY_NUMERIC_2",    0x202 },
  { "KEY_NUMERIC_3",    0x203 },
  { "KEY_NUMERIC_4",    0x204 },
  { "KEY_NUMERIC_5",    0x205 },
  { "KEY_NUMERIC_6",    0x206 },
  { "KEY_NUMERIC_7",    0x207 },
  { "KEY_NUMERIC_8",    0x208 },
  { "KEY_NUMERIC_9",    0x209 },
  { "KEY_NUMERIC_STAR", 0x20a },
  { "KEY_NUMERIC_POUND",        0x20b },

  { "KEY_CAMERA_FOCUS", 0x210 },
  { "KEY_WPS_BUTTON",   0x211 },        /* WiFi Protected Setup key */

  { "KEY_TOUCHPAD_TOGGLE",      0x212 },        /* Request switch touchpad on or off */
  { "KEY_TOUCHPAD_ON",  0x213 },
  { "KEY_TOUCHPAD_OFF", 0x214 },

  { "KEY_CAMERA_ZOOMIN",        0x215 },
  { "KEY_CAMERA_ZOOMOUT",       0x216 },
  { "KEY_CAMERA_UP",    0x217 },
  { "KEY_CAMERA_DOWN",  0x218 },
  { "KEY_CAMERA_LEFT",  0x219 },
  { "KEY_CAMERA_RIGHT", 0x21a },

  { "BTN_TRIGGER_HAPPY",        0x2c0 },
  { "BTN_TRIGGER_HAPPY1",       0x2c0 },
  { "BTN_TRIGGER_HAPPY2",       0x2c1 },
  { "BTN_TRIGGER_HAPPY3",       0x2c2 },
  { "BTN_TRIGGER_HAPPY4",       0x2c3 },
  { "BTN_TRIGGER_HAPPY5",       0x2c4 },
  { "BTN_TRIGGER_HAPPY6",       0x2c5 },
  { "BTN_TRIGGER_HAPPY7",       0x2c6 },
  { "BTN_TRIGGER_HAPPY8",       0x2c7 },
  { "BTN_TRIGGER_HAPPY9",       0x2c8 },
  { "BTN_TRIGGER_HAPPY10",      0x2c9 },
  { "BTN_TRIGGER_HAPPY11",      0x2ca },
  { "BTN_TRIGGER_HAPPY12",      0x2cb },
  { "BTN_TRIGGER_HAPPY13",      0x2cc },
  { "BTN_TRIGGER_HAPPY14",      0x2cd },
  { "BTN_TRIGGER_HAPPY15",      0x2ce },
  { "BTN_TRIGGER_HAPPY16",      0x2cf },
  { "BTN_TRIGGER_HAPPY17",      0x2d0 },
  { "BTN_TRIGGER_HAPPY18",      0x2d1 },
  { "BTN_TRIGGER_HAPPY19",      0x2d2 },
  { "BTN_TRIGGER_HAPPY20",      0x2d3 },
  { "BTN_TRIGGER_HAPPY21",      0x2d4 },
  { "BTN_TRIGGER_HAPPY22",      0x2d5 },
  { "BTN_TRIGGER_HAPPY23",      0x2d6 },
  { "BTN_TRIGGER_HAPPY24",      0x2d7 },
  { "BTN_TRIGGER_HAPPY25",      0x2d8 },
  { "BTN_TRIGGER_HAPPY26",      0x2d9 },
  { "BTN_TRIGGER_HAPPY27",      0x2da },
  { "BTN_TRIGGER_HAPPY28",      0x2db },
  { "BTN_TRIGGER_HAPPY29",      0x2dc },
  { "BTN_TRIGGER_HAPPY30",      0x2dd },
  { "BTN_TRIGGER_HAPPY31",      0x2de },
  { "BTN_TRIGGER_HAPPY32",      0x2df },
  { "BTN_TRIGGER_HAPPY33",      0x2e0 },
  { "BTN_TRIGGER_HAPPY34",      0x2e1 },
  { "BTN_TRIGGER_HAPPY35",      0x2e2 },
  { "BTN_TRIGGER_HAPPY36",      0x2e3 },
  { "BTN_TRIGGER_HAPPY37",      0x2e4 },
  { "BTN_TRIGGER_HAPPY38",      0x2e5 },
  { "BTN_TRIGGER_HAPPY39",      0x2e6 },
  { "BTN_TRIGGER_HAPPY40",      0x2e7 },
#endif

  { "LAST", -1 },
};