Roll src/third_party/WebKit d9c6159:8139f33 (svn 201974:201975)
[chromium-blink-merge.git] / chrome / test / remoting / key_code_map.h
blobf6edc4c48e32d5fcf721ff93129cf86c05ca877f
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // Source of data in this file:
6 // 1. ui/events/keycodes/dom/keycode_converter_data.inc
7 // 2. ui/events/keycodes/keyboard_codes.h
8 // 3. third_party/WebKit/Source/core/platform/chromium/KeyboardCodes.h
9 #ifndef CHROME_TEST_REMOTING_KEY_CODE_MAP_H_
10 #define CHROME_TEST_REMOTING_KEY_CODE_MAP_H_
12 #include "base/basictypes.h"
13 #include "ui/events/keycodes/keyboard_codes.h"
15 namespace remoting {
17 typedef struct {
18 // The character typed as a result of the key press without shift.
19 char lower_char;
21 // The character typed as a result of the key press with shift.
22 char upper_char;
24 // The UIEvents (aka: DOM4Events) |code| value as defined in:
25 // https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm
26 const char* code;
28 // The (Windows) virtual keyboard code.
29 ui::KeyboardCode vkey_code;
30 } KeyCodeMap;
32 // The mapping between the native scan codes and the characters are based
33 // on US keyboard layout.
34 const KeyCodeMap key_code_map[] = {
36 // lower UPPER Code KeyboardCode
37 {'a', 'A', "KeyA", ui::VKEY_A}, // aA
38 {'b', 'B', "KeyB", ui::VKEY_B}, // bB
39 {'c', 'C', "KeyC", ui::VKEY_C}, // cC
40 {'d', 'D', "KeyD", ui::VKEY_D}, // dD
41 {'e', 'E', "KeyE", ui::VKEY_E}, // eE
42 {'f', 'F', "KeyF", ui::VKEY_F}, // fF
43 {'g', 'G', "KeyG", ui::VKEY_G}, // gG
44 {'h', 'H', "KeyH", ui::VKEY_H}, // hH
45 {'i', 'I', "KeyI", ui::VKEY_I}, // iI
46 {'j', 'J', "KeyJ", ui::VKEY_J}, // jJ
47 {'k', 'K', "KeyK", ui::VKEY_K}, // kK
48 {'l', 'L', "KeyL", ui::VKEY_L}, // lL
49 {'m', 'M', "KeyM", ui::VKEY_M}, // mM
50 {'n', 'N', "KeyN", ui::VKEY_N}, // nN
51 {'o', 'O', "KeyO", ui::VKEY_O}, // oO
52 {'p', 'P', "KeyP", ui::VKEY_P}, // pP
53 {'q', 'Q', "KeyQ", ui::VKEY_Q}, // qQ
54 {'r', 'R', "KeyR", ui::VKEY_R}, // rR
55 {'s', 'S', "KeyS", ui::VKEY_S}, // sS
56 {'t', 'T', "KeyT", ui::VKEY_T}, // tT
57 {'u', 'U', "KeyU", ui::VKEY_U}, // uU
58 {'v', 'V', "KeyV", ui::VKEY_V}, // vV
59 {'w', 'W', "KeyW", ui::VKEY_W}, // wW
60 {'x', 'X', "KeyX", ui::VKEY_X}, // xX
61 {'y', 'Y', "KeyY", ui::VKEY_Y}, // yY
62 {'z', 'Z', "KeyZ", ui::VKEY_Z}, // zZ
63 {'1', '1', "Digit1", ui::VKEY_1}, // 1!
64 {'2', '2', "Digit2", ui::VKEY_2}, // 2@
65 {'3', '3', "Digit3", ui::VKEY_3}, // 3#
66 {'4', '4', "Digit4", ui::VKEY_4}, // 4$
67 {'5', '5', "Digit5", ui::VKEY_5}, // 5%
68 {'6', '6', "Digit6", ui::VKEY_6}, // 6^
69 {'7', '7', "Digit7", ui::VKEY_7}, // 7&
70 {'8', '8', "Digit8", ui::VKEY_8}, // 8*
71 {'9', '9', "Digit9", ui::VKEY_9}, // 9(
72 {'0', '0', "Digit0", ui::VKEY_0}, // 0)
74 {'\n', '\n', "Enter", ui::VKEY_RETURN}, // Return
75 { 0 , 0 , "Escape", ui::VKEY_UNKNOWN}, // Escape
76 {'\b', '\b', "Backspace", ui::VKEY_BACK}, // Backspace
77 {'\t', '\t', "Tab", ui::VKEY_TAB}, // Tab
78 {' ', ' ', "Space", ui::VKEY_SPACE}, // Spacebar
79 {'-', '_', "Minus", ui::VKEY_OEM_MINUS}, // -_
80 {'=', '+', "Equal", ui::VKEY_OEM_PLUS}, // =+
81 {'[', '{', "BracketLeft", ui::VKEY_OEM_4}, // [{
82 {']', '}', "BracketRight", ui::VKEY_OEM_6}, // ]}
83 {'\\', '|', "Backslash", ui::VKEY_OEM_5}, // \| (US keyboard only)
84 {';', ':', "Semicolon", ui::VKEY_OEM_1}, // ;:
85 {'\'', '\"', "Quote", ui::VKEY_OEM_7}, // '"
86 {'`', '~', "Backquote", ui::VKEY_OEM_3}, // `~
87 {',', '<', "Comma", ui::VKEY_OEM_COMMA}, // ,<
88 {'.', '>', "Period", ui::VKEY_OEM_PERIOD}, // .>
89 {'/', '?', "Slash", ui::VKEY_OEM_2}, // /?
92 } // namespace remoting
94 #endif // CHROME_TEST_REMOTING_KEY_CODE_MAP_H_