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

FILE_LICENCE ( PUBLIC_DOMAIN );

#include <ipxe/keymap.h>

/** "de" keyboard mapping */
struct key_mapping de_mapping[] __keymap = {
	{ 0x19, 0x1a },	/* Ctrl-Y => Ctrl-Z */
	{ 0x1a, 0x19 },	/* Ctrl-Z => Ctrl-Y */
	{ 0x22, 0x7d },	/* '"' => '}' */
	{ 0x26, 0x2f },	/* '&' => '/' */
	{ 0x27, 0x5d },	/* '\'' => ']' */
	{ 0x28, 0x29 },	/* '(' => ')' */
	{ 0x29, 0x3d },	/* ')' => '=' */
	{ 0x2a, 0x28 },	/* '*' => '(' */
	{ 0x2b, 0x60 },	/* '+' => '`' */
	{ 0x2d, 0x5c },	/* '-' => '\\' */
	{ 0x2f, 0x2d },	/* '/' => '-' */
	{ 0x3a, 0x7b },	/* ':' => '{' */
	{ 0x3b, 0x5b },	/* ';' => '[' */
	{ 0x3c, 0x3b },	/* '<' => ';' */
	{ 0x3d, 0x27 },	/* '=' => '\'' */
	{ 0x3e, 0x3a },	/* '>' => ':' */
	{ 0x3f, 0x5f },	/* '?' => '_' */
	{ 0x40, 0x22 },	/* '@' => '"' */
	{ 0x59, 0x5a },	/* 'Y' => 'Z' */
	{ 0x5a, 0x59 },	/* 'Z' => 'Y' */
	{ 0x5b, 0x40 },	/* '[' => '@' */
	{ 0x5c, 0x23 },	/* '\\' => '#' */
	{ 0x5d, 0x2b },	/* ']' => '+' */
	{ 0x5e, 0x26 },	/* '^' => '&' */
	{ 0x5f, 0x3f },	/* '_' => '?' */
	{ 0x60, 0x5e },	/* '`' => '^' */
	{ 0x79, 0x7a },	/* 'y' => 'z' */
	{ 0x7a, 0x79 },	/* 'z' => 'y' */
	{ 0x7b, 0x5c },	/* '{' => '\\' */
	{ 0x7c, 0x27 },	/* '|' => '\'' */
	{ 0x7d, 0x2a },	/* '}' => '*' */
};
