1 // Copyright 2014 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 #include "mojo/examples/keyboard/keys.h"
7 #include "base/macros.h"
8 #include "ui/events/event_constants.h"
9 #include "ui/events/keycodes/keyboard_codes.h"
15 const Key kQWERTYKeysRow1[] =
17 { ui::VKEY_Q, 1, 0, 'q' },
18 { ui::VKEY_W, 1, 0, 'w' },
19 { ui::VKEY_E, 1, 0, 'e' },
20 { ui::VKEY_R, 1, 0, 'r' },
21 { ui::VKEY_T, 1, 0, 't' },
22 { ui::VKEY_Y, 1, 0, 'y' },
23 { ui::VKEY_U, 1, 0, 'u' },
24 { ui::VKEY_I, 1, 0, 'i' },
25 { ui::VKEY_O, 1, 0, 'o' },
26 { ui::VKEY_P, 1, 0, 'p' },
29 const Key kQWERTYKeysRow2[] =
31 { ui::VKEY_A, 1, 0, 'a' },
32 { ui::VKEY_S, 1, 0, 's' },
33 { ui::VKEY_D, 1, 0, 'd' },
34 { ui::VKEY_F, 1, 0, 'f' },
35 { ui::VKEY_G, 1, 0, 'g' },
36 { ui::VKEY_H, 1, 0, 'h' },
37 { ui::VKEY_J, 1, 0, 'j' },
38 { ui::VKEY_K, 1, 0, 'k' },
39 { ui::VKEY_L, 1, 0, 'l' },
42 const Key kQWERTYKeysRow3[] =
44 { SPECIAL_KEY_SHIFT, 1.5, 0, 0 },
45 { ui::VKEY_Z, 1, 0, 'z' },
46 { ui::VKEY_X, 1, 0, 'x' },
47 { ui::VKEY_C, 1, 0, 'c' },
48 { ui::VKEY_V, 1, 0, 'v' },
49 { ui::VKEY_B, 1, 0, 'b' },
50 { ui::VKEY_N, 1, 0, 'n' },
51 { ui::VKEY_M, 1, 0, 'm' },
52 { ui::VKEY_BACK, 1.5, 0, 0 },
55 const Key kQWERTYKeysRow4[] =
57 { SPECIAL_KEY_NUMERIC, 1.5, 0, 0 },
58 { ui::VKEY_DIVIDE, 1, 0, '/' },
59 { ui::VKEY_SPACE, 5, 0, ' ' },
60 { ui::VKEY_DECIMAL, 1, 0, '.' },
61 { ui::VKEY_RETURN, 1.5, 0, 0 },
64 const Row kQWERTYRow1 = {
67 arraysize(kQWERTYKeysRow1),
70 const Row kQWERTYRow2 = {
73 arraysize(kQWERTYKeysRow2),
76 const Row kQWERTYRow3 = {
79 arraysize(kQWERTYKeysRow3),
82 const Row kQWERTYRow4 = {
85 arraysize(kQWERTYKeysRow4),
88 const Key kNumericKeysRow1[] =
90 { ui::VKEY_1, 1, 0, 0 },
91 { ui::VKEY_2, 1, 0, 0 },
92 { ui::VKEY_3, 1, 0, 0 },
93 { ui::VKEY_4, 1, 0, 0 },
94 { ui::VKEY_5, 1, 0, 0 },
95 { ui::VKEY_6, 1, 0, 0 },
96 { ui::VKEY_7, 1, 0, 0 },
97 { ui::VKEY_8, 1, 0, 0 },
98 { ui::VKEY_9, 1, 0, 0 },
99 { ui::VKEY_0, 1, 0, 0 },
102 const Key kNumericKeysRow2[] =
105 { ui::VKEY_2, 1, ui::EF_SHIFT_DOWN, '@' },
106 { ui::VKEY_3, 1, ui::EF_SHIFT_DOWN, '#' },
107 { ui::VKEY_4, 1, ui::EF_SHIFT_DOWN, '$' },
108 { ui::VKEY_5, 1, ui::EF_SHIFT_DOWN, '%' },
109 { ui::VKEY_7, 1, ui::EF_SHIFT_DOWN, '&' },
110 { ui::VKEY_SUBTRACT, 1, 0, '-' },
111 { ui::VKEY_ADD, 1, 0, '+' },
112 { ui::VKEY_9, 1, ui::EF_SHIFT_DOWN, '(' },
113 { ui::VKEY_0, 1, ui::EF_SHIFT_DOWN, ')' },
116 const Key kNumericKeysRow3[] =
119 { ui::VKEY_MULTIPLY, 1, 0, '*' },
120 { ui::VKEY_OEM_7, 1, ui::EF_SHIFT_DOWN, '"' },
121 { ui::VKEY_OEM_7, 1, 0, '\'' },
122 { ui::VKEY_OEM_1, 1, ui::EF_SHIFT_DOWN, ':' },
123 { ui::VKEY_OEM_1, 1, 0, ';' },
124 { ui::VKEY_1, 1, ui::EF_SHIFT_DOWN, '!' },
125 { ui::VKEY_OEM_2, 1, ui::EF_SHIFT_DOWN, '?' },
126 { ui::VKEY_BACK, 1.5, 0, 0 },
129 const Key kNumericKeysRow4[] =
131 // ABC _ / space (3) ,.enter
132 { SPECIAL_KEY_ALPHA, 1.5, 0, 0 },
133 { ui::VKEY_OEM_MINUS, 1, ui::EF_SHIFT_DOWN, '_' },
134 { ui::VKEY_OEM_2, 1, 0, '/' },
135 { ui::VKEY_SPACE, 3, 0, ' ' },
136 { ui::VKEY_OEM_COMMA, 1, 0, ',' },
137 { ui::VKEY_OEM_PERIOD, 1, 0, '.' },
138 { ui::VKEY_RETURN, 1.5, 0, 0 },
141 const Row kNumericRow1 = {
144 arraysize(kNumericKeysRow1),
147 const Row kNumericRow2 = {
150 arraysize(kNumericKeysRow2),
153 const Row kNumericRow3 = {
156 arraysize(kNumericKeysRow3),
159 const Row kNumericRow4 = {
162 arraysize(kNumericKeysRow4),
167 std::vector<const Row*> GetQWERTYRows() {
168 std::vector<const Row*> rows;
169 rows.push_back(&kQWERTYRow1);
170 rows.push_back(&kQWERTYRow2);
171 rows.push_back(&kQWERTYRow3);
172 rows.push_back(&kQWERTYRow4);
176 std::vector<const Row*> GetNumericRows() {
177 std::vector<const Row*> rows;
178 rows.push_back(&kNumericRow1);
179 rows.push_back(&kNumericRow2);
180 rows.push_back(&kNumericRow3);
181 rows.push_back(&kNumericRow4);
185 } // namespace examples