diff options
author | Michael Brown <mcb30@ipxe.org> | 2022-02-16 15:19:35 +0000 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2022-02-16 15:31:47 +0000 |
commit | bc5c612f756b11c08e5e1eaeee3c1fd91252534d (patch) | |
tree | 5068ece4582bf3f2da30bfb35f42ab53984df155 /src/hci/keymap/keymap_no.c | |
parent | 304333dace992ea4b876a074c42bb7fd752137ca (diff) | |
download | ipxe-bc5c612f756b11c08e5e1eaeee3c1fd91252534d.tar.gz |
[console] Include mappings for AltGr-Shift-<key>
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-<key> to be interpreted in the
same way as AltGr-<key>.
For keyboard layouts that have different ASCII characters for
AltGr-<key> and AltGr-Shift-<key>, this will potentially leave the
character for AltGr-<key> 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-<key> and
punctuation characters via AltGr-Shift-<key>), 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 <mcb30@ipxe.org>
Diffstat (limited to 'src/hci/keymap/keymap_no.c')
-rw-r--r-- | src/hci/keymap/keymap_no.c | 6 |
1 files changed, 6 insertions, 0 deletions
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 } }; |