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

FILE_LICENCE ( PUBLIC_DOMAIN );

#include <ipxe/keymap.h>

/** "no" keyboard mapping */
struct key_mapping no_mapping[] __keymap = {
	{ 0x02, 0x18 },	/* Ctrl-B => Ctrl-X */
	{ 0x03, 0x0a },	/* Ctrl-C => Ctrl-J */
	{ 0x04, 0x05 },	/* Ctrl-D => Ctrl-E */
	{ 0x06, 0x15 },	/* Ctrl-F => Ctrl-U */
	{ 0x07, 0x09 },	/* Ctrl-G => Ctrl-I */
	{ 0x08, 0x04 },	/* Ctrl-H => Ctrl-D */
	{ 0x0a, 0x08 },	/* Ctrl-J => Ctrl-H */
	{ 0x0b, 0x14 },	/* Ctrl-K => Ctrl-T */
	{ 0x0c, 0x0e },	/* Ctrl-L => Ctrl-N */
	{ 0x0e, 0x02 },	/* Ctrl-N => Ctrl-B */
	{ 0x0f, 0x12 },	/* Ctrl-O => Ctrl-R */
	{ 0x10, 0x0c },	/* Ctrl-P => Ctrl-L */
	{ 0x12, 0x10 },	/* Ctrl-R => Ctrl-P */
	{ 0x13, 0x0f },	/* Ctrl-S => Ctrl-O */
	{ 0x14, 0x19 },	/* Ctrl-T => Ctrl-Y */
	{ 0x15, 0x07 },	/* Ctrl-U => Ctrl-G */
	{ 0x16, 0x0b },	/* Ctrl-V => Ctrl-K */
	{ 0x18, 0x11 },	/* Ctrl-X => Ctrl-Q */
	{ 0x19, 0x06 },	/* Ctrl-Y => Ctrl-F */
	{ 0x22, 0x5f },	/* '"' => '_' */
	{ 0x26, 0x2f },	/* '&' => '/' */
	{ 0x27, 0x2d },	/* '\'' => '-' */
	{ 0x28, 0x29 },	/* '(' => ')' */
	{ 0x29, 0x3d },	/* ')' => '=' */
	{ 0x2a, 0x28 },	/* '*' => '(' */
	{ 0x2b, 0x60 },	/* '+' => '`' */
	{ 0x2c, 0x77 },	/* ',' => 'w' */
	{ 0x2d, 0x2b },	/* '-' => '+' */
	{ 0x2e, 0x76 },	/* '.' => 'v' */
	{ 0x2f, 0x7a },	/* '/' => 'z' */
	{ 0x3a, 0x53 },	/* ':' => 'S' */
	{ 0x3b, 0x73 },	/* ';' => 's' */
	{ 0x3c, 0x57 },	/* '<' => 'W' */
	{ 0x3d, 0x5c },	/* '=' => '\\' */
	{ 0x3e, 0x56 },	/* '>' => 'V' */
	{ 0x3f, 0x5a },	/* '?' => 'Z' */
	{ 0x40, 0x22 },	/* '@' => '"' */
	{ 0x42, 0x58 },	/* 'B' => 'X' */
	{ 0x43, 0x4a },	/* 'C' => 'J' */
	{ 0x44, 0x45 },	/* 'D' => 'E' */
	{ 0x45, 0x3a },	/* 'E' => ':' */
	{ 0x46, 0x55 },	/* 'F' => 'U' */
	{ 0x47, 0x49 },	/* 'G' => 'I' */
	{ 0x48, 0x44 },	/* 'H' => 'D' */
	{ 0x49, 0x43 },	/* 'I' => 'C' */
	{ 0x4a, 0x48 },	/* 'J' => 'H' */
	{ 0x4b, 0x54 },	/* 'K' => 'T' */
	{ 0x4c, 0x4e },	/* 'L' => 'N' */
	{ 0x4e, 0x42 },	/* 'N' => 'B' */
	{ 0x4f, 0x52 },	/* 'O' => 'R' */
	{ 0x50, 0x4c },	/* 'P' => 'L' */
	{ 0x52, 0x50 },	/* 'R' => 'P' */
	{ 0x53, 0x4f },	/* 'S' => 'O' */
	{ 0x54, 0x59 },	/* 'T' => 'Y' */
	{ 0x55, 0x47 },	/* 'U' => 'G' */
	{ 0x56, 0x4b },	/* 'V' => 'K' */
	{ 0x57, 0x3b },	/* 'W' => ';' */
	{ 0x58, 0x51 },	/* 'X' => 'Q' */
	{ 0x59, 0x46 },	/* 'Y' => 'F' */
	{ 0x5b, 0x27 },	/* '[' => '\'' */
	{ 0x5c, 0x3c },	/* '\\' => '<' */
	{ 0x5d, 0x7e },	/* ']' => '~' */
	{ 0x5e, 0x26 },	/* '^' => '&' */
	{ 0x5f, 0x3f },	/* '_' => '?' */
	{ 0x60, 0x7c },	/* '`' => '|' */
	{ 0x62, 0x78 },	/* 'b' => 'x' */
	{ 0x63, 0x6a },	/* 'c' => 'j' */
	{ 0x64, 0x65 },	/* 'd' => 'e' */
	{ 0x65, 0x2e },	/* 'e' => '.' */
	{ 0x66, 0x75 },	/* 'f' => 'u' */
	{ 0x67, 0x69 },	/* 'g' => 'i' */
	{ 0x68, 0x64 },	/* 'h' => 'd' */
	{ 0x69, 0x63 },	/* 'i' => 'c' */
	{ 0x6a, 0x68 },	/* 'j' => 'h' */
	{ 0x6b, 0x74 },	/* 'k' => 't' */
	{ 0x6c, 0x6e },	/* 'l' => 'n' */
	{ 0x6e, 0x62 },	/* 'n' => 'b' */
	{ 0x6f, 0x72 },	/* 'o' => 'r' */
	{ 0x70, 0x6c },	/* 'p' => 'l' */
	{ 0x72, 0x70 },	/* 'r' => 'p' */
	{ 0x73, 0x6f },	/* 's' => 'o' */
	{ 0x74, 0x79 },	/* 't' => 'y' */
	{ 0x75, 0x67 },	/* 'u' => 'g' */
	{ 0x76, 0x6b },	/* 'v' => 'k' */
	{ 0x77, 0x2c },	/* 'w' => ',' */
	{ 0x78, 0x71 },	/* 'x' => 'q' */
	{ 0x79, 0x66 },	/* 'y' => 'f' */
	{ 0x7b, 0x2a },	/* '{' => '*' */
	{ 0x7c, 0x3e },	/* '|' => '>' */
	{ 0x7d, 0x5e },	/* '}' => '^' */
};
