support for Fn keys

This commit is contained in:
Vladimir 'phcoder' Serbinenko 2010-08-19 01:07:50 +02:00
parent 2cccf4b0c4
commit 7a6459e12d
11 changed files with 123 additions and 185 deletions

View file

@ -51,4 +51,28 @@
#define OLPC_RIGHT '\0'
#endif
#define GRUB_AT_KEY_KEYBOARD_MAP(name) \
static const int name[128] = \
{ \
'\0', GRUB_TERM_ESC, '1', '2', '3', '4', '5', '6', \
'7', '8', '9', '0', '-', '=', GRUB_TERM_BACKSPACE, GRUB_TERM_TAB, \
'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', \
'o', 'p', '[', ']', '\n', '\0', 'a', 's', \
'd', 'f', 'g', 'h', 'j', 'k', 'l', ';', \
'\'', '`', '\0', '\\', 'z', 'x', 'c', 'v', \
'b', 'n', 'm', ',', '.', '/', '\0', '*', \
'\0', ' ', '\0', GRUB_TERM_KEY_F1, \
GRUB_TERM_KEY_F2, GRUB_TERM_KEY_F3, GRUB_TERM_KEY_F4, GRUB_TERM_KEY_F5, \
GRUB_TERM_KEY_F6, GRUB_TERM_KEY_F7, GRUB_TERM_KEY_F8, GRUB_TERM_KEY_F9, \
GRUB_TERM_KEY_F10, '\0', '\0', GRUB_TERM_KEY_HOME, \
GRUB_TERM_KEY_UP, GRUB_TERM_KEY_NPAGE, '-', GRUB_TERM_KEY_LEFT, \
'\0', GRUB_TERM_KEY_RIGHT, '+', GRUB_TERM_KEY_END, \
GRUB_TERM_KEY_DOWN, GRUB_TERM_KEY_PPAGE, \
GRUB_TERM_KEY_INSERT, GRUB_TERM_KEY_DC, \
'\0', '\0', GRUB_TERM_KEY_102, GRUB_TERM_KEY_F11, \
GRUB_TERM_KEY_F12, '\0', '\0', '\0', '\0', '\0', '\0', '\0', \
'\0', '\0', '\0', '\0', '\0', OLPC_UP, OLPC_DOWN, OLPC_LEFT, \
OLPC_RIGHT \
}
#endif

View file

@ -38,10 +38,23 @@
#define GRUB_TERM_KEY_DC (GRUB_TERM_EXTENDED | 7)
#define GRUB_TERM_KEY_PPAGE (GRUB_TERM_EXTENDED | 8)
#define GRUB_TERM_KEY_NPAGE (GRUB_TERM_EXTENDED | 9)
#define GRUB_TERM_KEY_F1 (GRUB_TERM_EXTENDED | 10)
#define GRUB_TERM_KEY_F2 (GRUB_TERM_EXTENDED | 11)
#define GRUB_TERM_KEY_F3 (GRUB_TERM_EXTENDED | 12)
#define GRUB_TERM_KEY_F4 (GRUB_TERM_EXTENDED | 13)
#define GRUB_TERM_KEY_F5 (GRUB_TERM_EXTENDED | 14)
#define GRUB_TERM_KEY_F6 (GRUB_TERM_EXTENDED | 15)
#define GRUB_TERM_KEY_F7 (GRUB_TERM_EXTENDED | 16)
#define GRUB_TERM_KEY_F8 (GRUB_TERM_EXTENDED | 17)
#define GRUB_TERM_KEY_F9 (GRUB_TERM_EXTENDED | 18)
#define GRUB_TERM_KEY_F10 (GRUB_TERM_EXTENDED | 19)
#define GRUB_TERM_KEY_F11 (GRUB_TERM_EXTENDED | 20)
#define GRUB_TERM_KEY_F12 (GRUB_TERM_EXTENDED | 21)
#define GRUB_TERM_KEY_INSERT (GRUB_TERM_EXTENDED | 22)
/* Used by keylayouts code. Never returned in grub_getkey. */
#define GRUB_TERM_KEY_102 (GRUB_TERM_EXTENDED | 10)
#define GRUB_TERM_KEY_SHIFT_102 (GRUB_TERM_EXTENDED | 11)
#define GRUB_TERM_KEY_102 (GRUB_TERM_EXTENDED | 23)
#define GRUB_TERM_KEY_SHIFT_102 (GRUB_TERM_EXTENDED | 24)
#define GRUB_TERM_ESC '\e'
#define GRUB_TERM_TAB '\t'