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

FILE_LICENCE ( PUBLIC_DOMAIN );

#include <ipxe/keymap.h>

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