Hook AT keyboard mapping

This commit is contained in:
Vladimir 'phcoder' Serbinenko committed 2010-08-19 15:00:31 +02:00
1 parent ed19677fe3
commit e55e09628d
9 files changed
+290 -173

No files matched your search

+13 -17
View File
@@ -21,28 +21,24 @@
#define GRUB_KEYBOARD_LAYOUTS_FILEMAGIC "GRUBLAYO"
#define GRUB_KEYBOARD_LAYOUTS_FILEMAGIC_SIZE (sizeof(GRUB_KEYBOARD_LAYOUTS_FILEMAGIC) - 1)
#define GRUB_KEYBOARD_LAYOUTS_VERSION 4
#define GRUB_KEYBOARD_LAYOUTS_VERSION 5
#define GRUB_KEYBOARD_LAYOUTS_ARRAY_SIZE 128
struct grub_keyboard_layout
struct grub_keyboard_layout_kbd
{
struct
{
grub_uint32_t keyboard_map[GRUB_KEYBOARD_LAYOUTS_ARRAY_SIZE];
grub_uint32_t keyboard_map_shift[GRUB_KEYBOARD_LAYOUTS_ARRAY_SIZE];
grub_uint32_t keyboard_map_l3[GRUB_KEYBOARD_LAYOUTS_ARRAY_SIZE];
grub_uint32_t keyboard_map_shift_l3[GRUB_KEYBOARD_LAYOUTS_ARRAY_SIZE];
} at;
struct
{
grub_uint32_t keyboard_map[GRUB_KEYBOARD_LAYOUTS_ARRAY_SIZE];
grub_uint32_t keyboard_map_shift[GRUB_KEYBOARD_LAYOUTS_ARRAY_SIZE];
grub_uint32_t keyboard_map_l3[GRUB_KEYBOARD_LAYOUTS_ARRAY_SIZE];
grub_uint32_t keyboard_map_shift_l3[GRUB_KEYBOARD_LAYOUTS_ARRAY_SIZE];
} usb;
grub_uint32_t keyboard_map[GRUB_KEYBOARD_LAYOUTS_ARRAY_SIZE];
grub_uint32_t keyboard_map_shift[GRUB_KEYBOARD_LAYOUTS_ARRAY_SIZE];
grub_uint32_t keyboard_map_l3[GRUB_KEYBOARD_LAYOUTS_ARRAY_SIZE];
grub_uint32_t keyboard_map_shift_l3[GRUB_KEYBOARD_LAYOUTS_ARRAY_SIZE];
};
struct grub_keyboard_layout *EXPORT_VAR (grub_current_layout);
struct grub_keyboard_layout
{
struct grub_keyboard_layout_kbd at;
struct grub_keyboard_layout_kbd usb;
};
unsigned grub_term_map_key (int code, int status);
#endif /* GRUB_KEYBOARD_LAYOUTS */
+9 -3
View File
@@ -110,9 +110,15 @@ grub_term_color_state;
/* Bitmasks for modifier keys returned by grub_getkeystatus. */
#define GRUB_TERM_STATUS_SHIFT (1 << 0)
#define GRUB_TERM_STATUS_CTRL (1 << 1)
#define GRUB_TERM_STATUS_ALT (1 << 2)
#define GRUB_TERM_STATUS_RSHIFT (1 << 0)
#define GRUB_TERM_STATUS_LSHIFT (1 << 1)
#define GRUB_TERM_STATUS_RCTRL (1 << 2)
#define GRUB_TERM_STATUS_RALT (1 << 3)
#define GRUB_TERM_STATUS_SCROLL (1 << 4)
#define GRUB_TERM_STATUS_NUM (1 << 5)
#define GRUB_TERM_STATUS_CAPS (1 << 6)
#define GRUB_TERM_STATUS_LCTRL (1 << 8)
#define GRUB_TERM_STATUS_LALT (1 << 9)
/* Menu-related geometrical constants. */