[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 0/4] Implement the 'setkey' command to allow changing the key

From: Andrei Borzenkov
Subject: Re: [PATCH 0/4] Implement the 'setkey' command to allow changing the keyboard map
Date: Sun, 12 Jul 2015 13:03:30 +0300

В 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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]