/** @file
 *
 * "no-latin1" keyboard mapping
 *
 * This file is automatically generated; do not edit
 *
 */

FILE_LICENCE ( PUBLIC_DOMAIN );

#include <ipxe/keymap.h>

/** "no-latin1" keyboard mapping */
struct key_mapping no_latin1_mapping[] __keymap = {
	{ 0x26, 0x2f },	/* '&' => '/' */
	{ 0x28, 0x29 },	/* '(' => ')' */
	{ 0x29, 0x3d },	/* ')' => '=' */
	{ 0x2a, 0x28 },	/* '*' => '(' */
	{ 0x2b, 0x60 },	/* '+' => '`' */
	{ 0x2d, 0x2b },	/* '-' => '+' */
	{ 0x2f, 0x2d },	/* '/' => '-' */
	{ 0x3c, 0x3b },	/* '<' => ';' */
	{ 0x3d, 0x5c },	/* '=' => '\\' */
	{ 0x3e, 0x3a },	/* '>' => ':' */
	{ 0x3f, 0x5f },	/* '?' => '_' */
	{ 0x40, 0x22 },	/* '@' => '"' */
	{ 0x5c, 0x27 },	/* '\\' => '\'' */
	{ 0x5d, 0x7e },	/* ']' => '~' */
	{ 0x5e, 0x26 },	/* '^' => '&' */
	{ 0x5f, 0x3f },	/* '_' => '?' */
	{ 0x60, 0x7c },	/* '`' => '|' */
	{ 0x7c, 0x2a },	/* '|' => '*' */
	{ 0x7d, 0x5e },	/* '}' => '^' */
};
