1// Copyright 2016 The Fuchsia 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 <hid/hid.h>
6
7keychar_t qwerty_map[] = {
8    // 0x00
9    {}, {}, {}, {},
10    // 0x04
11    {'a', 'A'}, {'b', 'B'}, {'c', 'C'}, {'d', 'D'},
12    // 0x08
13    {'e', 'E'}, {'f', 'F'}, {'g', 'G'}, {'h', 'H'},
14    // 0x0c
15    {'i', 'I'}, {'j', 'J'}, {'k', 'K'}, {'l', 'L'},
16    // 0x10
17    {'m', 'M'}, {'n', 'N'}, {'o', 'O'}, {'p', 'P'},
18    // 0x14
19    {'q', 'Q'}, {'r', 'R'}, {'s', 'S'}, {'t', 'T'},
20    // 0x18
21    {'u', 'U'}, {'v', 'V'}, {'w', 'W'}, {'x', 'X'},
22    // 0x1c
23    {'y', 'Y'}, {'z', 'Z'}, {'1', '!'}, {'2', '@'},
24    // 0x20
25    {'3', '#'}, {'4', '$'}, {'5', '%'}, {'6', '^'},
26    // 0x24
27    {'7', '&'}, {'8', '*'}, {'9', '('}, {'0', ')'},
28    // 0x28
29    {}, {}, {}, {},
30    // 0x2c
31    {' ', ' '}, {'-', '_'}, {'=','+'}, {'[', '{'},
32    // 0x30
33    {']', '}'}, {'\\', '|'}, {}, {';', ':'},
34    // 0x34
35    {'\'', '"'}, {'`', '~'}, {',', '<'}, {'.', '>'},
36    // 0x38
37    {'/', '?'}, {}, {}, {},
38    // 0x3c
39    {}, {}, {}, {},
40    // 0x40
41    {}, {}, {}, {},
42    // 0x44
43    {}, {}, {}, {},
44    // 0x48
45    {}, {}, {}, {},
46    // 0x4c
47    {}, {}, {}, {},
48    // 0x50
49    {}, {}, {}, {},
50    // 0x54
51    {'/', 0}, {'*', 0}, {'-', 0}, {'+', 0},
52    // 0x58
53    {}, {'1', 0}, {'2', 0},  {'3', 0},
54    // 0x5c
55    {'4', 0}, {'5', 0}, {'6', 0}, {'7', 0},
56    // 0x60
57    {'8', 0}, {'9', 0}, {'0', 0}, {'.', 0},
58};
59
60keychar_t dvorak_map[] = {
61    // 0x00
62    {}, {}, {}, {},
63    // 0x04
64    {'a', 'A'}, {'x', 'X'}, {'j', 'J'}, {'e', 'E'},
65    // 0x08
66    {'.', '>'}, {'u', 'U'}, {'i', 'I'}, {'d', 'D'},
67    // 0x0c
68    {'c', 'C'}, {'h', 'H'}, {'t', 'T'}, {'n', 'N'},
69    // 0x10
70    {'m', 'M'}, {'b', 'B'}, {'r', 'R'}, {'l', 'L'},
71    // 0x14
72    {'\'', '"'}, {'p', 'P'}, {'o', 'O'}, {'y', 'Y'},
73    // 0x18
74    {'g', 'G'}, {'k', 'K'}, {',', '<'}, {'q', 'Q'},
75    // 0x1c
76    {'f', 'F'}, {';', ':'}, {'1', '!'}, {'2', '@'},
77    // 0x20
78    {'3', '#'}, {'4', '$'}, {'5', '%'}, {'6', '^'},
79    // 0x24
80    {'7', '&'}, {'8', '*'}, {'9', '('}, {'0', ')'},
81    // 0x28
82    {}, {}, {}, {},
83    // 0x2c
84    {' ', ' '}, {'[', '{'}, {']','}'}, {'/', '?'},
85    // 0x30
86    {'=', '+'}, {'\\', '|'}, {}, {'s', 'S'},
87    // 0x34
88    {'-', '_'}, {'`', '~'}, {'w', 'W'}, {'v', 'V'},
89    // 0x38
90    {'z', 'Z'}, {}, {}, {},
91    // 0x3c
92    {}, {}, {}, {},
93    // 0x40
94    {}, {}, {}, {},
95    // 0x44
96    {}, {}, {}, {},
97    // 0x48
98    {}, {}, {}, {},
99    // 0x4c
100    {}, {}, {}, {},
101    // 0x50
102    {}, {}, {}, {},
103    // 0x54
104    {'/', 0}, {'*', 0}, {'-', 0}, {'+', 0},
105    // 0x58
106    {}, {'1', 0}, {'2', 0},  {'3', 0},
107    // 0x5c
108    {'4', 0}, {'5', 0}, {'6', 0}, {'7', 0},
109    // 0x60
110    {'8', 0}, {'9', 0}, {'0', 0}, {'.', 0},
111};
112