/*
 * \brief  Mapping of USB to Genode keycodes
 * \author Johannes Kliemann
 * \date   2018-07-25
 */

/*
 * Copyright (C) 2018 Genode Labs GmbH
 *
 * This file is part of the Genode OS framework, which is distributed
 * under the terms of the GNU Affero General Public License version 3.
 */

#ifndef _KEYMAP_H_
#define _KEYMAP_H_

#include <input/keycodes.h>

#include <hid/usages.h>

static Input::Keycode zxg_keymap[] =
	{
		Input::KEY_RESERVED,
		Input::KEY_RESERVED,
		Input::KEY_RESERVED,
		Input::KEY_RESERVED,
		Input::KEY_A,
		Input::KEY_B,
		Input::KEY_C,
		Input::KEY_D,
		Input::KEY_E,
		Input::KEY_F,
		Input::KEY_G,
		Input::KEY_H,
		Input::KEY_I,
		Input::KEY_J,
		Input::KEY_K,
		Input::KEY_L,
		Input::KEY_M,
		Input::KEY_N,
		Input::KEY_O,
		Input::KEY_P,
		Input::KEY_Q,
		Input::KEY_R,
		Input::KEY_S,
		Input::KEY_T,
		Input::KEY_U,
		Input::KEY_V,
		Input::KEY_W,
		Input::KEY_X,
		Input::KEY_Y,
		Input::KEY_Z,
		Input::KEY_1,
		Input::KEY_2,
		Input::KEY_3,
		Input::KEY_4,
		Input::KEY_5,
		Input::KEY_6,
		Input::KEY_7,
		Input::KEY_8,
		Input::KEY_9,
		Input::KEY_0,
		Input::KEY_ENTER,
		Input::KEY_ESC,
		Input::KEY_BACKSPACE,
		Input::KEY_TAB,
		Input::KEY_SPACE,
		Input::KEY_MINUS,
		Input::KEY_EQUAL,
		Input::KEY_LEFTBRACE,
		Input::KEY_RIGHTBRACE,
		Input::KEY_BACKSLASH,
		Input::KEY_UNKNOWN,
		Input::KEY_SEMICOLON,
		Input::KEY_APOSTROPHE,
		Input::KEY_GRAVE,
		Input::KEY_COMMA,
		Input::KEY_DOT,
		Input::KEY_SLASH,
		Input::KEY_CAPSLOCK,
		Input::KEY_F1,
		Input::KEY_F2,
		Input::KEY_F3,
		Input::KEY_F4,
		Input::KEY_F5,
		Input::KEY_F6,
		Input::KEY_F7,
		Input::KEY_F8,
		Input::KEY_F9,
		Input::KEY_F10,
		Input::KEY_F11,
		Input::KEY_F12,
		Input::KEY_PRINT,
		Input::KEY_SCROLLLOCK,
		Input::KEY_PAUSE,
		Input::KEY_INSERT,
		Input::KEY_HOME,
		Input::KEY_PAGEUP,
		Input::KEY_DELETE,
		Input::KEY_END,
		Input::KEY_PAGEDOWN,
		Input::KEY_RIGHT,
		Input::KEY_LEFT,
		Input::KEY_DOWN,
		Input::KEY_UP,
		Input::KEY_NUMLOCK,
		Input::KEY_KPSLASH,
		Input::KEY_KPASTERISK,
		Input::KEY_KPMINUS,
		Input::KEY_KPPLUS,
		Input::KEY_KPENTER,
		Input::KEY_KP1,
		Input::KEY_KP2,
		Input::KEY_KP3,
		Input::KEY_KP4,
		Input::KEY_KP5,
		Input::KEY_KP6,
		Input::KEY_KP7,
		Input::KEY_KP8,
		Input::KEY_KP9,
		Input::KEY_KP0,
		Input::KEY_KPDOT,
		Input::KEY_UNKNOWN,
		/* see system/ulib/hid/include/hid/usages.h:115 */
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		Input::KEY_UNKNOWN,
		/* */
		Input::KEY_LEFTCTRL,
		Input::KEY_LEFTSHIFT,
		Input::KEY_LEFTALT,
		Input::KEY_UNKNOWN,
		Input::KEY_RIGHTCTRL,
		Input::KEY_RIGHTSHIFT,
		Input::KEY_RIGHTALT,
		Input::KEY_UNKNOWN,
		Input::KEY_VOLUMEDOWN,
		Input::KEY_VOLUMEUP
	};

#endif /* ifndef _KEYMAP_H_ */
