Upstream version 11.39.266.0
[platform/framework/web/crosswalk.git] / src / mojo / examples / keyboard / keys.cc
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.
4
5 #include "mojo/examples/keyboard/keys.h"
6
7 #include "base/macros.h"
8 #include "ui/events/event_constants.h"
9 #include "ui/events/keycodes/keyboard_codes.h"
10
11 namespace mojo {
12 namespace examples {
13 namespace {
14
15 const Key kQWERTYKeysRow1[] =
16 {
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' },
27 };
28
29 const Key kQWERTYKeysRow2[] =
30 {
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' },
40 };
41
42 const Key kQWERTYKeysRow3[] =
43 {
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 },
53 };
54
55 const Key kQWERTYKeysRow4[] =
56 {
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 },
62 };
63
64 const Row kQWERTYRow1 = {
65   0,
66   kQWERTYKeysRow1,
67   arraysize(kQWERTYKeysRow1),
68 };
69
70 const Row kQWERTYRow2 = {
71   .5,
72   kQWERTYKeysRow2,
73   arraysize(kQWERTYKeysRow2),
74 };
75
76 const Row kQWERTYRow3 = {
77   0,
78   kQWERTYKeysRow3,
79   arraysize(kQWERTYKeysRow3),
80 };
81
82 const Row kQWERTYRow4 = {
83   0,
84   kQWERTYKeysRow4,
85   arraysize(kQWERTYKeysRow4),
86 };
87
88 const Key kNumericKeysRow1[] =
89 {
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 },
100 };
101
102 const Key kNumericKeysRow2[] =
103 {
104   // @#$%&-+()
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, ')' },
114 };
115
116 const Key kNumericKeysRow3[] =
117 {
118   // *"':;!? backspace
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 },
127 };
128
129 const Key kNumericKeysRow4[] =
130 {
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 },
139 };
140
141 const Row kNumericRow1 = {
142   0,
143   kNumericKeysRow1,
144   arraysize(kNumericKeysRow1),
145 };
146
147 const Row kNumericRow2 = {
148   .5,
149   kNumericKeysRow2,
150   arraysize(kNumericKeysRow2),
151 };
152
153 const Row kNumericRow3 = {
154   1.5,
155   kNumericKeysRow3,
156   arraysize(kNumericKeysRow3),
157 };
158
159 const Row kNumericRow4 = {
160   0,
161   kNumericKeysRow4,
162   arraysize(kNumericKeysRow4),
163 };
164
165 }  // namespace
166
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);
173   return rows;
174 }
175
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);
182   return rows;
183 }
184
185 }  // namespace examples
186 }  // namespace mojo