| // Copyright 2014 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "mojo/examples/keyboard/keys.h" |
| |
| #include "base/macros.h" |
| #include "ui/events/event_constants.h" |
| #include "ui/events/keycodes/keyboard_codes.h" |
| |
| namespace mojo { |
| namespace examples { |
| namespace { |
| |
| const Key kQWERTYKeysRow1[] = |
| { |
| { ui::VKEY_Q, 1, 0, 'q' }, |
| { ui::VKEY_W, 1, 0, 'w' }, |
| { ui::VKEY_E, 1, 0, 'e' }, |
| { ui::VKEY_R, 1, 0, 'r' }, |
| { ui::VKEY_T, 1, 0, 't' }, |
| { ui::VKEY_Y, 1, 0, 'y' }, |
| { ui::VKEY_U, 1, 0, 'u' }, |
| { ui::VKEY_I, 1, 0, 'i' }, |
| { ui::VKEY_O, 1, 0, 'o' }, |
| { ui::VKEY_P, 1, 0, 'p' }, |
| }; |
| |
| const Key kQWERTYKeysRow2[] = |
| { |
| { ui::VKEY_A, 1, 0, 'a' }, |
| { ui::VKEY_S, 1, 0, 's' }, |
| { ui::VKEY_D, 1, 0, 'd' }, |
| { ui::VKEY_F, 1, 0, 'f' }, |
| { ui::VKEY_G, 1, 0, 'g' }, |
| { ui::VKEY_H, 1, 0, 'h' }, |
| { ui::VKEY_J, 1, 0, 'j' }, |
| { ui::VKEY_K, 1, 0, 'k' }, |
| { ui::VKEY_L, 1, 0, 'l' }, |
| }; |
| |
| const Key kQWERTYKeysRow3[] = |
| { |
| { SPECIAL_KEY_SHIFT, 1.5, 0, 0 }, |
| { ui::VKEY_Z, 1, 0, 'z' }, |
| { ui::VKEY_X, 1, 0, 'x' }, |
| { ui::VKEY_C, 1, 0, 'c' }, |
| { ui::VKEY_V, 1, 0, 'v' }, |
| { ui::VKEY_B, 1, 0, 'b' }, |
| { ui::VKEY_N, 1, 0, 'n' }, |
| { ui::VKEY_M, 1, 0, 'm' }, |
| { ui::VKEY_BACK, 1.5, 0, 0 }, |
| }; |
| |
| const Key kQWERTYKeysRow4[] = |
| { |
| { SPECIAL_KEY_NUMERIC, 1.5, 0, 0 }, |
| { ui::VKEY_DIVIDE, 1, 0, '/' }, |
| { ui::VKEY_SPACE, 5, 0, ' ' }, |
| { ui::VKEY_DECIMAL, 1, 0, '.' }, |
| { ui::VKEY_RETURN, 1.5, 0, 0 }, |
| }; |
| |
| const Row kQWERTYRow1 = { |
| 0, |
| kQWERTYKeysRow1, |
| arraysize(kQWERTYKeysRow1), |
| }; |
| |
| const Row kQWERTYRow2 = { |
| .5, |
| kQWERTYKeysRow2, |
| arraysize(kQWERTYKeysRow2), |
| }; |
| |
| const Row kQWERTYRow3 = { |
| 0, |
| kQWERTYKeysRow3, |
| arraysize(kQWERTYKeysRow3), |
| }; |
| |
| const Row kQWERTYRow4 = { |
| 0, |
| kQWERTYKeysRow4, |
| arraysize(kQWERTYKeysRow4), |
| }; |
| |
| const Key kNumericKeysRow1[] = |
| { |
| { ui::VKEY_1, 1, 0, 0 }, |
| { ui::VKEY_2, 1, 0, 0 }, |
| { ui::VKEY_3, 1, 0, 0 }, |
| { ui::VKEY_4, 1, 0, 0 }, |
| { ui::VKEY_5, 1, 0, 0 }, |
| { ui::VKEY_6, 1, 0, 0 }, |
| { ui::VKEY_7, 1, 0, 0 }, |
| { ui::VKEY_8, 1, 0, 0 }, |
| { ui::VKEY_9, 1, 0, 0 }, |
| { ui::VKEY_0, 1, 0, 0 }, |
| }; |
| |
| const Key kNumericKeysRow2[] = |
| { |
| // @#$%&-+() |
| { ui::VKEY_2, 1, ui::EF_SHIFT_DOWN, '@' }, |
| { ui::VKEY_3, 1, ui::EF_SHIFT_DOWN, '#' }, |
| { ui::VKEY_4, 1, ui::EF_SHIFT_DOWN, '$' }, |
| { ui::VKEY_5, 1, ui::EF_SHIFT_DOWN, '%' }, |
| { ui::VKEY_7, 1, ui::EF_SHIFT_DOWN, '&' }, |
| { ui::VKEY_SUBTRACT, 1, 0, '-' }, |
| { ui::VKEY_ADD, 1, 0, '+' }, |
| { ui::VKEY_9, 1, ui::EF_SHIFT_DOWN, '(' }, |
| { ui::VKEY_0, 1, ui::EF_SHIFT_DOWN, ')' }, |
| }; |
| |
| const Key kNumericKeysRow3[] = |
| { |
| // *"':;!? backspace |
| { ui::VKEY_MULTIPLY, 1, 0, '*' }, |
| { ui::VKEY_OEM_7, 1, ui::EF_SHIFT_DOWN, '"' }, |
| { ui::VKEY_OEM_7, 1, 0, '\'' }, |
| { ui::VKEY_OEM_1, 1, ui::EF_SHIFT_DOWN, ':' }, |
| { ui::VKEY_OEM_1, 1, 0, ';' }, |
| { ui::VKEY_1, 1, ui::EF_SHIFT_DOWN, '!' }, |
| { ui::VKEY_OEM_2, 1, ui::EF_SHIFT_DOWN, '?' }, |
| { ui::VKEY_BACK, 1.5, 0, 0 }, |
| }; |
| |
| const Key kNumericKeysRow4[] = |
| { |
| // ABC _ / space (3) ,.enter |
| { SPECIAL_KEY_ALPHA, 1.5, 0, 0 }, |
| { ui::VKEY_OEM_MINUS, 1, ui::EF_SHIFT_DOWN, '_' }, |
| { ui::VKEY_OEM_2, 1, 0, '/' }, |
| { ui::VKEY_SPACE, 3, 0, ' ' }, |
| { ui::VKEY_OEM_COMMA, 1, 0, ',' }, |
| { ui::VKEY_OEM_PERIOD, 1, 0, '.' }, |
| { ui::VKEY_RETURN, 1.5, 0, 0 }, |
| }; |
| |
| const Row kNumericRow1 = { |
| 0, |
| kNumericKeysRow1, |
| arraysize(kNumericKeysRow1), |
| }; |
| |
| const Row kNumericRow2 = { |
| .5, |
| kNumericKeysRow2, |
| arraysize(kNumericKeysRow2), |
| }; |
| |
| const Row kNumericRow3 = { |
| 1.5, |
| kNumericKeysRow3, |
| arraysize(kNumericKeysRow3), |
| }; |
| |
| const Row kNumericRow4 = { |
| 0, |
| kNumericKeysRow4, |
| arraysize(kNumericKeysRow4), |
| }; |
| |
| } // namespace |
| |
| std::vector<const Row*> GetQWERTYRows() { |
| std::vector<const Row*> rows; |
| rows.push_back(&kQWERTYRow1); |
| rows.push_back(&kQWERTYRow2); |
| rows.push_back(&kQWERTYRow3); |
| rows.push_back(&kQWERTYRow4); |
| return rows; |
| } |
| |
| std::vector<const Row*> GetNumericRows() { |
| std::vector<const Row*> rows; |
| rows.push_back(&kNumericRow1); |
| rows.push_back(&kNumericRow2); |
| rows.push_back(&kNumericRow3); |
| rows.push_back(&kNumericRow4); |
| return rows; |
| } |
| |
| } // namespace examples |
| } // namespace mojo |