4 * Copyright (C) 2011 - 2012 Samsung Electronics Co., Ltd. All rights reserved.
7 * GiWoong Kim <giwoong.kim@samsung.com>
8 * YeongKyoon Lee <yeongkyoon.lee@samsung.com>
11 * This program is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License
13 * as published by the Free Software Foundation; either version 2
14 * of the License, or (at your option) any later version.
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
21 * You should have received a copy of the GNU General Public License
22 * along with this program; if not, write to the Free Software
23 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
31 #ifndef MARUSKIN_KEYMAP_H_
32 #define MARUSKIN_KEYMAP_H_
35 /* keep it consistent with emulator-skin(swt) virtual keycode */
36 #define JAVA_KEYCODE_BIT (1 << 24)
37 #define JAVA_KEYCODE_NO_FOCUS (1 << 19)
38 #define JAVA_KEYCODE_BIT_CTRL (1 << 18)
39 #define JAVA_KEYCODE_BIT_SHIFT (1 << 17)
40 #define JAVA_KEYCODE_BIT_ALT (1 << 16)
43 #define JAVA_KEYLOCATION_KEYPAD (1 << 1)
44 #define JAVA_KEYLOCATION_LEFT (1 << 14)
45 #define JAVA_KEYLOCATION_RIGHT (1 << 17)
47 #define JAVA_KEY_MASK 0xFFFF;
50 JAVA_KEY_ARROW_UP = 1,
62 JAVA_KEY_KEYPAD_MULTIPLY = 42,
63 JAVA_KEY_KEYPAD_ADD = 43,
64 JAVA_KEY_KEYPAD_SUBTRACT = 45,
65 JAVA_KEY_KEYPAD_DECIMAL = 46,
66 JAVA_KEY_KEYPAD_DIVIDE = 47,
67 JAVA_KEY_KEYPAD_0 = 48,
68 JAVA_KEY_KEYPAD_1 = 49,
69 JAVA_KEY_KEYPAD_2 = 50,
70 JAVA_KEY_KEYPAD_3 = 51,
71 JAVA_KEY_KEYPAD_4 = 52,
72 JAVA_KEY_KEYPAD_5 = 53,
73 JAVA_KEY_KEYPAD_6 = 54,
74 JAVA_KEY_KEYPAD_7 = 55,
75 JAVA_KEY_KEYPAD_8 = 56,
76 JAVA_KEY_KEYPAD_9 = 57,
77 JAVA_KEY_KEYPAD_CR = 80,
78 JAVA_KEY_CAPS_LOCK = 82,
83 JAVA_KEY_PRINT_SCREEN,
91 #define KEY_F(n) (KEY_F0 + (n))
96 #define KEY_RIGHT 0405
102 static const int vkkey2scancode[KEY_MAX] = {
103 [0 ... (KEY_MAX - 1)] = -1,
105 [JAVA_KEY_ESC] = 1, /* Escape */
118 [JAVA_KEY_DELETE] = 83, /* Delete */
119 [0x008] = 14, /* Backspace */
121 ['\t'] = 15, /* Tab */
134 ['\n'] = 28, /* Return */
135 ['\r'] = 28, /* Return */
147 ['\''] = 40, /* Single quote */
149 ['\\'] = 43, /* Backslash */
162 [' '] = 57, /* Space */
164 [KEY_F(1)] = 59, /* Function Key 1 */
165 [KEY_F(2)] = 60, /* Function Key 2 */
166 [KEY_F(3)] = 61, /* Function Key 3 */
167 [KEY_F(4)] = 62, /* Function Key 4 */
168 [KEY_F(5)] = 63, /* Function Key 5 */
169 [KEY_F(6)] = 64, /* Function Key 6 */
170 [KEY_F(7)] = 65, /* Function Key 7 */
171 [KEY_F(8)] = 66, /* Function Key 8 */
172 [KEY_F(9)] = 67, /* Function Key 9 */
173 [KEY_F(10)] = 68, /* Function Key 10 */
174 [KEY_F(11)] = 87, /* Function Key 11 */
175 [KEY_F(12)] = 88, /* Function Key 12 */
177 [KEY_UP] = 72, /* Up Arrow */
178 [KEY_LEFT] = 75, /* Left Arrow */
179 [KEY_RIGHT] = 77, /* Right Arrow */
180 [KEY_DOWN] = 80, /* Down Arrow */
195 [KEY_BTAB] = 15 | SHIFT, /* Shift + Tab */
235 int javakeycode_to_scancode(
236 int event_type, int java_keycode, int state_mask, int key_location);
238 #endif /* MARUSKIN_KEYMAP_H_ */