/** @file
 *
 * "hu" keyboard mapping
 *
 * This file is automatically generated; do not edit
 *
 */

FILE_LICENCE ( PUBLIC_DOMAIN );

#include <ipxe/keymap.h>

/** "hu" keyboard mapping */
struct key_mapping hu_mapping[] __keymap = {
	{ 0x19, 0x1a },	/* Ctrl-Y => Ctrl-Z */
	{ 0x1a, 0x19 },	/* Ctrl-Z => Ctrl-Y */
	{ 0x21, 0x27 },	/* '!' => '\'' */
	{ 0x23, 0x2b },	/* '#' => '+' */
	{ 0x24, 0x21 },	/* '$' => '!' */
	{ 0x26, 0x3d },	/* '&' => '=' */
	{ 0x28, 0x29 },	/* '(' => ')' */
	{ 0x2a, 0x28 },	/* '*' => '(' */
	{ 0x2f, 0x2d },	/* '/' => '-' */
	{ 0x3c, 0x3f },	/* '<' => '?' */
	{ 0x3e, 0x3a },	/* '>' => ':' */
	{ 0x3f, 0x5f },	/* '?' => '_' */
	{ 0x40, 0x22 },	/* '@' => '"' */
	{ 0x59, 0x5a },	/* 'Y' => 'Z' */
	{ 0x5a, 0x59 },	/* 'Z' => 'Y' */
	{ 0x5e, 0x2f },	/* '^' => '/' */
	{ 0x60, 0x30 },	/* '`' => '0' */
	{ 0x79, 0x7a },	/* 'y' => 'z' */
	{ 0x7a, 0x79 },	/* 'z' => 'y' */
};
