mirror of
https://github.com/ipxe/ipxe
synced 2025-12-13 23:41:45 +03:00
The key with scancode 86 appears in the position between left shift and Z on a US keyboard, where it typically fails to exist entirely. Most US keyboard maps define this nonexistent key as generating "\|", with the notable exception of "loadkeys" which instead reports it as generating "<>". Both of these mapping choices duplicate keys that exist elsewhere in the map, which causes problems for our ASCII-based remapping mechanism. Work around these quirks by treating the key as generating "\|" with the high bit set, and making it subject to remapping. Where the BIOS generates "\|" as expected, this allows us to remap to the correct ASCII value. Signed-off-by: Michael Brown <mcb30@ipxe.org>
36 lines
936 B
C
36 lines
936 B
C
/** @file
|
|
*
|
|
* "it" keyboard mapping
|
|
*
|
|
* This file is automatically generated; do not edit
|
|
*
|
|
*/
|
|
|
|
FILE_LICENCE ( PUBLIC_DOMAIN );
|
|
|
|
#include <ipxe/keymap.h>
|
|
|
|
/** "it" keyboard mapping */
|
|
struct key_mapping it_mapping[] __keymap = {
|
|
{ 0x1e, 0x36 }, /* 0x1e => '6' */
|
|
{ 0x26, 0x2f }, /* '&' => '/' */
|
|
{ 0x28, 0x29 }, /* '(' => ')' */
|
|
{ 0x29, 0x3d }, /* ')' => '=' */
|
|
{ 0x2a, 0x28 }, /* '*' => '(' */
|
|
{ 0x2b, 0x5e }, /* '+' => '^' */
|
|
{ 0x2d, 0x27 }, /* '-' => '\'' */
|
|
{ 0x2f, 0x2d }, /* '/' => '-' */
|
|
{ 0x3c, 0x3b }, /* '<' => ';' */
|
|
{ 0x3e, 0x3a }, /* '>' => ':' */
|
|
{ 0x3f, 0x5f }, /* '?' => '_' */
|
|
{ 0x40, 0x22 }, /* '@' => '"' */
|
|
{ 0x5d, 0x2b }, /* ']' => '+' */
|
|
{ 0x5e, 0x26 }, /* '^' => '&' */
|
|
{ 0x5f, 0x3f }, /* '_' => '?' */
|
|
{ 0x60, 0x5c }, /* '`' => '\\' */
|
|
{ 0x7d, 0x2a }, /* '}' => '*' */
|
|
{ 0x7e, 0x7c }, /* '~' => '|' */
|
|
{ 0xdc, 0x3c }, /* Pseudo-'\\' => '<' */
|
|
{ 0xfc, 0x3e }, /* Pseudo-'|' => '>' */
|
|
};
|