|
From: | Luc Van Rompaey |
Subject: | Re: [PATCH 0/4] Implement the 'setkey' command to allow changing the keyboard map |
Date: | Sun, 12 Jul 2015 14:25:54 +0200 |
В Sat, 11 Jul 2015 20:28:20 +0200
Luc Van Rompaey <address@hidden> пишет:
> 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.
>
Do you have some more data? Fixing it would be preferable.
> 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.
>
GRUB2 already has framework for custom keyboard layouts. Why not reuse
grub_term_map_key() from keylayouts same as at_keyboard and
usb_keyboard do? Map scan code to GRUB_KEYBOARD_* and let
grub_term_map_key() to care about keyboard mapping. This has additional
advantage of supporting localized keyboard tables (your approach does
not, it only changes ASCII layouts).
> 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.
>
You already sent this one, it hardly belongs to this patch series.
> 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.
>
Why NumLock is not sufficient?
> The third patch implements the 'nuconsole' input terminal, which works in
> conjunction with the 'nusetkey' module to support keyboard map changes.
>
Making them two different modules in your case is pointless; nuconsole
cannot work without nusetkey and nusetkey is used only by nuconsole.
Also, something like ext_keyboard would probably be more appropriate.
> 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
>
[Prev in Thread] | Current Thread | [Next in Thread] |