From bc5c612f756b11c08e5e1eaeee3c1fd91252534d Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Wed, 16 Feb 2022 15:19:35 +0000 Subject: [console] Include mappings for AltGr-Shift- The BIOS console's interpretation of LShift+RShift as equivalent to AltGr requires the shifted ASCII characters to be present in the AltGr mapping table, to allow AltGr-Shift- to be interpreted in the same way as AltGr-. For keyboard layouts that have different ASCII characters for AltGr- and AltGr-Shift-, this will potentially leave the character for AltGr- inaccessible via the BIOS console if the BIOS requires the use of the LShift+RShift workaround. This theoretically affects the numeric keys in the Lithuanian ("lt") keyboard layout (where the numerals are accessed via AltGr- and punctuation characters via AltGr-Shift-), but the simple workaround for that keyboard layout is to avoid using AltGr and Shift entirely since the unmodified numeric keys are not remapped anyway. Signed-off-by: Michael Brown --- src/hci/keymap/keymap_no.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/hci/keymap/keymap_no.c') diff --git a/src/hci/keymap/keymap_no.c b/src/hci/keymap/keymap_no.c index 239e3aea5..0a624c3ab 100644 --- a/src/hci/keymap/keymap_no.c +++ b/src/hci/keymap/keymap_no.c @@ -39,6 +39,10 @@ static struct keymap_key no_basic[] = { /** "no" AltGr remapping */ static struct keymap_key no_altgr[] = { + { 0x26, 0x7b }, /* '&' => '{' */ + { 0x28, 0x5d }, /* '(' => ']' */ + { 0x29, 0x7d }, /* ')' => '}' */ + { 0x2a, 0x5b }, /* '*' => '[' */ { 0x30, 0x7d }, /* '0' => '}' */ { 0x32, 0x40 }, /* '2' => '@' */ { 0x34, 0x24 }, /* '4' => '$' */ @@ -46,9 +50,11 @@ static struct keymap_key no_altgr[] = { { 0x38, 0x5b }, /* '8' => '[' */ { 0x39, 0x5d }, /* '9' => ']' */ { 0x3a, 0x7e }, /* ':' => '~' */ + { 0x51, 0x40 }, /* 'Q' => '@' */ { 0x5c, 0x7e }, /* '\\' => '~' */ { 0x5d, 0x7e }, /* ']' => '~' */ { 0x71, 0x40 }, /* 'q' => '@' */ + { 0x7c, 0x7e }, /* '|' => '~' */ { 0, 0 } }; -- cgit