Legacy GRUB had a 'setkey' command to remap the keyboard keys. GRUB2 no longer has this command. Instead, it provides an 'at_keyboard' input terminal module, which can load a GRUB keymap. Unfortunately, at least on the i386-pc platform, 'at_keyboard' is problematic, in that it easily causes hangups.
For now, I'm unsure what needs to be done to fix 'at_keyboard', which is why I decided to look for a different solution. Whether I can fix the 'at_keyboard' input terminal, and in what time frame, remains to be seen. This patch set reintroduces a 'setkey' command, to support changing the keyboard map, similarly to what was possible under Legacy GRUB. The first patch just makes a simple edit to a comment line in the 'memory.h' header file. It updates the URL for the 'bios_data_area.html' web page, which contains helpful information about BIOS, and specifically, the keyboard interface. The second patch implements the 'nusetkey' module, which provides the 'setkey' command. In addition, it provides a 'setnumpad' command, to change the behavior of the numeric keypad. The third patch implements the 'nuconsole' input terminal, which works in conjunction with the 'nusetkey' module to support keyboard map changes. Finally, the fourth patch provides updates to the GRUB manual. It documents the 'keymap' command (which loads a keyboard map for use by the 'at_keyboard' or 'usb_keyboard' input terminals), plus the 'setkey' and 'setnumpad' commands implemented by the 'nusetkey' module. Luc Van Rompaey (4): update URL to bios_data_area.html on comment line implement the nusetkey module implement the nuconsole input terminal add documentation for keymap, setkey, and setnumpad commands docs/grub.texi | 150 +++++++++ grub-core/Makefile.core.def | 12 + grub-core/commands/i386/pc/nusetkey.c | 583 ++++++++++++++++++++++++++++++++++ grub-core/term/i386/pc/nuconsole.c | 111 +++++++ include/grub/i386/pc/memory.h | 2 +- include/grub/i386/pc/nusetkey.h | 25 ++ 6 files changed, 882 insertions(+), 1 deletion(-) create mode 100644 grub-core/commands/i386/pc/nusetkey.c create mode 100644 grub-core/term/i386/pc/nuconsole.c create mode 100644 include/grub/i386/pc/nusetkey.h -- 2.1.4 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel