From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1ZDzVs-0007cc-Hc for mharc-grub-devel@gnu.org; Sat, 11 Jul 2015 14:28:36 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36303) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZDzVp-0007c8-Dx for grub-devel@gnu.org; Sat, 11 Jul 2015 14:28:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZDzVm-0008DB-74 for grub-devel@gnu.org; Sat, 11 Jul 2015 14:28:33 -0400 Received: from mail-wi0-x236.google.com ([2a00:1450:400c:c05::236]:33742) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZDzVl-0008Cj-Vo for grub-devel@gnu.org; Sat, 11 Jul 2015 14:28:30 -0400 Received: by wiwl6 with SMTP id l6so70504548wiw.0 for ; Sat, 11 Jul 2015 11:28:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id; bh=lLIRnJUJnKot/Qmo0C8Cs/GNyep/AmnfNNmNSSHr/ZI=; b=bGuitpNM/VG2cheYa6x1hQqebrzljoTn6v/LWOIcbkrdK482Ot4P+jzHrF06afEDTz g6dAiA9AoPyPMFiBY7fwzpdmMVDASZCsWocwdqLneCWiaBKSgY9pzvtfyAJT8KOFYm4U 2cmOP0unP8YC0QMMPkvAw0CGWPBBC8Ak3OJjTKb74zSgB4VbEmZhDzYpNjiqdwzUBgno dDN7gtwJvJtTtXxtCVaCupSdKc24n2dqR3mxoht3pwMNKDrpsgcjDzcR8w7kdJNIVy+f 3Vt79s5gOr7NWYQGw1/wvso7C59LGU0+TSd0OfIRzF0RBsCDC61vSCDUGtVXTsSz8O/R 2TeQ== X-Received: by 10.180.11.68 with SMTP id o4mr8740072wib.10.1436639307969; Sat, 11 Jul 2015 11:28:27 -0700 (PDT) Received: from w970suw1.lan ([91.176.149.207]) by smtp.gmail.com with ESMTPSA id lq9sm19152863wjb.35.2015.07.11.11.28.27 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 11 Jul 2015 11:28:27 -0700 (PDT) From: Luc Van Rompaey To: The development of GNU GRUB Subject: [PATCH 0/4] Implement the 'setkey' command to allow changing the keyboard map Date: Sat, 11 Jul 2015 20:28:20 +0200 Message-Id: <1436639304-5365-1-git-send-email-luc.vanrompaey@gmail.com> X-Mailer: git-send-email 2.1.4 X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:400c:c05::236 X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Jul 2015 18:28:34 -0000 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