mirror of
https://github.com/ipxe/ipxe
synced 2025-12-23 05:21:49 +03:00
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>
63 lines
1.6 KiB
C
63 lines
1.6 KiB
C
/** @file
|
|
*
|
|
* "pt" keyboard mapping
|
|
*
|
|
* This file is automatically generated; do not edit
|
|
*
|
|
*/
|
|
|
|
FILE_LICENCE ( PUBLIC_DOMAIN );
|
|
|
|
#include <ipxe/keymap.h>
|
|
|
|
/** "pt" basic remapping */
|
|
static struct keymap_key pt_basic[] = {
|
|
{ 0x1c, 0x7e }, /* 0x1c => '~' */
|
|
{ 0x1e, 0x36 }, /* 0x1e => '6' */
|
|
{ 0x26, 0x2f }, /* '&' => '/' */
|
|
{ 0x28, 0x29 }, /* '(' => ')' */
|
|
{ 0x29, 0x3d }, /* ')' => '=' */
|
|
{ 0x2a, 0x28 }, /* '*' => '(' */
|
|
{ 0x2d, 0x27 }, /* '-' => '\'' */
|
|
{ 0x2f, 0x2d }, /* '/' => '-' */
|
|
{ 0x3c, 0x3b }, /* '<' => ';' */
|
|
{ 0x3e, 0x3a }, /* '>' => ':' */
|
|
{ 0x3f, 0x5f }, /* '?' => '_' */
|
|
{ 0x40, 0x22 }, /* '@' => '"' */
|
|
{ 0x5b, 0x2b }, /* '[' => '+' */
|
|
{ 0x5c, 0x7e }, /* '\\' => '~' */
|
|
{ 0x5e, 0x26 }, /* '^' => '&' */
|
|
{ 0x5f, 0x3f }, /* '_' => '?' */
|
|
{ 0x60, 0x5c }, /* '`' => '\\' */
|
|
{ 0x7b, 0x2a }, /* '{' => '*' */
|
|
{ 0x7c, 0x5e }, /* '|' => '^' */
|
|
{ 0x7d, 0x60 }, /* '}' => '`' */
|
|
{ 0x7e, 0x7c }, /* '~' => '|' */
|
|
{ 0xdc, 0x3c }, /* Pseudo-'\\' => '<' */
|
|
{ 0xfc, 0x3e }, /* Pseudo-'|' => '>' */
|
|
{ 0, 0 }
|
|
};
|
|
|
|
/** "pt" AltGr remapping */
|
|
static struct keymap_key pt_altgr[] = {
|
|
{ 0x26, 0x7b }, /* '&' => '{' */
|
|
{ 0x28, 0x5d }, /* '(' => ']' */
|
|
{ 0x29, 0x7d }, /* ')' => '}' */
|
|
{ 0x2a, 0x5b }, /* '*' => '[' */
|
|
{ 0x30, 0x7d }, /* '0' => '}' */
|
|
{ 0x32, 0x40 }, /* '2' => '@' */
|
|
{ 0x37, 0x7b }, /* '7' => '{' */
|
|
{ 0x38, 0x5b }, /* '8' => '[' */
|
|
{ 0x39, 0x5d }, /* '9' => ']' */
|
|
{ 0x51, 0x40 }, /* 'Q' => '@' */
|
|
{ 0x71, 0x40 }, /* 'q' => '@' */
|
|
{ 0, 0 }
|
|
};
|
|
|
|
/** "pt" keyboard map */
|
|
struct keymap pt_keymap __keymap = {
|
|
.name = "pt",
|
|
.basic = pt_basic,
|
|
.altgr = pt_altgr,
|
|
};
|