summaryrefslogtreecommitdiff
path: root/arch/sandbox
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sandbox')
-rw-r--r--arch/sandbox/cpu/sdl.c156
-rw-r--r--arch/sandbox/dts/cros-ec-keyboard.dtsi20
-rw-r--r--arch/sandbox/dts/test.dts1
3 files changed, 105 insertions, 72 deletions
diff --git a/arch/sandbox/cpu/sdl.c b/arch/sandbox/cpu/sdl.c
index 6416cab96c1..7dc3dab32ef 100644
--- a/arch/sandbox/cpu/sdl.c
+++ b/arch/sandbox/cpu/sdl.c
@@ -172,33 +172,7 @@ int sandbox_sdl_sync(void *lcd_base)
}
static const unsigned short sdl_to_keycode[SDL_NUM_SCANCODES] = {
- [SDL_SCANCODE_A] = KEY_A,
- [SDL_SCANCODE_B] = KEY_B,
- [SDL_SCANCODE_C] = KEY_C,
- [SDL_SCANCODE_D] = KEY_D,
- [SDL_SCANCODE_E] = KEY_E,
- [SDL_SCANCODE_F] = KEY_F,
- [SDL_SCANCODE_G] = KEY_G,
- [SDL_SCANCODE_H] = KEY_H,
- [SDL_SCANCODE_I] = KEY_I,
- [SDL_SCANCODE_J] = KEY_J,
- [SDL_SCANCODE_K] = KEY_K,
- [SDL_SCANCODE_L] = KEY_L,
- [SDL_SCANCODE_M] = KEY_M,
- [SDL_SCANCODE_N] = KEY_N,
- [SDL_SCANCODE_O] = KEY_O,
- [SDL_SCANCODE_P] = KEY_P,
- [SDL_SCANCODE_Q] = KEY_Q,
- [SDL_SCANCODE_R] = KEY_R,
- [SDL_SCANCODE_S] = KEY_S,
- [SDL_SCANCODE_T] = KEY_T,
- [SDL_SCANCODE_U] = KEY_U,
- [SDL_SCANCODE_V] = KEY_V,
- [SDL_SCANCODE_W] = KEY_W,
- [SDL_SCANCODE_X] = KEY_X,
- [SDL_SCANCODE_Y] = KEY_Y,
- [SDL_SCANCODE_Z] = KEY_Z,
-
+ [SDL_SCANCODE_ESCAPE] = KEY_ESC,
[SDL_SCANCODE_1] = KEY_1,
[SDL_SCANCODE_2] = KEY_2,
[SDL_SCANCODE_3] = KEY_3,
@@ -209,25 +183,53 @@ static const unsigned short sdl_to_keycode[SDL_NUM_SCANCODES] = {
[SDL_SCANCODE_8] = KEY_8,
[SDL_SCANCODE_9] = KEY_9,
[SDL_SCANCODE_0] = KEY_0,
-
- [SDL_SCANCODE_RETURN] = KEY_ENTER,
- [SDL_SCANCODE_ESCAPE] = KEY_ESC,
- [SDL_SCANCODE_BACKSPACE] = KEY_BACKSPACE,
- [SDL_SCANCODE_TAB] = KEY_TAB,
- [SDL_SCANCODE_SPACE] = KEY_SPACE,
-
[SDL_SCANCODE_MINUS] = KEY_MINUS,
[SDL_SCANCODE_EQUALS] = KEY_EQUAL,
- [SDL_SCANCODE_BACKSLASH] = KEY_BACKSLASH,
+ [SDL_SCANCODE_BACKSPACE] = KEY_BACKSPACE,
+ [SDL_SCANCODE_TAB] = KEY_TAB,
+ [SDL_SCANCODE_Q] = KEY_Q,
+ [SDL_SCANCODE_W] = KEY_W,
+ [SDL_SCANCODE_E] = KEY_E,
+ [SDL_SCANCODE_R] = KEY_R,
+ [SDL_SCANCODE_T] = KEY_T,
+ [SDL_SCANCODE_Y] = KEY_Y,
+ [SDL_SCANCODE_U] = KEY_U,
+ [SDL_SCANCODE_I] = KEY_I,
+ [SDL_SCANCODE_O] = KEY_O,
+ [SDL_SCANCODE_P] = KEY_P,
+ [SDL_SCANCODE_LEFTBRACKET] = KEY_LEFTBRACE,
+ [SDL_SCANCODE_RIGHTBRACKET] = KEY_RIGHTBRACE,
+ [SDL_SCANCODE_RETURN] = KEY_ENTER,
+ [SDL_SCANCODE_LCTRL] = KEY_LEFTCTRL,
+ [SDL_SCANCODE_A] = KEY_A,
+ [SDL_SCANCODE_S] = KEY_S,
+ [SDL_SCANCODE_D] = KEY_D,
+ [SDL_SCANCODE_F] = KEY_F,
+ [SDL_SCANCODE_G] = KEY_G,
+ [SDL_SCANCODE_H] = KEY_H,
+ [SDL_SCANCODE_J] = KEY_J,
+ [SDL_SCANCODE_K] = KEY_K,
+ [SDL_SCANCODE_L] = KEY_L,
[SDL_SCANCODE_SEMICOLON] = KEY_SEMICOLON,
[SDL_SCANCODE_APOSTROPHE] = KEY_APOSTROPHE,
[SDL_SCANCODE_GRAVE] = KEY_GRAVE,
+ [SDL_SCANCODE_LSHIFT] = KEY_LEFTSHIFT,
+ [SDL_SCANCODE_BACKSLASH] = KEY_BACKSLASH,
+ [SDL_SCANCODE_Z] = KEY_Z,
+ [SDL_SCANCODE_X] = KEY_X,
+ [SDL_SCANCODE_C] = KEY_C,
+ [SDL_SCANCODE_V] = KEY_V,
+ [SDL_SCANCODE_B] = KEY_B,
+ [SDL_SCANCODE_N] = KEY_N,
+ [SDL_SCANCODE_M] = KEY_M,
[SDL_SCANCODE_COMMA] = KEY_COMMA,
[SDL_SCANCODE_PERIOD] = KEY_DOT,
[SDL_SCANCODE_SLASH] = KEY_SLASH,
-
+ [SDL_SCANCODE_RSHIFT] = KEY_RIGHTSHIFT,
+ [SDL_SCANCODE_KP_MULTIPLY] = KEY_KPASTERISK,
+ [SDL_SCANCODE_LALT] = KEY_LEFTALT,
+ [SDL_SCANCODE_SPACE] = KEY_SPACE,
[SDL_SCANCODE_CAPSLOCK] = KEY_CAPSLOCK,
-
[SDL_SCANCODE_F1] = KEY_F1,
[SDL_SCANCODE_F2] = KEY_F2,
[SDL_SCANCODE_F3] = KEY_F3,
@@ -238,45 +240,65 @@ static const unsigned short sdl_to_keycode[SDL_NUM_SCANCODES] = {
[SDL_SCANCODE_F8] = KEY_F8,
[SDL_SCANCODE_F9] = KEY_F9,
[SDL_SCANCODE_F10] = KEY_F10,
- [SDL_SCANCODE_F11] = KEY_F11,
- [SDL_SCANCODE_F12] = KEY_F12,
-
- [SDL_SCANCODE_PRINTSCREEN] = KEY_PRINT,
- [SDL_SCANCODE_SCROLLLOCK] = KEY_SCROLLLOCK,
- [SDL_SCANCODE_PAUSE] = KEY_PAUSE,
- [SDL_SCANCODE_INSERT] = KEY_INSERT,
- [SDL_SCANCODE_HOME] = KEY_HOME,
- [SDL_SCANCODE_PAGEUP] = KEY_PAGEUP,
- [SDL_SCANCODE_DELETE] = KEY_DELETE,
- [SDL_SCANCODE_END] = KEY_END,
- [SDL_SCANCODE_PAGEDOWN] = KEY_PAGEDOWN,
- [SDL_SCANCODE_RIGHT] = KEY_RIGHT,
- [SDL_SCANCODE_LEFT] = KEY_LEFT,
- [SDL_SCANCODE_DOWN] = KEY_DOWN,
- [SDL_SCANCODE_UP] = KEY_UP,
-
[SDL_SCANCODE_NUMLOCKCLEAR] = KEY_NUMLOCK,
- [SDL_SCANCODE_KP_DIVIDE] = KEY_KPSLASH,
- [SDL_SCANCODE_KP_MULTIPLY] = KEY_KPASTERISK,
+ [SDL_SCANCODE_SCROLLLOCK] = KEY_SCROLLLOCK,
+ [SDL_SCANCODE_KP_7] = KEY_KP7,
+ [SDL_SCANCODE_KP_8] = KEY_KP8,
+ [SDL_SCANCODE_KP_9] = KEY_KP9,
[SDL_SCANCODE_KP_MINUS] = KEY_KPMINUS,
+ [SDL_SCANCODE_KP_4] = KEY_KP4,
+ [SDL_SCANCODE_KP_5] = KEY_KP5,
+ [SDL_SCANCODE_KP_6] = KEY_KP6,
[SDL_SCANCODE_KP_PLUS] = KEY_KPPLUS,
- [SDL_SCANCODE_KP_ENTER] = KEY_KPENTER,
[SDL_SCANCODE_KP_1] = KEY_KP1,
[SDL_SCANCODE_KP_2] = KEY_KP2,
[SDL_SCANCODE_KP_3] = KEY_KP3,
- [SDL_SCANCODE_KP_4] = KEY_KP4,
- [SDL_SCANCODE_KP_5] = KEY_KP5,
- [SDL_SCANCODE_KP_6] = KEY_KP6,
- [SDL_SCANCODE_KP_7] = KEY_KP7,
- [SDL_SCANCODE_KP_8] = KEY_KP8,
- [SDL_SCANCODE_KP_9] = KEY_KP9,
[SDL_SCANCODE_KP_0] = KEY_KP0,
[SDL_SCANCODE_KP_PERIOD] = KEY_KPDOT,
-
- [SDL_SCANCODE_KP_EQUALS] = KEY_KPEQUAL,
- [SDL_SCANCODE_KP_COMMA] = KEY_KPCOMMA,
-
+ /* key 84 does not exist linux_input.h */
+ [SDL_SCANCODE_LANG5] = KEY_ZENKAKUHANKAKU,
+ [SDL_SCANCODE_NONUSBACKSLASH] = KEY_102ND,
+ [SDL_SCANCODE_F11] = KEY_F11,
+ [SDL_SCANCODE_F12] = KEY_F12,
+ [SDL_SCANCODE_INTERNATIONAL1] = KEY_RO,
+ [SDL_SCANCODE_LANG3] = KEY_KATAKANA,
+ [SDL_SCANCODE_LANG4] = KEY_HIRAGANA,
+ [SDL_SCANCODE_INTERNATIONAL4] = KEY_HENKAN,
+ [SDL_SCANCODE_INTERNATIONAL2] = KEY_KATAKANAHIRAGANA,
+ [SDL_SCANCODE_INTERNATIONAL5] = KEY_MUHENKAN,
+ /* [SDL_SCANCODE_INTERNATIONAL5] -> [KEY_KPJPCOMMA] */
+ [SDL_SCANCODE_KP_ENTER] = KEY_KPENTER,
+ [SDL_SCANCODE_RCTRL] = KEY_RIGHTCTRL,
+ [SDL_SCANCODE_KP_DIVIDE] = KEY_KPSLASH,
[SDL_SCANCODE_SYSREQ] = KEY_SYSRQ,
+ [SDL_SCANCODE_RALT] = KEY_RIGHTALT,
+ /* KEY_LINEFEED */
+ [SDL_SCANCODE_HOME] = KEY_HOME,
+ [SDL_SCANCODE_UP] = KEY_UP,
+ [SDL_SCANCODE_PAGEUP] = KEY_PAGEUP,
+ [SDL_SCANCODE_LEFT] = KEY_LEFT,
+ [SDL_SCANCODE_RIGHT] = KEY_RIGHT,
+ [SDL_SCANCODE_END] = KEY_END,
+ [SDL_SCANCODE_DOWN] = KEY_DOWN,
+ [SDL_SCANCODE_PAGEDOWN] = KEY_PAGEDOWN,
+ [SDL_SCANCODE_INSERT] = KEY_INSERT,
+ [SDL_SCANCODE_DELETE] = KEY_DELETE,
+ /* KEY_MACRO */
+ [SDL_SCANCODE_MUTE] = KEY_MUTE,
+ [SDL_SCANCODE_VOLUMEDOWN] = KEY_VOLUMEDOWN,
+ [SDL_SCANCODE_VOLUMEUP] = KEY_VOLUMEUP,
+ [SDL_SCANCODE_POWER] = KEY_POWER,
+ [SDL_SCANCODE_KP_EQUALS] = KEY_KPEQUAL,
+ [SDL_SCANCODE_KP_PLUSMINUS] = KEY_KPPLUSMINUS,
+ [SDL_SCANCODE_PAUSE] = KEY_PAUSE,
+ /* KEY_SCALE */
+ [SDL_SCANCODE_KP_COMMA] = KEY_KPCOMMA,
+ [SDL_SCANCODE_LANG1] = KEY_HANGUEL,
+ [SDL_SCANCODE_LANG2] = KEY_HANJA,
+ [SDL_SCANCODE_INTERNATIONAL3] = KEY_YEN,
+ [SDL_SCANCODE_LGUI] = KEY_LEFTMETA,
+ [SDL_SCANCODE_RGUI] = KEY_RIGHTMETA,
+ [SDL_SCANCODE_APPLICATION] = KEY_COMPOSE,
};
int sandbox_sdl_scan_keys(int key[], int max_keys)
diff --git a/arch/sandbox/dts/cros-ec-keyboard.dtsi b/arch/sandbox/dts/cros-ec-keyboard.dtsi
index 9c7fb0acae7..d885a5ecd22 100644
--- a/arch/sandbox/dts/cros-ec-keyboard.dtsi
+++ b/arch/sandbox/dts/cros-ec-keyboard.dtsi
@@ -1,12 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Keyboard dts fragment for devices that use cros-ec-keyboard
*
* Copyright (c) 2014 Google, Inc
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
-*/
+ * This file is taken from Linux
+ * arch/arm/boot/dts/cros-ec-keyboard.dtsi.
+ *
+ * A duplicate KEY_BACKSLASH key had to be removed.
+ */
#include <dt-bindings/input/input.h>
@@ -22,6 +24,7 @@
MATRIX_KEY(0x00, 0x02, KEY_F1)
MATRIX_KEY(0x00, 0x03, KEY_B)
MATRIX_KEY(0x00, 0x04, KEY_F10)
+ MATRIX_KEY(0x00, 0x05, KEY_RO)
MATRIX_KEY(0x00, 0x06, KEY_N)
MATRIX_KEY(0x00, 0x08, KEY_EQUAL)
MATRIX_KEY(0x00, 0x0a, KEY_RIGHTALT)
@@ -34,6 +37,7 @@
MATRIX_KEY(0x01, 0x08, KEY_APOSTROPHE)
MATRIX_KEY(0x01, 0x09, KEY_F9)
MATRIX_KEY(0x01, 0x0b, KEY_BACKSPACE)
+ MATRIX_KEY(0x01, 0x0c, KEY_HENKAN)
MATRIX_KEY(0x02, 0x00, KEY_LEFTCTRL)
MATRIX_KEY(0x02, 0x01, KEY_TAB)
@@ -45,6 +49,7 @@
MATRIX_KEY(0x02, 0x07, KEY_102ND)
MATRIX_KEY(0x02, 0x08, KEY_LEFTBRACE)
MATRIX_KEY(0x02, 0x09, KEY_F8)
+ MATRIX_KEY(0x02, 0x0a, KEY_YEN)
MATRIX_KEY(0x03, 0x01, KEY_GRAVE)
MATRIX_KEY(0x03, 0x02, KEY_F2)
@@ -52,7 +57,9 @@
MATRIX_KEY(0x03, 0x04, KEY_F5)
MATRIX_KEY(0x03, 0x06, KEY_6)
MATRIX_KEY(0x03, 0x08, KEY_MINUS)
+ MATRIX_KEY(0x03, 0x09, KEY_F13)
MATRIX_KEY(0x03, 0x0b, KEY_BACKSLASH)
+ MATRIX_KEY(0x03, 0x0c, KEY_MUHENKAN)
MATRIX_KEY(0x04, 0x00, KEY_RIGHTCTRL)
MATRIX_KEY(0x04, 0x01, KEY_A)
@@ -63,7 +70,10 @@
MATRIX_KEY(0x04, 0x06, KEY_J)
MATRIX_KEY(0x04, 0x08, KEY_SEMICOLON)
MATRIX_KEY(0x04, 0x09, KEY_L)
- MATRIX_KEY(0x04, 0x0a, KEY_BACKSLASH)
+ /*
+ * Do not map any key twice
+ * MATRIX_KEY(0x04, 0x0a, KEY_BACKSLASH)
+ */
MATRIX_KEY(0x04, 0x0b, KEY_ENTER)
MATRIX_KEY(0x05, 0x01, KEY_Z)
diff --git a/arch/sandbox/dts/test.dts b/arch/sandbox/dts/test.dts
index e6da47d5928..cc372806a00 100644
--- a/arch/sandbox/dts/test.dts
+++ b/arch/sandbox/dts/test.dts
@@ -131,6 +131,7 @@
str-value = "test string";
interrupts-extended = <&irq 3 0>;
acpi,name = "GHIJ";
+ phandle-value = <&gpio_c 10>, <0xFFFFFFFF 20>, <&gpio_a 30>;
};
junk {