aboutsummaryrefslogtreecommitdiff
path: root/src/hci/keymap/keymap_mt.c
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2022-02-14 13:45:59 +0000
committerMichael Brown <mcb30@ipxe.org>2022-02-15 12:50:26 +0000
commite1cedbc0d4fdb0e16818f6b722f4873a50780761 (patch)
tree498de03ad0d5157c73479274569ea992cb47101c /src/hci/keymap/keymap_mt.c
parentf2a59d5973da2041f93264609698b9b3f4ec101b (diff)
downloadipxe-e1cedbc0d4fdb0e16818f6b722f4873a50780761.zip
ipxe-e1cedbc0d4fdb0e16818f6b722f4873a50780761.tar.gz
ipxe-e1cedbc0d4fdb0e16818f6b722f4873a50780761.tar.bz2
[console] Support AltGr to access ASCII characters via remapping
Several keyboard layouts define ASCII characters as accessible only via the AltGr modifier. Add support for this modifier to ensure that all ASCII characters are accessible. Experiments suggest that the BIOS console is likely to fail to generate ASCII characters when the AltGr key is pressed. Work around this limitation by accepting LShift+RShift (which will definitely produce an ASCII character) as a synonym for AltGr. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/hci/keymap/keymap_mt.c')
-rw-r--r--src/hci/keymap/keymap_mt.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/hci/keymap/keymap_mt.c b/src/hci/keymap/keymap_mt.c
index ebff850..f5baf69 100644
--- a/src/hci/keymap/keymap_mt.c
+++ b/src/hci/keymap/keymap_mt.c
@@ -20,8 +20,15 @@ static struct keymap_key mt_basic[] = {
{ 0, 0 }
};
+/** "mt" AltGr remapping */
+static struct keymap_key mt_altgr[] = {
+ { 0x2d, 0x5c }, /* '-' => '\\' */
+ { 0, 0 }
+};
+
/** "mt" keyboard map */
struct keymap mt_keymap __keymap = {
.name = "mt",
.basic = mt_basic,
+ .altgr = mt_altgr,
};