[PATCH] Add extended input keycodes to input-addon

Matthew Garrett mjg59 at srcf.ucam.org
Thu Sep 11 08:23:58 PDT 2008


X can't cope with keycodes >256 right now, which presents certain
difficulties. This patch adds the rest of the Linux keycodes to the
input addon, which at least allows programs to use dbus to detect the
presses. It also brings in an internal header defining the keycodes
rather than using the kernel one - otherwise we have extreme difficulty
in supporting all the codes in a maintainable way.

Signed-off-by: Matthew Garrett <mjg at redhat.com>

diff --git a/hald/linux/addons/Makefile.am b/hald/linux/addons/Makefile.am
index 37beba4..36931b4 100644
--- a/hald/linux/addons/Makefile.am
+++ b/hald/linux/addons/Makefile.am
@@ -84,7 +84,7 @@ endif
 hald_addon_hid_ups_SOURCES = addon-hid-ups.c ../../logger.c ../../util_helper.c ../../util_pm.c
 hald_addon_hid_ups_LDADD = $(top_builddir)/libhal/libhal.la @GLIB_LIBS@
 
-hald_addon_input_SOURCES = addon-input.c ../../logger.c ../../util_helper.c
+hald_addon_input_SOURCES = addon-input.c addon-input.h ../../logger.c ../../util_helper.c
 hald_addon_input_LDADD = $(top_builddir)/libhal/libhal.la @GLIB_LIBS@
 
 hald_addon_pmu_SOURCES = addon-pmu.c ../../logger.c ../../util_helper.c
diff --git a/hald/linux/addons/addon-input.c b/hald/linux/addons/addon-input.c
index 5704f82..dbf83b2 100644
--- a/hald/linux/addons/addon-input.c
+++ b/hald/linux/addons/addon-input.c
@@ -45,137 +45,253 @@
 #include <glib/gprintf.h>
 #include <dbus/dbus-glib-lowlevel.h>
 
+#include "addon-input.h"
 #include "libhal/libhal.h"
 
 #include "../../logger.h"
 #include "../../util_helper.h"
 
 
-static char *key_name[KEY_MAX + 1] = {
-	[0 ... KEY_MAX] = NULL,
-	[KEY_STOP] = "stop",
-	[KEY_AGAIN] = "again",
-	[KEY_PROPS] = "props",
-	[KEY_UNDO] = "undo",
-	[KEY_FRONT] = "front",
-	[KEY_COPY] = "copy",
-	[KEY_OPEN] = "open",
-	[KEY_PASTE] = "paste",
-	[KEY_FIND] = "find",
-	[KEY_CUT] = "cut",
-	[KEY_HELP] = "help",
-	[KEY_MENU] = "menu",
-	[KEY_CALC] = "calc",
-	[KEY_SETUP] = "setup",
-	[KEY_SLEEP] = "sleep",
-	[KEY_WAKEUP] = "wake-up",
-	[KEY_FILE] = "file",
-	[KEY_SENDFILE] = "send-file",
-	[KEY_DELETEFILE] = "delete-file",
-	[KEY_XFER] = "xfer",
-	[KEY_PROG1] = "prog1",
-	[KEY_PROG2] = "prog2",
-	[KEY_WWW] = "www",
-	[KEY_MSDOS] = "msdos",
-	[KEY_COFFEE] = "coffee",
-	[KEY_DIRECTION] = "direction",
-	[KEY_CYCLEWINDOWS] = "cycle-windows",
-	[KEY_MAIL] = "mail",
-	[KEY_BOOKMARKS] = "bookmarks",
-	[KEY_COMPUTER] = "computer",
-	[KEY_BACK] = "back",
-	[KEY_FORWARD] = "forward",
-	[KEY_CLOSECD] = "close-cd",
-	[KEY_EJECTCD] = "eject-cd",
-	[KEY_EJECTCLOSECD] = "eject-close-cd",
-	[KEY_NEXTSONG] = "next-song",
-	[KEY_PLAYPAUSE] = "play-pause",
-	[KEY_PREVIOUSSONG] = "previous-song",
-	[KEY_STOPCD] = "stop-cd",
-	[KEY_RECORD] = "record",
-	[KEY_REWIND] = "rewind",
-	[KEY_PHONE] = "phone",
-	[KEY_ISO] = "iso",
-	[KEY_CONFIG] = "config",
-	[KEY_HOMEPAGE] = "homepage",
-	[KEY_REFRESH] = "refresh",
-	[KEY_EXIT] = "exit",
-	[KEY_MOVE] = "move",
-	[KEY_EDIT] = "edit",
-	[KEY_SCROLLUP] = "scroll-up",
-	[KEY_SCROLLDOWN] = "scroll-down",
-	[KEY_KPLEFTPAREN] = "kp-left-paren",
-	[KEY_KPRIGHTPAREN] = "kp-right-paren",
-	[KEY_F13] = "f13",
-	[KEY_F14] = "f14",
-	[KEY_F15] = "f15",
-	[KEY_F16] = "f16",
-	[KEY_F17] = "f17",
-	[KEY_F18] = "f18",
-	[KEY_F19] = "f19",
-	[KEY_F20] = "f20",
-	[KEY_F21] = "f21",
-	[KEY_F22] = "f22",
-	[KEY_F23] = "f23",
-	[KEY_F24] = "f24",
-	[KEY_PLAYCD] = "play-cd",
-	[KEY_PAUSECD] = "pause-cd",
-	[KEY_PROG3] = "prog3",
-	[KEY_PROG4] = "prog4",
-	[KEY_SUSPEND] = "hibernate",
-	[KEY_CLOSE] = "close",
-	[KEY_PLAY] = "play",
-	[KEY_FASTFORWARD] = "fast-forward",
-	[KEY_BASSBOOST] = "bass-boost",
-	[KEY_PRINT] = "print",
-	[KEY_HP] = "hp",
-	[KEY_CAMERA] = "camera",
-	[KEY_SOUND] = "sound",
-	[KEY_QUESTION] = "question",
-	[KEY_EMAIL] = "email",
-	[KEY_CHAT] = "chat",
-	[KEY_SEARCH] = "search",
-	[KEY_CONNECT] = "connect",
-	[KEY_FINANCE] = "finance",
-	[KEY_SPORT] = "sport",
-	[KEY_SHOP] = "shop",
-	[KEY_ALTERASE] = "alt-erase",
-	[KEY_CANCEL] = "cancel",
-	[KEY_BRIGHTNESSDOWN] = "brightness-down",
-	[KEY_BRIGHTNESSUP] = "brightness-up",
-	[KEY_MEDIA] = "media",
-	[KEY_POWER] = "power",
-	[KEY_MUTE] = "mute",
-	[KEY_VOLUMEDOWN] = "volume-down",
-	[KEY_VOLUMEUP] = "volume-up",
-#ifndef KEY_SWITCHVIDEOMODE
-#define KEY_SWITCHVIDEOMODE	227
-#endif
-	[KEY_SWITCHVIDEOMODE] = "switch-videomode",
-#ifndef KEY_KBDILLUMTOGGLE
-#define KEY_KBDILLUMTOGGLE	228
-#endif
-	[KEY_KBDILLUMTOGGLE] = "kbd-illum-toggle",
-#ifndef KEY_KBDILLUMDOWN
-#define KEY_KBDILLUMDOWN	229
-#endif
-	[KEY_KBDILLUMDOWN] = "kbd-illum-down",
-#ifndef KEY_KBDILLUMUP
-#define KEY_KBDILLUMUP		230
-#endif
-	[KEY_KBDILLUMUP] = "kbd-illum-up",
-#ifndef KEY_BATTERY
-#define KEY_BATTERY 236
-#endif
-	[KEY_BATTERY] = "battery",
-#ifndef KEY_BLUETOOTH
-#define KEY_BLUETOOTH 237
-#endif
-	[KEY_BLUETOOTH] = "bluetooth",
-#ifndef KEY_WLAN
-#define KEY_WLAN 238
-#endif
-	[KEY_WLAN] = "wlan"
+static char *key_name[HAL_KEY_MAX + 1] = {
+	[0 ... HAL_KEY_MAX] = NULL,
+	[HAL_KEY_STOP] = "stop",
+	[HAL_KEY_AGAIN] = "again",
+	[HAL_KEY_PROPS] = "props",
+	[HAL_KEY_UNDO] = "undo",
+	[HAL_KEY_FRONT] = "front",
+	[HAL_KEY_COPY] = "copy",
+	[HAL_KEY_OPEN] = "open",
+	[HAL_KEY_PASTE] = "paste",
+	[HAL_KEY_FIND] = "find",
+	[HAL_KEY_CUT] = "cut",
+	[HAL_KEY_HELP] = "help",
+	[HAL_KEY_MENU] = "menu",
+	[HAL_KEY_CALC] = "calc",
+	[HAL_KEY_SETUP] = "setup",
+	[HAL_KEY_SLEEP] = "sleep",
+	[HAL_KEY_WAKEUP] = "wake-up",
+	[HAL_KEY_FILE] = "file",
+	[HAL_KEY_SENDFILE] = "send-file",
+	[HAL_KEY_DELETEFILE] = "delete-file",
+	[HAL_KEY_XFER] = "xfer",
+	[HAL_KEY_PROG1] = "prog1",
+	[HAL_KEY_PROG2] = "prog2",
+	[HAL_KEY_WWW] = "www",
+	[HAL_KEY_MSDOS] = "msdos",
+	[HAL_KEY_COFFEE] = "coffee",
+	[HAL_KEY_DIRECTION] = "direction",
+	[HAL_KEY_CYCLEWINDOWS] = "cycle-windows",
+	[HAL_KEY_MAIL] = "mail",
+	[HAL_KEY_BOOKMARKS] = "bookmarks",
+	[HAL_KEY_COMPUTER] = "computer",
+	[HAL_KEY_BACK] = "back",
+	[HAL_KEY_FORWARD] = "forward",
+	[HAL_KEY_CLOSECD] = "close-cd",
+	[HAL_KEY_EJECTCD] = "eject-cd",
+	[HAL_KEY_EJECTCLOSECD] = "eject-close-cd",
+	[HAL_KEY_NEXTSONG] = "next-song",
+	[HAL_KEY_PLAYPAUSE] = "play-pause",
+	[HAL_KEY_PREVIOUSSONG] = "previous-song",
+	[HAL_KEY_STOPCD] = "stop-cd",
+	[HAL_KEY_RECORD] = "record",
+	[HAL_KEY_REWIND] = "rewind",
+	[HAL_KEY_PHONE] = "phone",
+	[HAL_KEY_ISO] = "iso",
+	[HAL_KEY_CONFIG] = "config",
+	[HAL_KEY_HOMEPAGE] = "homepage",
+	[HAL_KEY_REFRESH] = "refresh",
+	[HAL_KEY_EXIT] = "exit",
+	[HAL_KEY_MOVE] = "move",
+	[HAL_KEY_EDIT] = "edit",
+	[HAL_KEY_SCROLLUP] = "scroll-up",
+	[HAL_KEY_SCROLLDOWN] = "scroll-down",
+	[HAL_KEY_KPLEFTPAREN] = "kp-left-paren",
+	[HAL_KEY_KPRIGHTPAREN] = "kp-right-paren",
+	[HAL_KEY_F13] = "f13",
+	[HAL_KEY_F14] = "f14",
+	[HAL_KEY_F15] = "f15",
+	[HAL_KEY_F16] = "f16",
+	[HAL_KEY_F17] = "f17",
+	[HAL_KEY_F18] = "f18",
+	[HAL_KEY_F19] = "f19",
+	[HAL_KEY_F20] = "f20",
+	[HAL_KEY_F21] = "f21",
+	[HAL_KEY_F22] = "f22",
+	[HAL_KEY_F23] = "f23",
+	[HAL_KEY_F24] = "f24",
+	[HAL_KEY_PLAYCD] = "play-cd",
+	[HAL_KEY_PAUSECD] = "pause-cd",
+	[HAL_KEY_PROG3] = "prog3",
+	[HAL_KEY_PROG4] = "prog4",
+	[HAL_KEY_SUSPEND] = "hibernate",
+	[HAL_KEY_CLOSE] = "close",
+	[HAL_KEY_PLAY] = "play",
+	[HAL_KEY_FASTFORWARD] = "fast-forward",
+	[HAL_KEY_BASSBOOST] = "bass-boost",
+	[HAL_KEY_PRINT] = "print",
+	[HAL_KEY_HP] = "hp",
+	[HAL_KEY_CAMERA] = "camera",
+	[HAL_KEY_SOUND] = "sound",
+	[HAL_KEY_QUESTION] = "question",
+	[HAL_KEY_EMAIL] = "email",
+	[HAL_KEY_CHAT] = "chat",
+	[HAL_KEY_SEARCH] = "search",
+	[HAL_KEY_CONNECT] = "connect",
+	[HAL_KEY_FINANCE] = "finance",
+	[HAL_KEY_SPORT] = "sport",
+	[HAL_KEY_SHOP] = "shop",
+	[HAL_KEY_ALTERASE] = "alt-erase",
+	[HAL_KEY_CANCEL] = "cancel",
+	[HAL_KEY_BRIGHTNESSDOWN] = "brightness-down",
+	[HAL_KEY_BRIGHTNESSUP] = "brightness-up",
+	[HAL_KEY_MEDIA] = "media",
+	[HAL_KEY_POWER] = "power",
+	[HAL_KEY_MUTE] = "mute",
+	[HAL_KEY_VOLUMEDOWN] = "volume-down",
+	[HAL_KEY_VOLUMEUP] = "volume-up",
+	[HAL_KEY_SWITCHVIDEOMODE] = "switch-videomode",
+	[HAL_KEY_KBDILLUMTOGGLE] = "kbd-illum-toggle",
+	[HAL_KEY_KBDILLUMDOWN] = "kbd-illum-down",
+	[HAL_KEY_KBDILLUMUP] = "kbd-illum-up",
+	[HAL_KEY_SEND] = "send",
+	[HAL_KEY_REPLY] = "reply",
+	[HAL_KEY_FORWARDMAIL] = "forwardmail",
+	[HAL_KEY_SAVE] = "save",
+	[HAL_KEY_DOCUMENTS] = "documents",
+	[HAL_KEY_BATTERY] = "battery",
+	[HAL_KEY_BLUETOOTH] = "bluetooth",
+	[HAL_KEY_WLAN] = "wlan",
+	[HAL_KEY_UWB] = "uwb",
+	[HAL_KEY_UNKNOWN] = "unknown",
+	[HAL_KEY_VIDEO_NEXT] = "video-next",
+	[HAL_KEY_VIDEO_PREV] = "video-prev",
+	[HAL_KEY_BRIGHTNESS_CYCLE] = "brightness-cycle",
+	[HAL_KEY_BRIGHTNESS_ZERO] = "brightness-zero",
+	[HAL_KEY_DISPLAY_OFF] = "display-off",
+	[HAL_KEY_WIMAX] = "wimax",
+	[HAL_KEY_OK] = "ok",
+	[HAL_KEY_SELECT] = "select",
+	[HAL_KEY_GOTO] = "goto",
+	[HAL_KEY_CLEAR] = "clear",
+	[HAL_KEY_POWER2] = "power2",
+	[HAL_KEY_OPTION] = "option",
+	[HAL_KEY_INFO] = "info",
+	[HAL_KEY_TIME] = "time",
+	[HAL_KEY_VENDOR] = "vendor",
+	[HAL_KEY_ARCHIVE] = "archive",
+	[HAL_KEY_PROGRAM] = "program",
+	[HAL_KEY_CHANNEL] = "channel",
+	[HAL_KEY_FAVORITES] = "favorites",
+	[HAL_KEY_EPG] = "epg",
+	[HAL_KEY_PVR] = "pvr",
+	[HAL_KEY_MHP] = "mhp",
+	[HAL_KEY_LANGUAGE] = "language",
+	[HAL_KEY_TITLE] = "title",
+	[HAL_KEY_SUBTITLE] = "subtitle",
+	[HAL_KEY_ANGLE] = "angle",
+	[HAL_KEY_ZOOM] = "zoom",
+	[HAL_KEY_MODE] = "mode",
+	[HAL_KEY_KEYBOARD] = "keyboard",
+	[HAL_KEY_SCREEN] = "screen",
+	[HAL_KEY_PC] = "pc",
+	[HAL_KEY_TV] = "tv",
+	[HAL_KEY_TV2] = "tv2",
+	[HAL_KEY_VCR] = "vcr",
+	[HAL_KEY_VCR2] = "vcr2",
+	[HAL_KEY_SAT] = "sat",
+	[HAL_KEY_SAT2] = "sat2",
+	[HAL_KEY_CD] = "cd",
+	[HAL_KEY_TAPE] = "tape",
+	[HAL_KEY_RADIO] = "radio",
+	[HAL_KEY_TUNER] = "tuner",
+	[HAL_KEY_PLAYER] = "player",
+	[HAL_KEY_TEXT] = "text",
+	[HAL_KEY_DVD] = "dvd",
+	[HAL_KEY_AUX] = "aux",
+	[HAL_KEY_MP3] = "mp3",
+	[HAL_KEY_AUDIO] = "audio",
+	[HAL_KEY_VIDEO] = "video",
+	[HAL_KEY_DIRECTORY] = "directory",
+	[HAL_KEY_LIST] = "list",
+	[HAL_KEY_MEMO] = "memo",
+	[HAL_KEY_CALENDAR] = "calendar",
+	[HAL_KEY_RED] = "red",
+	[HAL_KEY_GREEN] = "green",
+	[HAL_KEY_YELLOW] = "yellow",
+	[HAL_KEY_BLUE] = "blue",
+	[HAL_KEY_CHANNELUP] = "channel-up",
+	[HAL_KEY_CHANNELDOWN] = "channel-down",
+	[HAL_KEY_FIRST] = "first",
+	[HAL_KEY_LAST] = "last",
+	[HAL_KEY_AB] = "ab",
+	[HAL_KEY_NEXT] = "next",
+	[HAL_KEY_RESTART] = "restart",
+	[HAL_KEY_SLOW] = "slow",
+	[HAL_KEY_SHUFFLE] = "shuffle",
+	[HAL_KEY_BREAK] = "break",
+	[HAL_KEY_PREVIOUS] = "previous",
+	[HAL_KEY_DIGITS] = "digits",
+	[HAL_KEY_TEEN] = "teen",
+	[HAL_KEY_TWEN] = "twen",
+	[HAL_KEY_VIDEOPHONE] = "videophone",
+	[HAL_KEY_GAMES] = "games",
+	[HAL_KEY_ZOOMIN] = "zoomin",
+	[HAL_KEY_ZOOMOUT] = "zoomout",
+	[HAL_KEY_ZOOMRESET] = "zoomreset",
+	[HAL_KEY_WORDPROCESSOR] = "wordprocessor",
+	[HAL_KEY_EDITOR] = "editor",
+	[HAL_KEY_SPREADSHEET] = "spreadsheet",
+	[HAL_KEY_GRAPHICSEDITOR] = "graphicseditor",
+	[HAL_KEY_PRESENTATION] = "presentation",
+	[HAL_KEY_DATABASE] = "database",
+	[HAL_KEY_NEWS] = "news",
+	[HAL_KEY_VOICEMAIL] = "voicemail",
+	[HAL_KEY_ADDRESSBOOK] = "addressbook",
+	[HAL_KEY_MESSENGER] = "messenger",
+	[HAL_KEY_DISPLAYTOGGLE] = "displaytoggle",
+	[HAL_KEY_SPELLCHECK] = "spellcheck",
+	[HAL_KEY_LOGOFF] = "logoff",
+	[HAL_KEY_DOLLAR] = "dollar",
+	[HAL_KEY_EURO] = "euro",
+	[HAL_KEY_FRAMEBACK] = "frameback",
+	[HAL_KEY_FRAMEFORWARD] = "frameforward",
+	[HAL_KEY_CONTEXT_MENU] = "context-menu",
+	[HAL_KEY_MEDIA_REPEAT] = "media-repeat",
+	[HAL_KEY_DEL_EOL] = "del-eol",
+	[HAL_KEY_DEL_EOS] = "del-eos",
+	[HAL_KEY_INS_LINE] = "ins-line",
+	[HAL_KEY_DEL_LINE] = "del-line",
+	[HAL_KEY_FN] = "fn",
+	[HAL_KEY_FN_ESC] = "fn-esc",
+	[HAL_KEY_FN_F1] = "fn-f1",
+	[HAL_KEY_FN_F2] = "fn-f2",
+	[HAL_KEY_FN_F3] = "fn-f3",
+	[HAL_KEY_FN_F4] = "fn-f4",
+	[HAL_KEY_FN_F5] = "fn-f5",
+	[HAL_KEY_FN_F6] = "fn-f6",
+	[HAL_KEY_FN_F7] = "fn-f7",
+	[HAL_KEY_FN_F8] = "fn-f8",
+	[HAL_KEY_FN_F9] = "fn-f9",
+	[HAL_KEY_FN_F10] = "fn-f10",
+	[HAL_KEY_FN_F11] = "fn-f11",
+	[HAL_KEY_FN_F12] = "fn-f12",
+	[HAL_KEY_FN_1] = "fn-1",
+	[HAL_KEY_FN_2] = "fn-2",
+	[HAL_KEY_FN_D] = "fn-d",
+	[HAL_KEY_FN_E] = "fn-e",
+	[HAL_KEY_FN_F] = "fn-f",
+	[HAL_KEY_FN_S] = "fn-s",
+	[HAL_KEY_FN_B] = "fn-b",
+	[HAL_KEY_BRL_DOT1] = "brl-dot1",
+	[HAL_KEY_BRL_DOT2] = "brl-dot2",
+	[HAL_KEY_BRL_DOT3] = "brl-dot3",
+	[HAL_KEY_BRL_DOT4] = "brl-dot4",
+	[HAL_KEY_BRL_DOT5] = "brl-dot5",
+	[HAL_KEY_BRL_DOT6] = "brl-dot6",
+	[HAL_KEY_BRL_DOT7] = "brl-dot7",
+	[HAL_KEY_BRL_DOT8] = "brl-dot8",
+	[HAL_KEY_BRL_DOT9] = "brl-dot9",
+	[HAL_KEY_BRL_DOT10] = "brl-dot10"
 };
 
 
diff --git a/hald/linux/addons/addon-input.h b/hald/linux/addons/addon-input.h
new file mode 100644
index 0000000..11696c6
--- /dev/null
+++ b/hald/linux/addons/addon-input.h
@@ -0,0 +1,367 @@
+#define HAL_KEY_RESERVED		0
+#define HAL_KEY_ESC			1
+#define HAL_KEY_1			2
+#define HAL_KEY_2			3
+#define HAL_KEY_3			4
+#define HAL_KEY_4			5
+#define HAL_KEY_5			6
+#define HAL_KEY_6			7
+#define HAL_KEY_7			8
+#define HAL_KEY_8			9
+#define HAL_KEY_9			10
+#define HAL_KEY_0			11
+#define HAL_KEY_MINUS		12
+#define HAL_KEY_EQUAL		13
+#define HAL_KEY_BACKSPACE		14
+#define HAL_KEY_TAB			15
+#define HAL_KEY_Q			16
+#define HAL_KEY_W			17
+#define HAL_KEY_E			18
+#define HAL_KEY_R			19
+#define HAL_KEY_T			20
+#define HAL_KEY_Y			21
+#define HAL_KEY_U			22
+#define HAL_KEY_I			23
+#define HAL_KEY_O			24
+#define HAL_KEY_P			25
+#define HAL_KEY_LEFTBRACE		26
+#define HAL_KEY_RIGHTBRACE		27
+#define HAL_KEY_ENTER		28
+#define HAL_KEY_LEFTCTRL		29
+#define HAL_KEY_A			30
+#define HAL_KEY_S			31
+#define HAL_KEY_D			32
+#define HAL_KEY_F			33
+#define HAL_KEY_G			34
+#define HAL_KEY_H			35
+#define HAL_KEY_J			36
+#define HAL_KEY_K			37
+#define HAL_KEY_L			38
+#define HAL_KEY_SEMICOLON		39
+#define HAL_KEY_APOSTROPHE		40
+#define HAL_KEY_GRAVE		41
+#define HAL_KEY_LEFTSHIFT		42
+#define HAL_KEY_BACKSLASH		43
+#define HAL_KEY_Z			44
+#define HAL_KEY_X			45
+#define HAL_KEY_C			46
+#define HAL_KEY_V			47
+#define HAL_KEY_B			48
+#define HAL_KEY_N			49
+#define HAL_KEY_M			50
+#define HAL_KEY_COMMA		51
+#define HAL_KEY_DOT			52
+#define HAL_KEY_SLASH		53
+#define HAL_KEY_RIGHTSHIFT		54
+#define HAL_KEY_KPASTERISK		55
+#define HAL_KEY_LEFTALT		56
+#define HAL_KEY_SPACE		57
+#define HAL_KEY_CAPSLOCK		58
+#define HAL_KEY_F1			59
+#define HAL_KEY_F2			60
+#define HAL_KEY_F3			61
+#define HAL_KEY_F4			62
+#define HAL_KEY_F5			63
+#define HAL_KEY_F6			64
+#define HAL_KEY_F7			65
+#define HAL_KEY_F8			66
+#define HAL_KEY_F9			67
+#define HAL_KEY_F10			68
+#define HAL_KEY_NUMLOCK		69
+#define HAL_KEY_SCROLLLOCK		70
+#define HAL_KEY_KP7			71
+#define HAL_KEY_KP8			72
+#define HAL_KEY_KP9			73
+#define HAL_KEY_KPMINUS		74
+#define HAL_KEY_KP4			75
+#define HAL_KEY_KP5			76
+#define HAL_KEY_KP6			77
+#define HAL_KEY_KPPLUS		78
+#define HAL_KEY_KP1			79
+#define HAL_KEY_KP2			80
+#define HAL_KEY_KP3			81
+#define HAL_KEY_KP0			82
+#define HAL_KEY_KPDOT		83
+#define HAL_KEY_ZENKAKUHANKAKU	85
+#define HAL_KEY_102ND		86
+#define HAL_KEY_F11			87
+#define HAL_KEY_F12			88
+#define HAL_KEY_RO			89
+#define HAL_KEY_KATAKANA		90
+#define HAL_KEY_HIRAGANA		91
+#define HAL_KEY_HENKAN		92
+#define HAL_KEY_KATAKANAHIRAGANA	93
+#define HAL_KEY_MUHENKAN		94
+#define HAL_KEY_KPJPCOMMA		95
+#define HAL_KEY_KPENTER		96
+#define HAL_KEY_RIGHTCTRL		97
+#define HAL_KEY_KPSLASH		98
+#define HAL_KEY_SYSRQ		99
+#define HAL_KEY_RIGHTALT		100
+#define HAL_KEY_LINEFEED		101
+#define HAL_KEY_HOME		102
+#define HAL_KEY_UP			103
+#define HAL_KEY_PAGEUP		104
+#define HAL_KEY_LEFT		105
+#define HAL_KEY_RIGHT		106
+#define HAL_KEY_END			107
+#define HAL_KEY_DOWN		108
+#define HAL_KEY_PAGEDOWN		109
+#define HAL_KEY_INSERT		110
+#define HAL_KEY_DELETE		111
+#define HAL_KEY_MACRO		112
+#define HAL_KEY_MUTE		113
+#define HAL_KEY_VOLUMEDOWN		114
+#define HAL_KEY_VOLUMEUP		115
+#define HAL_KEY_POWER		116	/* SC System Power Down */
+#define HAL_KEY_KPEQUAL		117
+#define HAL_KEY_KPPLUSMINUS		118
+#define HAL_KEY_PAUSE		119
+#define HAL_KEY_KPCOMMA		121
+#define HAL_KEY_HANGEUL		122
+#define HAL_KEY_HANGUEL		HAL_KEY_HANGEUL
+#define HAL_KEY_HANJA		123
+#define HAL_KEY_YEN			124
+#define HAL_KEY_LEFTMETA		125
+#define HAL_KEY_RIGHTMETA		126
+#define HAL_KEY_COMPOSE		127
+#define HAL_KEY_STOP		128	/* AC Stop */
+#define HAL_KEY_AGAIN		129
+#define HAL_KEY_PROPS		130	/* AC Properties */
+#define HAL_KEY_UNDO		131	/* AC Undo */
+#define HAL_KEY_FRONT		132
+#define HAL_KEY_COPY		133	/* AC Copy */
+#define HAL_KEY_OPEN		134	/* AC Open */
+#define HAL_KEY_PASTE		135	/* AC Paste */
+#define HAL_KEY_FIND		136	/* AC Search */
+#define HAL_KEY_CUT			137	/* AC Cut */
+#define HAL_KEY_HELP		138	/* AL Integrated Help Center */
+#define HAL_KEY_MENU		139	/* Menu (show menu) */
+#define HAL_KEY_CALC		140	/* AL Calculator */
+#define HAL_KEY_SETUP		141
+#define HAL_KEY_SLEEP		142	/* SC System Sleep */
+#define HAL_KEY_WAKEUP		143	/* System Wake Up */
+#define HAL_KEY_FILE		144	/* AL Local Machine Browser */
+#define HAL_KEY_SENDFILE		145
+#define HAL_KEY_DELETEFILE		146
+#define HAL_KEY_XFER		147
+#define HAL_KEY_PROG1		148
+#define HAL_KEY_PROG2		149
+#define HAL_KEY_WWW			150	/* AL Internet Browser */
+#define HAL_KEY_MSDOS		151
+#define HAL_KEY_COFFEE		152	/* AL Terminal Lock/Screensaver */
+#define HAL_KEY_SCREENLOCK		HAL_KEY_COFFEE
+#define HAL_KEY_DIRECTION		153
+#define HAL_KEY_CYCLEWINDOWS	154
+#define HAL_KEY_MAIL		155
+#define HAL_KEY_BOOKMARKS		156	/* AC Bookmarks */
+#define HAL_KEY_COMPUTER		157
+#define HAL_KEY_BACK		158	/* AC Back */
+#define HAL_KEY_FORWARD		159	/* AC Forward */
+#define HAL_KEY_CLOSECD		160
+#define HAL_KEY_EJECTCD		161
+#define HAL_KEY_EJECTCLOSECD	162
+#define HAL_KEY_NEXTSONG		163
+#define HAL_KEY_PLAYPAUSE		164
+#define HAL_KEY_PREVIOUSSONG	165
+#define HAL_KEY_STOPCD		166
+#define HAL_KEY_RECORD		167
+#define HAL_KEY_REWIND		168
+#define HAL_KEY_PHONE		169	/* Media Select Telephone */
+#define HAL_KEY_ISO			170
+#define HAL_KEY_CONFIG		171	/* AL Consumer Control Configuration */
+#define HAL_KEY_HOMEPAGE		172	/* AC Home */
+#define HAL_KEY_REFRESH		173	/* AC Refresh */
+#define HAL_KEY_EXIT		174	/* AC Exit */
+#define HAL_KEY_MOVE		175
+#define HAL_KEY_EDIT		176
+#define HAL_KEY_SCROLLUP		177
+#define HAL_KEY_SCROLLDOWN		178
+#define HAL_KEY_KPLEFTPAREN		179
+#define HAL_KEY_KPRIGHTPAREN	180
+#define HAL_KEY_NEW			181	/* AC New */
+#define HAL_KEY_REDO		182	/* AC Redo/Repeat */
+#define HAL_KEY_F13			183
+#define HAL_KEY_F14			184
+#define HAL_KEY_F15			185
+#define HAL_KEY_F16			186
+#define HAL_KEY_F17			187
+#define HAL_KEY_F18			188
+#define HAL_KEY_F19			189
+#define HAL_KEY_F20			190
+#define HAL_KEY_F21			191
+#define HAL_KEY_F22			192
+#define HAL_KEY_F23			193
+#define HAL_KEY_F24			194
+#define HAL_KEY_PLAYCD		200
+#define HAL_KEY_PAUSECD		201
+#define HAL_KEY_PROG3		202
+#define HAL_KEY_PROG4		203
+#define HAL_KEY_SUSPEND		205
+#define HAL_KEY_CLOSE		206	/* AC Close */
+#define HAL_KEY_PLAY		207
+#define HAL_KEY_FASTFORWARD		208
+#define HAL_KEY_BASSBOOST		209
+#define HAL_KEY_PRINT		210	/* AC Print */
+#define HAL_KEY_HP			211
+#define HAL_KEY_CAMERA		212
+#define HAL_KEY_SOUND		213
+#define HAL_KEY_QUESTION		214
+#define HAL_KEY_EMAIL		215
+#define HAL_KEY_CHAT		216
+#define HAL_KEY_SEARCH		217
+#define HAL_KEY_CONNECT		218
+#define HAL_KEY_FINANCE		219	/* AL Checkbook/Finance */
+#define HAL_KEY_SPORT		220
+#define HAL_KEY_SHOP		221
+#define HAL_KEY_ALTERASE		222
+#define HAL_KEY_CANCEL		223	/* AC Cancel */
+#define HAL_KEY_BRIGHTNESSDOWN	224
+#define HAL_KEY_BRIGHTNESSUP	225
+#define HAL_KEY_MEDIA		226
+#define HAL_KEY_SWITCHVIDEOMODE	227	/* Cycle between available video modes */
+#define HAL_KEY_KBDILLUMTOGGLE	228
+#define HAL_KEY_KBDILLUMDOWN	229
+#define HAL_KEY_KBDILLUMUP		230
+#define HAL_KEY_SEND		231	/* AC Send */
+#define HAL_KEY_REPLY		232	/* AC Reply */
+#define HAL_KEY_FORWARDMAIL		233	/* AC Forward Msg */
+#define HAL_KEY_SAVE		234	/* AC Save */
+#define HAL_KEY_DOCUMENTS		235
+#define HAL_KEY_BATTERY		236
+#define HAL_KEY_BLUETOOTH		237
+#define HAL_KEY_WLAN		238
+#define HAL_KEY_UWB			239
+#define HAL_KEY_UNKNOWN		240
+#define HAL_KEY_VIDEO_NEXT		241	/* drive next video source */
+#define HAL_KEY_VIDEO_PREV		242	/* drive previous video source */
+#define HAL_KEY_BRIGHTNESS_CYCLE	243	/* brightness up, after max is min */
+#define HAL_KEY_BRIGHTNESS_ZERO	244	/* brightness off, use ambient */
+#define HAL_KEY_DISPLAY_OFF		245	/* display device to off state */
+#define HAL_KEY_WIMAX		246
+#define HAL_KEY_OK			0x160
+#define HAL_KEY_SELECT		0x161
+#define HAL_KEY_GOTO		0x162
+#define HAL_KEY_CLEAR		0x163
+#define HAL_KEY_POWER2		0x164
+#define HAL_KEY_OPTION		0x165
+#define HAL_KEY_INFO		0x166	/* AL OEM Features/Tips/Tutorial */
+#define HAL_KEY_TIME		0x167
+#define HAL_KEY_VENDOR		0x168
+#define HAL_KEY_ARCHIVE		0x169
+#define HAL_KEY_PROGRAM		0x16a	/* Media Select Program Guide */
+#define HAL_KEY_CHANNEL		0x16b
+#define HAL_KEY_FAVORITES		0x16c
+#define HAL_KEY_EPG			0x16d
+#define HAL_KEY_PVR			0x16e	/* Media Select Home */
+#define HAL_KEY_MHP			0x16f
+#define HAL_KEY_LANGUAGE		0x170
+#define HAL_KEY_TITLE		0x171
+#define HAL_KEY_SUBTITLE		0x172
+#define HAL_KEY_ANGLE		0x173
+#define HAL_KEY_ZOOM		0x174
+#define HAL_KEY_MODE		0x175
+#define HAL_KEY_KEYBOARD		0x176
+#define HAL_KEY_SCREEN		0x177
+#define HAL_KEY_PC			0x178	/* Media Select Computer */
+#define HAL_KEY_TV			0x179	/* Media Select TV */
+#define HAL_KEY_TV2			0x17a	/* Media Select Cable */
+#define HAL_KEY_VCR			0x17b	/* Media Select VCR */
+#define HAL_KEY_VCR2		0x17c	/* VCR Plus */
+#define HAL_KEY_SAT			0x17d	/* Media Select Satellite */
+#define HAL_KEY_SAT2		0x17e
+#define HAL_KEY_CD			0x17f	/* Media Select CD */
+#define HAL_KEY_TAPE		0x180	/* Media Select Tape */
+#define HAL_KEY_RADIO		0x181
+#define HAL_KEY_TUNER		0x182	/* Media Select Tuner */
+#define HAL_KEY_PLAYER		0x183
+#define HAL_KEY_TEXT		0x184
+#define HAL_KEY_DVD			0x185	/* Media Select DVD */
+#define HAL_KEY_AUX			0x186
+#define HAL_KEY_MP3			0x187
+#define HAL_KEY_AUDIO		0x188
+#define HAL_KEY_VIDEO		0x189
+#define HAL_KEY_DIRECTORY		0x18a
+#define HAL_KEY_LIST		0x18b
+#define HAL_KEY_MEMO		0x18c	/* Media Select Messages */
+#define HAL_KEY_CALENDAR		0x18d
+#define HAL_KEY_RED			0x18e
+#define HAL_KEY_GREEN		0x18f
+#define HAL_KEY_YELLOW		0x190
+#define HAL_KEY_BLUE		0x191
+#define HAL_KEY_CHANNELUP		0x192	/* Channel Increment */
+#define HAL_KEY_CHANNELDOWN		0x193	/* Channel Decrement */
+#define HAL_KEY_FIRST		0x194
+#define HAL_KEY_LAST		0x195	/* Recall Last */
+#define HAL_KEY_AB			0x196
+#define HAL_KEY_NEXT		0x197
+#define HAL_KEY_RESTART		0x198
+#define HAL_KEY_SLOW		0x199
+#define HAL_KEY_SHUFFLE		0x19a
+#define HAL_KEY_BREAK		0x19b
+#define HAL_KEY_PREVIOUS		0x19c
+#define HAL_KEY_DIGITS		0x19d
+#define HAL_KEY_TEEN		0x19e
+#define HAL_KEY_TWEN		0x19f
+#define HAL_KEY_VIDEOPHONE		0x1a0	/* Media Select Video Phone */
+#define HAL_KEY_GAMES		0x1a1	/* Media Select Games */
+#define HAL_KEY_ZOOMIN		0x1a2	/* AC Zoom In */
+#define HAL_KEY_ZOOMOUT		0x1a3	/* AC Zoom Out */
+#define HAL_KEY_ZOOMRESET		0x1a4	/* AC Zoom */
+#define HAL_KEY_WORDPROCESSOR	0x1a5	/* AL Word Processor */
+#define HAL_KEY_EDITOR		0x1a6	/* AL Text Editor */
+#define HAL_KEY_SPREADSHEET		0x1a7	/* AL Spreadsheet */
+#define HAL_KEY_GRAPHICSEDITOR	0x1a8	/* AL Graphics Editor */
+#define HAL_KEY_PRESENTATION	0x1a9	/* AL Presentation App */
+#define HAL_KEY_DATABASE		0x1aa	/* AL Database App */
+#define HAL_KEY_NEWS		0x1ab	/* AL Newsreader */
+#define HAL_KEY_VOICEMAIL		0x1ac	/* AL Voicemail */
+#define HAL_KEY_ADDRESSBOOK		0x1ad	/* AL Contacts/Address Book */
+#define HAL_KEY_MESSENGER		0x1ae	/* AL Instant Messaging */
+#define HAL_KEY_DISPLAYTOGGLE	0x1af	/* Turn display (LCD) on and off */
+#define HAL_KEY_SPELLCHECK		0x1b0   /* AL Spell Check */
+#define HAL_KEY_LOGOFF		0x1b1   /* AL Logoff */
+#define HAL_KEY_DOLLAR		0x1b2
+#define HAL_KEY_EURO		0x1b3
+#define HAL_KEY_FRAMEBACK		0x1b4	/* Consumer - transport controls */
+#define HAL_KEY_FRAMEFORWARD	0x1b5
+#define HAL_KEY_CONTEXT_MENU	0x1b6	/* GenDesc - system context menu */
+#define HAL_KEY_MEDIA_REPEAT	0x1b7	/* Consumer - transport control */
+#define HAL_KEY_DEL_EOL		0x1c0
+#define HAL_KEY_DEL_EOS		0x1c1
+#define HAL_KEY_INS_LINE		0x1c2
+#define HAL_KEY_DEL_LINE		0x1c3
+#define HAL_KEY_FN			0x1d0
+#define HAL_KEY_FN_ESC		0x1d1
+#define HAL_KEY_FN_F1		0x1d2
+#define HAL_KEY_FN_F2		0x1d3
+#define HAL_KEY_FN_F3		0x1d4
+#define HAL_KEY_FN_F4		0x1d5
+#define HAL_KEY_FN_F5		0x1d6
+#define HAL_KEY_FN_F6		0x1d7
+#define HAL_KEY_FN_F7		0x1d8
+#define HAL_KEY_FN_F8		0x1d9
+#define HAL_KEY_FN_F9		0x1da
+#define HAL_KEY_FN_F10		0x1db
+#define HAL_KEY_FN_F11		0x1dc
+#define HAL_KEY_FN_F12		0x1dd
+#define HAL_KEY_FN_1		0x1de
+#define HAL_KEY_FN_2		0x1df
+#define HAL_KEY_FN_D		0x1e0
+#define HAL_KEY_FN_E		0x1e1
+#define HAL_KEY_FN_F		0x1e2
+#define HAL_KEY_FN_S		0x1e3
+#define HAL_KEY_FN_B		0x1e4
+#define HAL_KEY_BRL_DOT1		0x1f1
+#define HAL_KEY_BRL_DOT2		0x1f2
+#define HAL_KEY_BRL_DOT3		0x1f3
+#define HAL_KEY_BRL_DOT4		0x1f4
+#define HAL_KEY_BRL_DOT5		0x1f5
+#define HAL_KEY_BRL_DOT6		0x1f6
+#define HAL_KEY_BRL_DOT7		0x1f7
+#define HAL_KEY_BRL_DOT8		0x1f8
+#define HAL_KEY_BRL_DOT9		0x1f9
+#define HAL_KEY_BRL_DOT10		0x1fa
+#define HAL_KEY_MIN_INTERESTING	HAL_KEY_MUTE
+#define HAL_KEY_MAX			0x1ff
+#define HAL_KEY_CNT			(HAL_KEY_MAX+1)



More information about the hal mailing list