1 | /**************************************************************************** |
2 | ** |
3 | ** Copyright (C) 2016 The Qt Company Ltd. |
4 | ** Contact: https://www.qt.io/licensing/ |
5 | ** |
6 | ** This file is part of the QtGui module of the Qt Toolkit. |
7 | ** |
8 | ** $QT_BEGIN_LICENSE:LGPL$ |
9 | ** Commercial License Usage |
10 | ** Licensees holding valid commercial Qt licenses may use this file in |
11 | ** accordance with the commercial license agreement provided with the |
12 | ** Software or, alternatively, in accordance with the terms contained in |
13 | ** a written agreement between you and The Qt Company. For licensing terms |
14 | ** and conditions see https://www.qt.io/terms-conditions. For further |
15 | ** information use the contact form at https://www.qt.io/contact-us. |
16 | ** |
17 | ** GNU Lesser General Public License Usage |
18 | ** Alternatively, this file may be used under the terms of the GNU Lesser |
19 | ** General Public License version 3 as published by the Free Software |
20 | ** Foundation and appearing in the file LICENSE.LGPL3 included in the |
21 | ** packaging of this file. Please review the following information to |
22 | ** ensure the GNU Lesser General Public License version 3 requirements |
23 | ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. |
24 | ** |
25 | ** GNU General Public License Usage |
26 | ** Alternatively, this file may be used under the terms of the GNU |
27 | ** General Public License version 2.0 or (at your option) the GNU General |
28 | ** Public license version 3 or any later version approved by the KDE Free |
29 | ** Qt Foundation. The licenses are as published by the Free Software |
30 | ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 |
31 | ** included in the packaging of this file. Please review the following |
32 | ** information to ensure the GNU General Public License requirements will |
33 | ** be met: https://www.gnu.org/licenses/gpl-2.0.html and |
34 | ** https://www.gnu.org/licenses/gpl-3.0.html. |
35 | ** |
36 | ** $QT_END_LICENSE$ |
37 | ** |
38 | ****************************************************************************/ |
39 | |
40 | #ifndef QEVDEVKEYBOARDHANDLER_DEFAULTMAP_P_H |
41 | #define QEVDEVKEYBOARDHANDLER_DEFAULTMAP_P_H |
42 | |
43 | // |
44 | // W A R N I N G |
45 | // ------------- |
46 | // |
47 | // This file is not part of the Qt API. It exists purely as an |
48 | // implementation detail. This header file may change from version to |
49 | // version without notice, or even be removed. |
50 | // |
51 | // We mean it. |
52 | // |
53 | |
54 | #include "qnamespace.h" |
55 | #ifdef Q_OS_FREEBSD |
56 | #include <dev/evdev/input.h> |
57 | #else |
58 | #include "linux/input.h" |
59 | #endif |
60 | |
61 | // no QT_BEGIN_NAMESPACE, since we include it internally... |
62 | |
63 | const QEvdevKeyboardMap::Mapping QEvdevKeyboardHandler::s_keymap_default[] = { |
64 | { .keycode: 1, .unicode: 0xffff, .qtcode: 0x01000000, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
65 | { .keycode: 2, .unicode: 0x0031, .qtcode: 0x00000031, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
66 | { .keycode: 2, .unicode: 0x0021, .qtcode: 0x00000021, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
67 | { .keycode: 3, .unicode: 0x0032, .qtcode: 0x00000032, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
68 | { .keycode: 3, .unicode: 0x0040, .qtcode: 0x00000040, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
69 | { .keycode: 3, .unicode: 0x0040, .qtcode: 0x00000040, .modifiers: 0x02, .flags: 0x00, .special: 0x0000 }, |
70 | { .keycode: 4, .unicode: 0x0033, .qtcode: 0x00000033, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
71 | { .keycode: 4, .unicode: 0x0023, .qtcode: 0x00000023, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
72 | { .keycode: 4, .unicode: 0xffff, .qtcode: 0x01000000, .modifiers: 0x04, .flags: 0x00, .special: 0x0000 }, |
73 | { .keycode: 5, .unicode: 0x0034, .qtcode: 0x00000034, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
74 | { .keycode: 5, .unicode: 0x0024, .qtcode: 0x00000024, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
75 | { .keycode: 5, .unicode: 0x0024, .qtcode: 0x00000024, .modifiers: 0x02, .flags: 0x00, .special: 0x0000 }, |
76 | { .keycode: 5, .unicode: 0x005c, .qtcode: 0x0400005c, .modifiers: 0x04, .flags: 0x00, .special: 0x0000 }, |
77 | { .keycode: 6, .unicode: 0x0035, .qtcode: 0x00000035, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
78 | { .keycode: 6, .unicode: 0x0025, .qtcode: 0x00000025, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
79 | { .keycode: 6, .unicode: 0x005d, .qtcode: 0x0400005d, .modifiers: 0x04, .flags: 0x00, .special: 0x0000 }, |
80 | { .keycode: 7, .unicode: 0x0036, .qtcode: 0x00000036, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
81 | { .keycode: 7, .unicode: 0x005e, .qtcode: 0x0000005e, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
82 | { .keycode: 7, .unicode: 0x005e, .qtcode: 0x01001252, .modifiers: 0x02, .flags: 0x01, .special: 0x0000 }, |
83 | { .keycode: 7, .unicode: 0x005e, .qtcode: 0x0400005e, .modifiers: 0x04, .flags: 0x00, .special: 0x0000 }, |
84 | { .keycode: 8, .unicode: 0x0037, .qtcode: 0x00000037, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
85 | { .keycode: 8, .unicode: 0x0026, .qtcode: 0x00000026, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
86 | { .keycode: 8, .unicode: 0x007b, .qtcode: 0x0000007b, .modifiers: 0x02, .flags: 0x00, .special: 0x0000 }, |
87 | { .keycode: 8, .unicode: 0x005f, .qtcode: 0x0400005f, .modifiers: 0x04, .flags: 0x00, .special: 0x0000 }, |
88 | { .keycode: 9, .unicode: 0x0038, .qtcode: 0x00000038, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
89 | { .keycode: 9, .unicode: 0x002a, .qtcode: 0x0000002a, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
90 | { .keycode: 9, .unicode: 0x005b, .qtcode: 0x0000005b, .modifiers: 0x02, .flags: 0x00, .special: 0x0000 }, |
91 | { .keycode: 9, .unicode: 0xffff, .qtcode: 0x01000003, .modifiers: 0x04, .flags: 0x00, .special: 0x0000 }, |
92 | { .keycode: 10, .unicode: 0x0039, .qtcode: 0x00000039, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
93 | { .keycode: 10, .unicode: 0x0028, .qtcode: 0x00000028, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
94 | { .keycode: 10, .unicode: 0x005d, .qtcode: 0x0000005d, .modifiers: 0x02, .flags: 0x00, .special: 0x0000 }, |
95 | { .keycode: 11, .unicode: 0x0030, .qtcode: 0x00000030, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
96 | { .keycode: 11, .unicode: 0x0029, .qtcode: 0x00000029, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
97 | { .keycode: 11, .unicode: 0x007d, .qtcode: 0x0000007d, .modifiers: 0x02, .flags: 0x00, .special: 0x0000 }, |
98 | { .keycode: 12, .unicode: 0x002d, .qtcode: 0x0000002d, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
99 | { .keycode: 12, .unicode: 0x005f, .qtcode: 0x0000005f, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
100 | { .keycode: 12, .unicode: 0x005c, .qtcode: 0x0000005c, .modifiers: 0x02, .flags: 0x00, .special: 0x0000 }, |
101 | { .keycode: 12, .unicode: 0x005f, .qtcode: 0x0400005f, .modifiers: 0x04, .flags: 0x00, .special: 0x0000 }, |
102 | { .keycode: 12, .unicode: 0x005f, .qtcode: 0x0400005f, .modifiers: 0x05, .flags: 0x00, .special: 0x0000 }, |
103 | { .keycode: 13, .unicode: 0x003d, .qtcode: 0x0000003d, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
104 | { .keycode: 13, .unicode: 0x002b, .qtcode: 0x0000002b, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
105 | { .keycode: 14, .unicode: 0xffff, .qtcode: 0x01000003, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
106 | { .keycode: 14, .unicode: 0xffff, .qtcode: 0x01000000, .modifiers: 0x0c, .flags: 0x08, .special: 0x0300 }, |
107 | { .keycode: 15, .unicode: 0xffff, .qtcode: 0x01000001, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
108 | { .keycode: 16, .unicode: 0x0071, .qtcode: 0x00000051, .modifiers: 0x00, .flags: 0x02, .special: 0x0000 }, |
109 | { .keycode: 16, .unicode: 0x0051, .qtcode: 0x00000051, .modifiers: 0x01, .flags: 0x02, .special: 0x0000 }, |
110 | { .keycode: 16, .unicode: 0x0071, .qtcode: 0x00000051, .modifiers: 0x02, .flags: 0x02, .special: 0x0000 }, |
111 | { .keycode: 16, .unicode: 0x0051, .qtcode: 0x00000051, .modifiers: 0x03, .flags: 0x02, .special: 0x0000 }, |
112 | { .keycode: 16, .unicode: 0x0071, .qtcode: 0x04000051, .modifiers: 0x04, .flags: 0x02, .special: 0x0000 }, |
113 | { .keycode: 16, .unicode: 0x0071, .qtcode: 0x04000051, .modifiers: 0x05, .flags: 0x02, .special: 0x0000 }, |
114 | { .keycode: 16, .unicode: 0x0071, .qtcode: 0x04000051, .modifiers: 0x06, .flags: 0x02, .special: 0x0000 }, |
115 | { .keycode: 16, .unicode: 0x0071, .qtcode: 0x04000051, .modifiers: 0x07, .flags: 0x02, .special: 0x0000 }, |
116 | { .keycode: 16, .unicode: 0x0071, .qtcode: 0x08000051, .modifiers: 0x08, .flags: 0x02, .special: 0x0000 }, |
117 | { .keycode: 16, .unicode: 0x0071, .qtcode: 0x08000051, .modifiers: 0x09, .flags: 0x02, .special: 0x0000 }, |
118 | { .keycode: 16, .unicode: 0x0071, .qtcode: 0x08000051, .modifiers: 0x0a, .flags: 0x02, .special: 0x0000 }, |
119 | { .keycode: 16, .unicode: 0x0071, .qtcode: 0x08000051, .modifiers: 0x0b, .flags: 0x02, .special: 0x0000 }, |
120 | { .keycode: 16, .unicode: 0x0071, .qtcode: 0x0c000051, .modifiers: 0x0c, .flags: 0x02, .special: 0x0000 }, |
121 | { .keycode: 16, .unicode: 0x0071, .qtcode: 0x0c000051, .modifiers: 0x0d, .flags: 0x02, .special: 0x0000 }, |
122 | { .keycode: 16, .unicode: 0x0071, .qtcode: 0x0c000051, .modifiers: 0x0e, .flags: 0x02, .special: 0x0000 }, |
123 | { .keycode: 16, .unicode: 0x0071, .qtcode: 0x0c000051, .modifiers: 0x0f, .flags: 0x02, .special: 0x0000 }, |
124 | { .keycode: 17, .unicode: 0x0077, .qtcode: 0x00000057, .modifiers: 0x00, .flags: 0x02, .special: 0x0000 }, |
125 | { .keycode: 17, .unicode: 0x0057, .qtcode: 0x00000057, .modifiers: 0x01, .flags: 0x02, .special: 0x0000 }, |
126 | { .keycode: 17, .unicode: 0x0077, .qtcode: 0x00000057, .modifiers: 0x02, .flags: 0x02, .special: 0x0000 }, |
127 | { .keycode: 17, .unicode: 0x0057, .qtcode: 0x00000057, .modifiers: 0x03, .flags: 0x02, .special: 0x0000 }, |
128 | { .keycode: 17, .unicode: 0x0077, .qtcode: 0x04000057, .modifiers: 0x04, .flags: 0x02, .special: 0x0000 }, |
129 | { .keycode: 17, .unicode: 0x0077, .qtcode: 0x04000057, .modifiers: 0x05, .flags: 0x02, .special: 0x0000 }, |
130 | { .keycode: 17, .unicode: 0x0077, .qtcode: 0x04000057, .modifiers: 0x06, .flags: 0x02, .special: 0x0000 }, |
131 | { .keycode: 17, .unicode: 0x0077, .qtcode: 0x04000057, .modifiers: 0x07, .flags: 0x02, .special: 0x0000 }, |
132 | { .keycode: 17, .unicode: 0x0077, .qtcode: 0x08000057, .modifiers: 0x08, .flags: 0x02, .special: 0x0000 }, |
133 | { .keycode: 17, .unicode: 0x0077, .qtcode: 0x08000057, .modifiers: 0x09, .flags: 0x02, .special: 0x0000 }, |
134 | { .keycode: 17, .unicode: 0x0077, .qtcode: 0x08000057, .modifiers: 0x0a, .flags: 0x02, .special: 0x0000 }, |
135 | { .keycode: 17, .unicode: 0x0077, .qtcode: 0x08000057, .modifiers: 0x0b, .flags: 0x02, .special: 0x0000 }, |
136 | { .keycode: 17, .unicode: 0x0077, .qtcode: 0x0c000057, .modifiers: 0x0c, .flags: 0x02, .special: 0x0000 }, |
137 | { .keycode: 17, .unicode: 0x0077, .qtcode: 0x0c000057, .modifiers: 0x0d, .flags: 0x02, .special: 0x0000 }, |
138 | { .keycode: 17, .unicode: 0x0077, .qtcode: 0x0c000057, .modifiers: 0x0e, .flags: 0x02, .special: 0x0000 }, |
139 | { .keycode: 17, .unicode: 0x0077, .qtcode: 0x0c000057, .modifiers: 0x0f, .flags: 0x02, .special: 0x0000 }, |
140 | { .keycode: 18, .unicode: 0x0065, .qtcode: 0x00000045, .modifiers: 0x00, .flags: 0x02, .special: 0x0000 }, |
141 | { .keycode: 18, .unicode: 0x0045, .qtcode: 0x00000045, .modifiers: 0x01, .flags: 0x02, .special: 0x0000 }, |
142 | { .keycode: 18, .unicode: 0x0065, .qtcode: 0x00000045, .modifiers: 0x02, .flags: 0x02, .special: 0x0000 }, |
143 | { .keycode: 18, .unicode: 0x0045, .qtcode: 0x00000045, .modifiers: 0x03, .flags: 0x02, .special: 0x0000 }, |
144 | { .keycode: 18, .unicode: 0x0065, .qtcode: 0x04000045, .modifiers: 0x04, .flags: 0x02, .special: 0x0000 }, |
145 | { .keycode: 18, .unicode: 0x0065, .qtcode: 0x04000045, .modifiers: 0x05, .flags: 0x02, .special: 0x0000 }, |
146 | { .keycode: 18, .unicode: 0x0065, .qtcode: 0x04000045, .modifiers: 0x06, .flags: 0x02, .special: 0x0000 }, |
147 | { .keycode: 18, .unicode: 0x0065, .qtcode: 0x04000045, .modifiers: 0x07, .flags: 0x02, .special: 0x0000 }, |
148 | { .keycode: 18, .unicode: 0x0065, .qtcode: 0x08000045, .modifiers: 0x08, .flags: 0x02, .special: 0x0000 }, |
149 | { .keycode: 18, .unicode: 0x0065, .qtcode: 0x08000045, .modifiers: 0x09, .flags: 0x02, .special: 0x0000 }, |
150 | { .keycode: 18, .unicode: 0x0065, .qtcode: 0x08000045, .modifiers: 0x0a, .flags: 0x02, .special: 0x0000 }, |
151 | { .keycode: 18, .unicode: 0x0065, .qtcode: 0x08000045, .modifiers: 0x0b, .flags: 0x02, .special: 0x0000 }, |
152 | { .keycode: 18, .unicode: 0x0065, .qtcode: 0x0c000045, .modifiers: 0x0c, .flags: 0x02, .special: 0x0000 }, |
153 | { .keycode: 18, .unicode: 0x0065, .qtcode: 0x0c000045, .modifiers: 0x0d, .flags: 0x02, .special: 0x0000 }, |
154 | { .keycode: 18, .unicode: 0x0065, .qtcode: 0x0c000045, .modifiers: 0x0e, .flags: 0x02, .special: 0x0000 }, |
155 | { .keycode: 18, .unicode: 0x0065, .qtcode: 0x0c000045, .modifiers: 0x0f, .flags: 0x02, .special: 0x0000 }, |
156 | { .keycode: 19, .unicode: 0x0072, .qtcode: 0x00000052, .modifiers: 0x00, .flags: 0x02, .special: 0x0000 }, |
157 | { .keycode: 19, .unicode: 0x0052, .qtcode: 0x00000052, .modifiers: 0x01, .flags: 0x02, .special: 0x0000 }, |
158 | { .keycode: 19, .unicode: 0x0072, .qtcode: 0x00000052, .modifiers: 0x02, .flags: 0x02, .special: 0x0000 }, |
159 | { .keycode: 19, .unicode: 0x0052, .qtcode: 0x00000052, .modifiers: 0x03, .flags: 0x02, .special: 0x0000 }, |
160 | { .keycode: 19, .unicode: 0x0072, .qtcode: 0x04000052, .modifiers: 0x04, .flags: 0x02, .special: 0x0000 }, |
161 | { .keycode: 19, .unicode: 0x0072, .qtcode: 0x04000052, .modifiers: 0x05, .flags: 0x02, .special: 0x0000 }, |
162 | { .keycode: 19, .unicode: 0x0072, .qtcode: 0x04000052, .modifiers: 0x06, .flags: 0x02, .special: 0x0000 }, |
163 | { .keycode: 19, .unicode: 0x0072, .qtcode: 0x04000052, .modifiers: 0x07, .flags: 0x02, .special: 0x0000 }, |
164 | { .keycode: 19, .unicode: 0x0072, .qtcode: 0x08000052, .modifiers: 0x08, .flags: 0x02, .special: 0x0000 }, |
165 | { .keycode: 19, .unicode: 0x0072, .qtcode: 0x08000052, .modifiers: 0x09, .flags: 0x02, .special: 0x0000 }, |
166 | { .keycode: 19, .unicode: 0x0072, .qtcode: 0x08000052, .modifiers: 0x0a, .flags: 0x02, .special: 0x0000 }, |
167 | { .keycode: 19, .unicode: 0x0072, .qtcode: 0x08000052, .modifiers: 0x0b, .flags: 0x02, .special: 0x0000 }, |
168 | { .keycode: 19, .unicode: 0x0072, .qtcode: 0x0c000052, .modifiers: 0x0c, .flags: 0x02, .special: 0x0000 }, |
169 | { .keycode: 19, .unicode: 0x0072, .qtcode: 0x0c000052, .modifiers: 0x0d, .flags: 0x02, .special: 0x0000 }, |
170 | { .keycode: 19, .unicode: 0x0072, .qtcode: 0x0c000052, .modifiers: 0x0e, .flags: 0x02, .special: 0x0000 }, |
171 | { .keycode: 19, .unicode: 0x0072, .qtcode: 0x0c000052, .modifiers: 0x0f, .flags: 0x02, .special: 0x0000 }, |
172 | { .keycode: 20, .unicode: 0x0074, .qtcode: 0x00000054, .modifiers: 0x00, .flags: 0x02, .special: 0x0000 }, |
173 | { .keycode: 20, .unicode: 0x0054, .qtcode: 0x00000054, .modifiers: 0x01, .flags: 0x02, .special: 0x0000 }, |
174 | { .keycode: 20, .unicode: 0x0074, .qtcode: 0x00000054, .modifiers: 0x02, .flags: 0x02, .special: 0x0000 }, |
175 | { .keycode: 20, .unicode: 0x0054, .qtcode: 0x00000054, .modifiers: 0x03, .flags: 0x02, .special: 0x0000 }, |
176 | { .keycode: 20, .unicode: 0x0074, .qtcode: 0x04000054, .modifiers: 0x04, .flags: 0x02, .special: 0x0000 }, |
177 | { .keycode: 20, .unicode: 0x0074, .qtcode: 0x04000054, .modifiers: 0x05, .flags: 0x02, .special: 0x0000 }, |
178 | { .keycode: 20, .unicode: 0x0074, .qtcode: 0x04000054, .modifiers: 0x06, .flags: 0x02, .special: 0x0000 }, |
179 | { .keycode: 20, .unicode: 0x0074, .qtcode: 0x04000054, .modifiers: 0x07, .flags: 0x02, .special: 0x0000 }, |
180 | { .keycode: 20, .unicode: 0x0074, .qtcode: 0x08000054, .modifiers: 0x08, .flags: 0x02, .special: 0x0000 }, |
181 | { .keycode: 20, .unicode: 0x0074, .qtcode: 0x08000054, .modifiers: 0x09, .flags: 0x02, .special: 0x0000 }, |
182 | { .keycode: 20, .unicode: 0x0074, .qtcode: 0x08000054, .modifiers: 0x0a, .flags: 0x02, .special: 0x0000 }, |
183 | { .keycode: 20, .unicode: 0x0074, .qtcode: 0x08000054, .modifiers: 0x0b, .flags: 0x02, .special: 0x0000 }, |
184 | { .keycode: 20, .unicode: 0x0074, .qtcode: 0x0c000054, .modifiers: 0x0c, .flags: 0x02, .special: 0x0000 }, |
185 | { .keycode: 20, .unicode: 0x0074, .qtcode: 0x0c000054, .modifiers: 0x0d, .flags: 0x02, .special: 0x0000 }, |
186 | { .keycode: 20, .unicode: 0x0074, .qtcode: 0x0c000054, .modifiers: 0x0e, .flags: 0x02, .special: 0x0000 }, |
187 | { .keycode: 20, .unicode: 0x0074, .qtcode: 0x0c000054, .modifiers: 0x0f, .flags: 0x02, .special: 0x0000 }, |
188 | { .keycode: 21, .unicode: 0x0079, .qtcode: 0x00000059, .modifiers: 0x00, .flags: 0x02, .special: 0x0000 }, |
189 | { .keycode: 21, .unicode: 0x0059, .qtcode: 0x00000059, .modifiers: 0x01, .flags: 0x02, .special: 0x0000 }, |
190 | { .keycode: 21, .unicode: 0x0079, .qtcode: 0x00000059, .modifiers: 0x02, .flags: 0x02, .special: 0x0000 }, |
191 | { .keycode: 21, .unicode: 0x0059, .qtcode: 0x00000059, .modifiers: 0x03, .flags: 0x02, .special: 0x0000 }, |
192 | { .keycode: 21, .unicode: 0x0079, .qtcode: 0x04000059, .modifiers: 0x04, .flags: 0x02, .special: 0x0000 }, |
193 | { .keycode: 21, .unicode: 0x0079, .qtcode: 0x04000059, .modifiers: 0x05, .flags: 0x02, .special: 0x0000 }, |
194 | { .keycode: 21, .unicode: 0x0079, .qtcode: 0x04000059, .modifiers: 0x06, .flags: 0x02, .special: 0x0000 }, |
195 | { .keycode: 21, .unicode: 0x0079, .qtcode: 0x04000059, .modifiers: 0x07, .flags: 0x02, .special: 0x0000 }, |
196 | { .keycode: 21, .unicode: 0x0079, .qtcode: 0x08000059, .modifiers: 0x08, .flags: 0x02, .special: 0x0000 }, |
197 | { .keycode: 21, .unicode: 0x0079, .qtcode: 0x08000059, .modifiers: 0x09, .flags: 0x02, .special: 0x0000 }, |
198 | { .keycode: 21, .unicode: 0x0079, .qtcode: 0x08000059, .modifiers: 0x0a, .flags: 0x02, .special: 0x0000 }, |
199 | { .keycode: 21, .unicode: 0x0079, .qtcode: 0x08000059, .modifiers: 0x0b, .flags: 0x02, .special: 0x0000 }, |
200 | { .keycode: 21, .unicode: 0x0079, .qtcode: 0x0c000059, .modifiers: 0x0c, .flags: 0x02, .special: 0x0000 }, |
201 | { .keycode: 21, .unicode: 0x0079, .qtcode: 0x0c000059, .modifiers: 0x0d, .flags: 0x02, .special: 0x0000 }, |
202 | { .keycode: 21, .unicode: 0x0079, .qtcode: 0x0c000059, .modifiers: 0x0e, .flags: 0x02, .special: 0x0000 }, |
203 | { .keycode: 21, .unicode: 0x0079, .qtcode: 0x0c000059, .modifiers: 0x0f, .flags: 0x02, .special: 0x0000 }, |
204 | { .keycode: 22, .unicode: 0x0075, .qtcode: 0x00000055, .modifiers: 0x00, .flags: 0x02, .special: 0x0000 }, |
205 | { .keycode: 22, .unicode: 0x0055, .qtcode: 0x00000055, .modifiers: 0x01, .flags: 0x02, .special: 0x0000 }, |
206 | { .keycode: 22, .unicode: 0x0075, .qtcode: 0x00000055, .modifiers: 0x02, .flags: 0x02, .special: 0x0000 }, |
207 | { .keycode: 22, .unicode: 0x0055, .qtcode: 0x00000055, .modifiers: 0x03, .flags: 0x02, .special: 0x0000 }, |
208 | { .keycode: 22, .unicode: 0x0075, .qtcode: 0x04000055, .modifiers: 0x04, .flags: 0x02, .special: 0x0000 }, |
209 | { .keycode: 22, .unicode: 0x0075, .qtcode: 0x04000055, .modifiers: 0x05, .flags: 0x02, .special: 0x0000 }, |
210 | { .keycode: 22, .unicode: 0x0075, .qtcode: 0x04000055, .modifiers: 0x06, .flags: 0x02, .special: 0x0000 }, |
211 | { .keycode: 22, .unicode: 0x0075, .qtcode: 0x04000055, .modifiers: 0x07, .flags: 0x02, .special: 0x0000 }, |
212 | { .keycode: 22, .unicode: 0x0075, .qtcode: 0x08000055, .modifiers: 0x08, .flags: 0x02, .special: 0x0000 }, |
213 | { .keycode: 22, .unicode: 0x0075, .qtcode: 0x08000055, .modifiers: 0x09, .flags: 0x02, .special: 0x0000 }, |
214 | { .keycode: 22, .unicode: 0x0075, .qtcode: 0x08000055, .modifiers: 0x0a, .flags: 0x02, .special: 0x0000 }, |
215 | { .keycode: 22, .unicode: 0x0075, .qtcode: 0x08000055, .modifiers: 0x0b, .flags: 0x02, .special: 0x0000 }, |
216 | { .keycode: 22, .unicode: 0x0075, .qtcode: 0x0c000055, .modifiers: 0x0c, .flags: 0x02, .special: 0x0000 }, |
217 | { .keycode: 22, .unicode: 0x0075, .qtcode: 0x0c000055, .modifiers: 0x0d, .flags: 0x02, .special: 0x0000 }, |
218 | { .keycode: 22, .unicode: 0x0075, .qtcode: 0x0c000055, .modifiers: 0x0e, .flags: 0x02, .special: 0x0000 }, |
219 | { .keycode: 22, .unicode: 0x0075, .qtcode: 0x0c000055, .modifiers: 0x0f, .flags: 0x02, .special: 0x0000 }, |
220 | { .keycode: 23, .unicode: 0x0069, .qtcode: 0x00000049, .modifiers: 0x00, .flags: 0x02, .special: 0x0000 }, |
221 | { .keycode: 23, .unicode: 0x0049, .qtcode: 0x00000049, .modifiers: 0x01, .flags: 0x02, .special: 0x0000 }, |
222 | { .keycode: 23, .unicode: 0x0069, .qtcode: 0x00000049, .modifiers: 0x02, .flags: 0x02, .special: 0x0000 }, |
223 | { .keycode: 23, .unicode: 0x0049, .qtcode: 0x00000049, .modifiers: 0x03, .flags: 0x02, .special: 0x0000 }, |
224 | { .keycode: 23, .unicode: 0x0069, .qtcode: 0x04000049, .modifiers: 0x04, .flags: 0x02, .special: 0x0000 }, |
225 | { .keycode: 23, .unicode: 0x0069, .qtcode: 0x04000049, .modifiers: 0x05, .flags: 0x02, .special: 0x0000 }, |
226 | { .keycode: 23, .unicode: 0x0069, .qtcode: 0x04000049, .modifiers: 0x06, .flags: 0x02, .special: 0x0000 }, |
227 | { .keycode: 23, .unicode: 0x0069, .qtcode: 0x04000049, .modifiers: 0x07, .flags: 0x02, .special: 0x0000 }, |
228 | { .keycode: 23, .unicode: 0x0069, .qtcode: 0x08000049, .modifiers: 0x08, .flags: 0x02, .special: 0x0000 }, |
229 | { .keycode: 23, .unicode: 0x0069, .qtcode: 0x08000049, .modifiers: 0x09, .flags: 0x02, .special: 0x0000 }, |
230 | { .keycode: 23, .unicode: 0x0069, .qtcode: 0x08000049, .modifiers: 0x0a, .flags: 0x02, .special: 0x0000 }, |
231 | { .keycode: 23, .unicode: 0x0069, .qtcode: 0x08000049, .modifiers: 0x0b, .flags: 0x02, .special: 0x0000 }, |
232 | { .keycode: 23, .unicode: 0x0069, .qtcode: 0x0c000049, .modifiers: 0x0c, .flags: 0x02, .special: 0x0000 }, |
233 | { .keycode: 23, .unicode: 0x0069, .qtcode: 0x0c000049, .modifiers: 0x0d, .flags: 0x02, .special: 0x0000 }, |
234 | { .keycode: 23, .unicode: 0x0069, .qtcode: 0x0c000049, .modifiers: 0x0e, .flags: 0x02, .special: 0x0000 }, |
235 | { .keycode: 23, .unicode: 0x0069, .qtcode: 0x0c000049, .modifiers: 0x0f, .flags: 0x02, .special: 0x0000 }, |
236 | { .keycode: 24, .unicode: 0x006f, .qtcode: 0x0000004f, .modifiers: 0x00, .flags: 0x02, .special: 0x0000 }, |
237 | { .keycode: 24, .unicode: 0x004f, .qtcode: 0x0000004f, .modifiers: 0x01, .flags: 0x02, .special: 0x0000 }, |
238 | { .keycode: 24, .unicode: 0x006f, .qtcode: 0x0000004f, .modifiers: 0x02, .flags: 0x02, .special: 0x0000 }, |
239 | { .keycode: 24, .unicode: 0x004f, .qtcode: 0x0000004f, .modifiers: 0x03, .flags: 0x02, .special: 0x0000 }, |
240 | { .keycode: 24, .unicode: 0x006f, .qtcode: 0x0400004f, .modifiers: 0x04, .flags: 0x02, .special: 0x0000 }, |
241 | { .keycode: 24, .unicode: 0x006f, .qtcode: 0x0400004f, .modifiers: 0x05, .flags: 0x02, .special: 0x0000 }, |
242 | { .keycode: 24, .unicode: 0x006f, .qtcode: 0x0400004f, .modifiers: 0x06, .flags: 0x02, .special: 0x0000 }, |
243 | { .keycode: 24, .unicode: 0x006f, .qtcode: 0x0400004f, .modifiers: 0x07, .flags: 0x02, .special: 0x0000 }, |
244 | { .keycode: 24, .unicode: 0x006f, .qtcode: 0x0800004f, .modifiers: 0x08, .flags: 0x02, .special: 0x0000 }, |
245 | { .keycode: 24, .unicode: 0x006f, .qtcode: 0x0800004f, .modifiers: 0x09, .flags: 0x02, .special: 0x0000 }, |
246 | { .keycode: 24, .unicode: 0x006f, .qtcode: 0x0800004f, .modifiers: 0x0a, .flags: 0x02, .special: 0x0000 }, |
247 | { .keycode: 24, .unicode: 0x006f, .qtcode: 0x0800004f, .modifiers: 0x0b, .flags: 0x02, .special: 0x0000 }, |
248 | { .keycode: 24, .unicode: 0x006f, .qtcode: 0x0c00004f, .modifiers: 0x0c, .flags: 0x02, .special: 0x0000 }, |
249 | { .keycode: 24, .unicode: 0x006f, .qtcode: 0x0c00004f, .modifiers: 0x0d, .flags: 0x02, .special: 0x0000 }, |
250 | { .keycode: 24, .unicode: 0x006f, .qtcode: 0x0c00004f, .modifiers: 0x0e, .flags: 0x02, .special: 0x0000 }, |
251 | { .keycode: 24, .unicode: 0x006f, .qtcode: 0x0c00004f, .modifiers: 0x0f, .flags: 0x02, .special: 0x0000 }, |
252 | { .keycode: 25, .unicode: 0x0070, .qtcode: 0x00000050, .modifiers: 0x00, .flags: 0x02, .special: 0x0000 }, |
253 | { .keycode: 25, .unicode: 0x0050, .qtcode: 0x00000050, .modifiers: 0x01, .flags: 0x02, .special: 0x0000 }, |
254 | { .keycode: 25, .unicode: 0x0070, .qtcode: 0x00000050, .modifiers: 0x02, .flags: 0x02, .special: 0x0000 }, |
255 | { .keycode: 25, .unicode: 0x0050, .qtcode: 0x00000050, .modifiers: 0x03, .flags: 0x02, .special: 0x0000 }, |
256 | { .keycode: 25, .unicode: 0x0070, .qtcode: 0x04000050, .modifiers: 0x04, .flags: 0x02, .special: 0x0000 }, |
257 | { .keycode: 25, .unicode: 0x0070, .qtcode: 0x04000050, .modifiers: 0x05, .flags: 0x02, .special: 0x0000 }, |
258 | { .keycode: 25, .unicode: 0x0070, .qtcode: 0x04000050, .modifiers: 0x06, .flags: 0x02, .special: 0x0000 }, |
259 | { .keycode: 25, .unicode: 0x0070, .qtcode: 0x04000050, .modifiers: 0x07, .flags: 0x02, .special: 0x0000 }, |
260 | { .keycode: 25, .unicode: 0x0070, .qtcode: 0x08000050, .modifiers: 0x08, .flags: 0x02, .special: 0x0000 }, |
261 | { .keycode: 25, .unicode: 0x0070, .qtcode: 0x08000050, .modifiers: 0x09, .flags: 0x02, .special: 0x0000 }, |
262 | { .keycode: 25, .unicode: 0x0070, .qtcode: 0x08000050, .modifiers: 0x0a, .flags: 0x02, .special: 0x0000 }, |
263 | { .keycode: 25, .unicode: 0x0070, .qtcode: 0x08000050, .modifiers: 0x0b, .flags: 0x02, .special: 0x0000 }, |
264 | { .keycode: 25, .unicode: 0x0070, .qtcode: 0x0c000050, .modifiers: 0x0c, .flags: 0x02, .special: 0x0000 }, |
265 | { .keycode: 25, .unicode: 0x0070, .qtcode: 0x0c000050, .modifiers: 0x0d, .flags: 0x02, .special: 0x0000 }, |
266 | { .keycode: 25, .unicode: 0x0070, .qtcode: 0x0c000050, .modifiers: 0x0e, .flags: 0x02, .special: 0x0000 }, |
267 | { .keycode: 25, .unicode: 0x0070, .qtcode: 0x0c000050, .modifiers: 0x0f, .flags: 0x02, .special: 0x0000 }, |
268 | { .keycode: 26, .unicode: 0x005b, .qtcode: 0x0000005b, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
269 | { .keycode: 26, .unicode: 0x007b, .qtcode: 0x0000007b, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
270 | { .keycode: 26, .unicode: 0xffff, .qtcode: 0x01000000, .modifiers: 0x04, .flags: 0x00, .special: 0x0000 }, |
271 | { .keycode: 27, .unicode: 0x005d, .qtcode: 0x0000005d, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
272 | { .keycode: 27, .unicode: 0x007d, .qtcode: 0x0000007d, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
273 | { .keycode: 27, .unicode: 0x007e, .qtcode: 0x0000007e, .modifiers: 0x02, .flags: 0x00, .special: 0x0000 }, |
274 | { .keycode: 27, .unicode: 0x005d, .qtcode: 0x0400005d, .modifiers: 0x04, .flags: 0x00, .special: 0x0000 }, |
275 | { .keycode: 28, .unicode: 0xffff, .qtcode: 0x01000004, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
276 | { .keycode: 28, .unicode: 0x006d, .qtcode: 0x0c00004d, .modifiers: 0x08, .flags: 0x00, .special: 0x0000 }, |
277 | { .keycode: 29, .unicode: 0xffff, .qtcode: 0x01000021, .modifiers: 0x00, .flags: 0x04, .special: 0x0004 }, |
278 | { .keycode: 30, .unicode: 0x0061, .qtcode: 0x00000041, .modifiers: 0x00, .flags: 0x02, .special: 0x0000 }, |
279 | { .keycode: 30, .unicode: 0x0041, .qtcode: 0x00000041, .modifiers: 0x01, .flags: 0x02, .special: 0x0000 }, |
280 | { .keycode: 30, .unicode: 0x0061, .qtcode: 0x00000041, .modifiers: 0x02, .flags: 0x02, .special: 0x0000 }, |
281 | { .keycode: 30, .unicode: 0x0041, .qtcode: 0x00000041, .modifiers: 0x03, .flags: 0x02, .special: 0x0000 }, |
282 | { .keycode: 30, .unicode: 0x0061, .qtcode: 0x04000041, .modifiers: 0x04, .flags: 0x02, .special: 0x0000 }, |
283 | { .keycode: 30, .unicode: 0x0061, .qtcode: 0x04000041, .modifiers: 0x05, .flags: 0x02, .special: 0x0000 }, |
284 | { .keycode: 30, .unicode: 0x0061, .qtcode: 0x04000041, .modifiers: 0x06, .flags: 0x02, .special: 0x0000 }, |
285 | { .keycode: 30, .unicode: 0x0061, .qtcode: 0x04000041, .modifiers: 0x07, .flags: 0x02, .special: 0x0000 }, |
286 | { .keycode: 30, .unicode: 0x0061, .qtcode: 0x08000041, .modifiers: 0x08, .flags: 0x02, .special: 0x0000 }, |
287 | { .keycode: 30, .unicode: 0x0061, .qtcode: 0x08000041, .modifiers: 0x09, .flags: 0x02, .special: 0x0000 }, |
288 | { .keycode: 30, .unicode: 0x0061, .qtcode: 0x08000041, .modifiers: 0x0a, .flags: 0x02, .special: 0x0000 }, |
289 | { .keycode: 30, .unicode: 0x0061, .qtcode: 0x08000041, .modifiers: 0x0b, .flags: 0x02, .special: 0x0000 }, |
290 | { .keycode: 30, .unicode: 0x0061, .qtcode: 0x0c000041, .modifiers: 0x0c, .flags: 0x02, .special: 0x0000 }, |
291 | { .keycode: 30, .unicode: 0x0061, .qtcode: 0x0c000041, .modifiers: 0x0d, .flags: 0x02, .special: 0x0000 }, |
292 | { .keycode: 30, .unicode: 0x0061, .qtcode: 0x0c000041, .modifiers: 0x0e, .flags: 0x02, .special: 0x0000 }, |
293 | { .keycode: 30, .unicode: 0x0061, .qtcode: 0x0c000041, .modifiers: 0x0f, .flags: 0x02, .special: 0x0000 }, |
294 | { .keycode: 31, .unicode: 0x0073, .qtcode: 0x00000053, .modifiers: 0x00, .flags: 0x02, .special: 0x0000 }, |
295 | { .keycode: 31, .unicode: 0x0053, .qtcode: 0x00000053, .modifiers: 0x01, .flags: 0x02, .special: 0x0000 }, |
296 | { .keycode: 31, .unicode: 0x0073, .qtcode: 0x00000053, .modifiers: 0x02, .flags: 0x02, .special: 0x0000 }, |
297 | { .keycode: 31, .unicode: 0x0053, .qtcode: 0x00000053, .modifiers: 0x03, .flags: 0x02, .special: 0x0000 }, |
298 | { .keycode: 31, .unicode: 0x0073, .qtcode: 0x04000053, .modifiers: 0x04, .flags: 0x02, .special: 0x0000 }, |
299 | { .keycode: 31, .unicode: 0x0073, .qtcode: 0x04000053, .modifiers: 0x05, .flags: 0x02, .special: 0x0000 }, |
300 | { .keycode: 31, .unicode: 0x0073, .qtcode: 0x04000053, .modifiers: 0x06, .flags: 0x02, .special: 0x0000 }, |
301 | { .keycode: 31, .unicode: 0x0073, .qtcode: 0x04000053, .modifiers: 0x07, .flags: 0x02, .special: 0x0000 }, |
302 | { .keycode: 31, .unicode: 0x0073, .qtcode: 0x08000053, .modifiers: 0x08, .flags: 0x02, .special: 0x0000 }, |
303 | { .keycode: 31, .unicode: 0x0073, .qtcode: 0x08000053, .modifiers: 0x09, .flags: 0x02, .special: 0x0000 }, |
304 | { .keycode: 31, .unicode: 0x0073, .qtcode: 0x08000053, .modifiers: 0x0a, .flags: 0x02, .special: 0x0000 }, |
305 | { .keycode: 31, .unicode: 0x0073, .qtcode: 0x08000053, .modifiers: 0x0b, .flags: 0x02, .special: 0x0000 }, |
306 | { .keycode: 31, .unicode: 0x0073, .qtcode: 0x0c000053, .modifiers: 0x0c, .flags: 0x02, .special: 0x0000 }, |
307 | { .keycode: 31, .unicode: 0x0073, .qtcode: 0x0c000053, .modifiers: 0x0d, .flags: 0x02, .special: 0x0000 }, |
308 | { .keycode: 31, .unicode: 0x0073, .qtcode: 0x0c000053, .modifiers: 0x0e, .flags: 0x02, .special: 0x0000 }, |
309 | { .keycode: 31, .unicode: 0x0073, .qtcode: 0x0c000053, .modifiers: 0x0f, .flags: 0x02, .special: 0x0000 }, |
310 | { .keycode: 32, .unicode: 0x0064, .qtcode: 0x00000044, .modifiers: 0x00, .flags: 0x02, .special: 0x0000 }, |
311 | { .keycode: 32, .unicode: 0x0044, .qtcode: 0x00000044, .modifiers: 0x01, .flags: 0x02, .special: 0x0000 }, |
312 | { .keycode: 32, .unicode: 0x0064, .qtcode: 0x00000044, .modifiers: 0x02, .flags: 0x02, .special: 0x0000 }, |
313 | { .keycode: 32, .unicode: 0x0044, .qtcode: 0x00000044, .modifiers: 0x03, .flags: 0x02, .special: 0x0000 }, |
314 | { .keycode: 32, .unicode: 0x0064, .qtcode: 0x04000044, .modifiers: 0x04, .flags: 0x02, .special: 0x0000 }, |
315 | { .keycode: 32, .unicode: 0x0064, .qtcode: 0x04000044, .modifiers: 0x05, .flags: 0x02, .special: 0x0000 }, |
316 | { .keycode: 32, .unicode: 0x0064, .qtcode: 0x04000044, .modifiers: 0x06, .flags: 0x02, .special: 0x0000 }, |
317 | { .keycode: 32, .unicode: 0x0064, .qtcode: 0x04000044, .modifiers: 0x07, .flags: 0x02, .special: 0x0000 }, |
318 | { .keycode: 32, .unicode: 0x0064, .qtcode: 0x08000044, .modifiers: 0x08, .flags: 0x02, .special: 0x0000 }, |
319 | { .keycode: 32, .unicode: 0x0064, .qtcode: 0x08000044, .modifiers: 0x09, .flags: 0x02, .special: 0x0000 }, |
320 | { .keycode: 32, .unicode: 0x0064, .qtcode: 0x08000044, .modifiers: 0x0a, .flags: 0x02, .special: 0x0000 }, |
321 | { .keycode: 32, .unicode: 0x0064, .qtcode: 0x08000044, .modifiers: 0x0b, .flags: 0x02, .special: 0x0000 }, |
322 | { .keycode: 32, .unicode: 0x0064, .qtcode: 0x0c000044, .modifiers: 0x0c, .flags: 0x02, .special: 0x0000 }, |
323 | { .keycode: 32, .unicode: 0x0064, .qtcode: 0x0c000044, .modifiers: 0x0d, .flags: 0x02, .special: 0x0000 }, |
324 | { .keycode: 32, .unicode: 0x0064, .qtcode: 0x0c000044, .modifiers: 0x0e, .flags: 0x02, .special: 0x0000 }, |
325 | { .keycode: 32, .unicode: 0x0064, .qtcode: 0x0c000044, .modifiers: 0x0f, .flags: 0x02, .special: 0x0000 }, |
326 | { .keycode: 33, .unicode: 0x0066, .qtcode: 0x00000046, .modifiers: 0x00, .flags: 0x02, .special: 0x0000 }, |
327 | { .keycode: 33, .unicode: 0x0046, .qtcode: 0x00000046, .modifiers: 0x01, .flags: 0x02, .special: 0x0000 }, |
328 | { .keycode: 33, .unicode: 0x0066, .qtcode: 0x00000046, .modifiers: 0x02, .flags: 0x02, .special: 0x0000 }, |
329 | { .keycode: 33, .unicode: 0x0046, .qtcode: 0x00000046, .modifiers: 0x03, .flags: 0x02, .special: 0x0000 }, |
330 | { .keycode: 33, .unicode: 0x0066, .qtcode: 0x04000046, .modifiers: 0x04, .flags: 0x02, .special: 0x0000 }, |
331 | { .keycode: 33, .unicode: 0x0066, .qtcode: 0x04000046, .modifiers: 0x05, .flags: 0x02, .special: 0x0000 }, |
332 | { .keycode: 33, .unicode: 0x0066, .qtcode: 0x04000046, .modifiers: 0x06, .flags: 0x02, .special: 0x0000 }, |
333 | { .keycode: 33, .unicode: 0x0066, .qtcode: 0x04000046, .modifiers: 0x07, .flags: 0x02, .special: 0x0000 }, |
334 | { .keycode: 33, .unicode: 0x0066, .qtcode: 0x08000046, .modifiers: 0x08, .flags: 0x02, .special: 0x0000 }, |
335 | { .keycode: 33, .unicode: 0x0066, .qtcode: 0x08000046, .modifiers: 0x09, .flags: 0x02, .special: 0x0000 }, |
336 | { .keycode: 33, .unicode: 0x0066, .qtcode: 0x08000046, .modifiers: 0x0a, .flags: 0x02, .special: 0x0000 }, |
337 | { .keycode: 33, .unicode: 0x0066, .qtcode: 0x08000046, .modifiers: 0x0b, .flags: 0x02, .special: 0x0000 }, |
338 | { .keycode: 33, .unicode: 0x0066, .qtcode: 0x0c000046, .modifiers: 0x0c, .flags: 0x02, .special: 0x0000 }, |
339 | { .keycode: 33, .unicode: 0x0066, .qtcode: 0x0c000046, .modifiers: 0x0d, .flags: 0x02, .special: 0x0000 }, |
340 | { .keycode: 33, .unicode: 0x0066, .qtcode: 0x0c000046, .modifiers: 0x0e, .flags: 0x02, .special: 0x0000 }, |
341 | { .keycode: 33, .unicode: 0x0066, .qtcode: 0x0c000046, .modifiers: 0x0f, .flags: 0x02, .special: 0x0000 }, |
342 | { .keycode: 34, .unicode: 0x0067, .qtcode: 0x00000047, .modifiers: 0x00, .flags: 0x02, .special: 0x0000 }, |
343 | { .keycode: 34, .unicode: 0x0047, .qtcode: 0x00000047, .modifiers: 0x01, .flags: 0x02, .special: 0x0000 }, |
344 | { .keycode: 34, .unicode: 0x0067, .qtcode: 0x00000047, .modifiers: 0x02, .flags: 0x02, .special: 0x0000 }, |
345 | { .keycode: 34, .unicode: 0x0047, .qtcode: 0x00000047, .modifiers: 0x03, .flags: 0x02, .special: 0x0000 }, |
346 | { .keycode: 34, .unicode: 0x0067, .qtcode: 0x04000047, .modifiers: 0x04, .flags: 0x02, .special: 0x0000 }, |
347 | { .keycode: 34, .unicode: 0x0067, .qtcode: 0x04000047, .modifiers: 0x05, .flags: 0x02, .special: 0x0000 }, |
348 | { .keycode: 34, .unicode: 0x0067, .qtcode: 0x04000047, .modifiers: 0x06, .flags: 0x02, .special: 0x0000 }, |
349 | { .keycode: 34, .unicode: 0x0067, .qtcode: 0x04000047, .modifiers: 0x07, .flags: 0x02, .special: 0x0000 }, |
350 | { .keycode: 34, .unicode: 0x0067, .qtcode: 0x08000047, .modifiers: 0x08, .flags: 0x02, .special: 0x0000 }, |
351 | { .keycode: 34, .unicode: 0x0067, .qtcode: 0x08000047, .modifiers: 0x09, .flags: 0x02, .special: 0x0000 }, |
352 | { .keycode: 34, .unicode: 0x0067, .qtcode: 0x08000047, .modifiers: 0x0a, .flags: 0x02, .special: 0x0000 }, |
353 | { .keycode: 34, .unicode: 0x0067, .qtcode: 0x08000047, .modifiers: 0x0b, .flags: 0x02, .special: 0x0000 }, |
354 | { .keycode: 34, .unicode: 0x0067, .qtcode: 0x0c000047, .modifiers: 0x0c, .flags: 0x02, .special: 0x0000 }, |
355 | { .keycode: 34, .unicode: 0x0067, .qtcode: 0x0c000047, .modifiers: 0x0d, .flags: 0x02, .special: 0x0000 }, |
356 | { .keycode: 34, .unicode: 0x0067, .qtcode: 0x0c000047, .modifiers: 0x0e, .flags: 0x02, .special: 0x0000 }, |
357 | { .keycode: 34, .unicode: 0x0067, .qtcode: 0x0c000047, .modifiers: 0x0f, .flags: 0x02, .special: 0x0000 }, |
358 | { .keycode: 35, .unicode: 0x0068, .qtcode: 0x00000048, .modifiers: 0x00, .flags: 0x02, .special: 0x0000 }, |
359 | { .keycode: 35, .unicode: 0x0048, .qtcode: 0x00000048, .modifiers: 0x01, .flags: 0x02, .special: 0x0000 }, |
360 | { .keycode: 35, .unicode: 0x0068, .qtcode: 0x00000048, .modifiers: 0x02, .flags: 0x02, .special: 0x0000 }, |
361 | { .keycode: 35, .unicode: 0x0048, .qtcode: 0x00000048, .modifiers: 0x03, .flags: 0x02, .special: 0x0000 }, |
362 | { .keycode: 35, .unicode: 0x0068, .qtcode: 0x04000048, .modifiers: 0x04, .flags: 0x02, .special: 0x0000 }, |
363 | { .keycode: 35, .unicode: 0x0068, .qtcode: 0x04000048, .modifiers: 0x05, .flags: 0x02, .special: 0x0000 }, |
364 | { .keycode: 35, .unicode: 0x0068, .qtcode: 0x04000048, .modifiers: 0x06, .flags: 0x02, .special: 0x0000 }, |
365 | { .keycode: 35, .unicode: 0x0068, .qtcode: 0x04000048, .modifiers: 0x07, .flags: 0x02, .special: 0x0000 }, |
366 | { .keycode: 35, .unicode: 0x0068, .qtcode: 0x08000048, .modifiers: 0x08, .flags: 0x02, .special: 0x0000 }, |
367 | { .keycode: 35, .unicode: 0x0068, .qtcode: 0x08000048, .modifiers: 0x09, .flags: 0x02, .special: 0x0000 }, |
368 | { .keycode: 35, .unicode: 0x0068, .qtcode: 0x08000048, .modifiers: 0x0a, .flags: 0x02, .special: 0x0000 }, |
369 | { .keycode: 35, .unicode: 0x0068, .qtcode: 0x08000048, .modifiers: 0x0b, .flags: 0x02, .special: 0x0000 }, |
370 | { .keycode: 35, .unicode: 0x0068, .qtcode: 0x0c000048, .modifiers: 0x0c, .flags: 0x02, .special: 0x0000 }, |
371 | { .keycode: 35, .unicode: 0x0068, .qtcode: 0x0c000048, .modifiers: 0x0d, .flags: 0x02, .special: 0x0000 }, |
372 | { .keycode: 35, .unicode: 0x0068, .qtcode: 0x0c000048, .modifiers: 0x0e, .flags: 0x02, .special: 0x0000 }, |
373 | { .keycode: 35, .unicode: 0x0068, .qtcode: 0x0c000048, .modifiers: 0x0f, .flags: 0x02, .special: 0x0000 }, |
374 | { .keycode: 36, .unicode: 0x006a, .qtcode: 0x0000004a, .modifiers: 0x00, .flags: 0x02, .special: 0x0000 }, |
375 | { .keycode: 36, .unicode: 0x004a, .qtcode: 0x0000004a, .modifiers: 0x01, .flags: 0x02, .special: 0x0000 }, |
376 | { .keycode: 36, .unicode: 0x006a, .qtcode: 0x0000004a, .modifiers: 0x02, .flags: 0x02, .special: 0x0000 }, |
377 | { .keycode: 36, .unicode: 0x004a, .qtcode: 0x0000004a, .modifiers: 0x03, .flags: 0x02, .special: 0x0000 }, |
378 | { .keycode: 36, .unicode: 0x006a, .qtcode: 0x0400004a, .modifiers: 0x04, .flags: 0x02, .special: 0x0000 }, |
379 | { .keycode: 36, .unicode: 0x006a, .qtcode: 0x0400004a, .modifiers: 0x05, .flags: 0x02, .special: 0x0000 }, |
380 | { .keycode: 36, .unicode: 0x006a, .qtcode: 0x0400004a, .modifiers: 0x06, .flags: 0x02, .special: 0x0000 }, |
381 | { .keycode: 36, .unicode: 0x006a, .qtcode: 0x0400004a, .modifiers: 0x07, .flags: 0x02, .special: 0x0000 }, |
382 | { .keycode: 36, .unicode: 0x006a, .qtcode: 0x0800004a, .modifiers: 0x08, .flags: 0x02, .special: 0x0000 }, |
383 | { .keycode: 36, .unicode: 0x006a, .qtcode: 0x0800004a, .modifiers: 0x09, .flags: 0x02, .special: 0x0000 }, |
384 | { .keycode: 36, .unicode: 0x006a, .qtcode: 0x0800004a, .modifiers: 0x0a, .flags: 0x02, .special: 0x0000 }, |
385 | { .keycode: 36, .unicode: 0x006a, .qtcode: 0x0800004a, .modifiers: 0x0b, .flags: 0x02, .special: 0x0000 }, |
386 | { .keycode: 36, .unicode: 0x006a, .qtcode: 0x0c00004a, .modifiers: 0x0c, .flags: 0x02, .special: 0x0000 }, |
387 | { .keycode: 36, .unicode: 0x006a, .qtcode: 0x0c00004a, .modifiers: 0x0d, .flags: 0x02, .special: 0x0000 }, |
388 | { .keycode: 36, .unicode: 0x006a, .qtcode: 0x0c00004a, .modifiers: 0x0e, .flags: 0x02, .special: 0x0000 }, |
389 | { .keycode: 36, .unicode: 0x006a, .qtcode: 0x0c00004a, .modifiers: 0x0f, .flags: 0x02, .special: 0x0000 }, |
390 | { .keycode: 37, .unicode: 0x006b, .qtcode: 0x0000004b, .modifiers: 0x00, .flags: 0x02, .special: 0x0000 }, |
391 | { .keycode: 37, .unicode: 0x004b, .qtcode: 0x0000004b, .modifiers: 0x01, .flags: 0x02, .special: 0x0000 }, |
392 | { .keycode: 37, .unicode: 0x006b, .qtcode: 0x0000004b, .modifiers: 0x02, .flags: 0x02, .special: 0x0000 }, |
393 | { .keycode: 37, .unicode: 0x004b, .qtcode: 0x0000004b, .modifiers: 0x03, .flags: 0x02, .special: 0x0000 }, |
394 | { .keycode: 37, .unicode: 0x006b, .qtcode: 0x0400004b, .modifiers: 0x04, .flags: 0x02, .special: 0x0000 }, |
395 | { .keycode: 37, .unicode: 0x006b, .qtcode: 0x0400004b, .modifiers: 0x05, .flags: 0x02, .special: 0x0000 }, |
396 | { .keycode: 37, .unicode: 0x006b, .qtcode: 0x0400004b, .modifiers: 0x06, .flags: 0x02, .special: 0x0000 }, |
397 | { .keycode: 37, .unicode: 0x006b, .qtcode: 0x0400004b, .modifiers: 0x07, .flags: 0x02, .special: 0x0000 }, |
398 | { .keycode: 37, .unicode: 0x006b, .qtcode: 0x0800004b, .modifiers: 0x08, .flags: 0x02, .special: 0x0000 }, |
399 | { .keycode: 37, .unicode: 0x006b, .qtcode: 0x0800004b, .modifiers: 0x09, .flags: 0x02, .special: 0x0000 }, |
400 | { .keycode: 37, .unicode: 0x006b, .qtcode: 0x0800004b, .modifiers: 0x0a, .flags: 0x02, .special: 0x0000 }, |
401 | { .keycode: 37, .unicode: 0x006b, .qtcode: 0x0800004b, .modifiers: 0x0b, .flags: 0x02, .special: 0x0000 }, |
402 | { .keycode: 37, .unicode: 0x006b, .qtcode: 0x0c00004b, .modifiers: 0x0c, .flags: 0x02, .special: 0x0000 }, |
403 | { .keycode: 37, .unicode: 0x006b, .qtcode: 0x0c00004b, .modifiers: 0x0d, .flags: 0x02, .special: 0x0000 }, |
404 | { .keycode: 37, .unicode: 0x006b, .qtcode: 0x0c00004b, .modifiers: 0x0e, .flags: 0x02, .special: 0x0000 }, |
405 | { .keycode: 37, .unicode: 0x006b, .qtcode: 0x0c00004b, .modifiers: 0x0f, .flags: 0x02, .special: 0x0000 }, |
406 | { .keycode: 38, .unicode: 0x006c, .qtcode: 0x0000004c, .modifiers: 0x00, .flags: 0x02, .special: 0x0000 }, |
407 | { .keycode: 38, .unicode: 0x004c, .qtcode: 0x0000004c, .modifiers: 0x01, .flags: 0x02, .special: 0x0000 }, |
408 | { .keycode: 38, .unicode: 0x006c, .qtcode: 0x0000004c, .modifiers: 0x02, .flags: 0x02, .special: 0x0000 }, |
409 | { .keycode: 38, .unicode: 0x004c, .qtcode: 0x0000004c, .modifiers: 0x03, .flags: 0x02, .special: 0x0000 }, |
410 | { .keycode: 38, .unicode: 0x006c, .qtcode: 0x0400004c, .modifiers: 0x04, .flags: 0x02, .special: 0x0000 }, |
411 | { .keycode: 38, .unicode: 0x006c, .qtcode: 0x0400004c, .modifiers: 0x05, .flags: 0x02, .special: 0x0000 }, |
412 | { .keycode: 38, .unicode: 0x006c, .qtcode: 0x0400004c, .modifiers: 0x06, .flags: 0x02, .special: 0x0000 }, |
413 | { .keycode: 38, .unicode: 0x006c, .qtcode: 0x0400004c, .modifiers: 0x07, .flags: 0x02, .special: 0x0000 }, |
414 | { .keycode: 38, .unicode: 0x006c, .qtcode: 0x0800004c, .modifiers: 0x08, .flags: 0x02, .special: 0x0000 }, |
415 | { .keycode: 38, .unicode: 0x006c, .qtcode: 0x0800004c, .modifiers: 0x09, .flags: 0x02, .special: 0x0000 }, |
416 | { .keycode: 38, .unicode: 0x006c, .qtcode: 0x0800004c, .modifiers: 0x0a, .flags: 0x02, .special: 0x0000 }, |
417 | { .keycode: 38, .unicode: 0x006c, .qtcode: 0x0800004c, .modifiers: 0x0b, .flags: 0x02, .special: 0x0000 }, |
418 | { .keycode: 38, .unicode: 0x006c, .qtcode: 0x0c00004c, .modifiers: 0x0c, .flags: 0x02, .special: 0x0000 }, |
419 | { .keycode: 38, .unicode: 0x006c, .qtcode: 0x0c00004c, .modifiers: 0x0d, .flags: 0x02, .special: 0x0000 }, |
420 | { .keycode: 38, .unicode: 0x006c, .qtcode: 0x0c00004c, .modifiers: 0x0e, .flags: 0x02, .special: 0x0000 }, |
421 | { .keycode: 38, .unicode: 0x006c, .qtcode: 0x0c00004c, .modifiers: 0x0f, .flags: 0x02, .special: 0x0000 }, |
422 | { .keycode: 39, .unicode: 0x003b, .qtcode: 0x0000003b, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
423 | { .keycode: 39, .unicode: 0x003a, .qtcode: 0x0000003a, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
424 | { .keycode: 40, .unicode: 0x0027, .qtcode: 0x00000027, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
425 | { .keycode: 40, .unicode: 0x0022, .qtcode: 0x00000022, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
426 | { .keycode: 40, .unicode: 0x0027, .qtcode: 0x01001251, .modifiers: 0x02, .flags: 0x01, .special: 0x0000 }, |
427 | { .keycode: 40, .unicode: 0x0022, .qtcode: 0x01001257, .modifiers: 0x03, .flags: 0x01, .special: 0x0000 }, |
428 | { .keycode: 40, .unicode: 0x0067, .qtcode: 0x04000047, .modifiers: 0x04, .flags: 0x00, .special: 0x0000 }, |
429 | { .keycode: 41, .unicode: 0x0060, .qtcode: 0x00000060, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
430 | { .keycode: 41, .unicode: 0x007e, .qtcode: 0x0000007e, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
431 | { .keycode: 41, .unicode: 0x0060, .qtcode: 0x01001250, .modifiers: 0x02, .flags: 0x01, .special: 0x0000 }, |
432 | { .keycode: 41, .unicode: 0x007e, .qtcode: 0x01001253, .modifiers: 0x03, .flags: 0x01, .special: 0x0000 }, |
433 | { .keycode: 42, .unicode: 0xffff, .qtcode: 0x01000020, .modifiers: 0x00, .flags: 0x04, .special: 0x0001 }, |
434 | { .keycode: 43, .unicode: 0x005c, .qtcode: 0x0000005c, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
435 | { .keycode: 43, .unicode: 0x007c, .qtcode: 0x0000007c, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
436 | { .keycode: 43, .unicode: 0x005c, .qtcode: 0x0400005c, .modifiers: 0x04, .flags: 0x00, .special: 0x0000 }, |
437 | { .keycode: 44, .unicode: 0x007a, .qtcode: 0x0000005a, .modifiers: 0x00, .flags: 0x02, .special: 0x0000 }, |
438 | { .keycode: 44, .unicode: 0x005a, .qtcode: 0x0000005a, .modifiers: 0x01, .flags: 0x02, .special: 0x0000 }, |
439 | { .keycode: 44, .unicode: 0x007a, .qtcode: 0x0000005a, .modifiers: 0x02, .flags: 0x02, .special: 0x0000 }, |
440 | { .keycode: 44, .unicode: 0x005a, .qtcode: 0x0000005a, .modifiers: 0x03, .flags: 0x02, .special: 0x0000 }, |
441 | { .keycode: 44, .unicode: 0x007a, .qtcode: 0x0400005a, .modifiers: 0x04, .flags: 0x02, .special: 0x0000 }, |
442 | { .keycode: 44, .unicode: 0x007a, .qtcode: 0x0400005a, .modifiers: 0x05, .flags: 0x02, .special: 0x0000 }, |
443 | { .keycode: 44, .unicode: 0x007a, .qtcode: 0x0400005a, .modifiers: 0x06, .flags: 0x02, .special: 0x0000 }, |
444 | { .keycode: 44, .unicode: 0x007a, .qtcode: 0x0400005a, .modifiers: 0x07, .flags: 0x02, .special: 0x0000 }, |
445 | { .keycode: 44, .unicode: 0x007a, .qtcode: 0x0800005a, .modifiers: 0x08, .flags: 0x02, .special: 0x0000 }, |
446 | { .keycode: 44, .unicode: 0x007a, .qtcode: 0x0800005a, .modifiers: 0x09, .flags: 0x02, .special: 0x0000 }, |
447 | { .keycode: 44, .unicode: 0x007a, .qtcode: 0x0800005a, .modifiers: 0x0a, .flags: 0x02, .special: 0x0000 }, |
448 | { .keycode: 44, .unicode: 0x007a, .qtcode: 0x0800005a, .modifiers: 0x0b, .flags: 0x02, .special: 0x0000 }, |
449 | { .keycode: 44, .unicode: 0x007a, .qtcode: 0x0c00005a, .modifiers: 0x0c, .flags: 0x02, .special: 0x0000 }, |
450 | { .keycode: 44, .unicode: 0x007a, .qtcode: 0x0c00005a, .modifiers: 0x0d, .flags: 0x02, .special: 0x0000 }, |
451 | { .keycode: 44, .unicode: 0x007a, .qtcode: 0x0c00005a, .modifiers: 0x0e, .flags: 0x02, .special: 0x0000 }, |
452 | { .keycode: 44, .unicode: 0x007a, .qtcode: 0x0c00005a, .modifiers: 0x0f, .flags: 0x02, .special: 0x0000 }, |
453 | { .keycode: 45, .unicode: 0x0078, .qtcode: 0x00000058, .modifiers: 0x00, .flags: 0x02, .special: 0x0000 }, |
454 | { .keycode: 45, .unicode: 0x0058, .qtcode: 0x00000058, .modifiers: 0x01, .flags: 0x02, .special: 0x0000 }, |
455 | { .keycode: 45, .unicode: 0x0078, .qtcode: 0x00000058, .modifiers: 0x02, .flags: 0x02, .special: 0x0000 }, |
456 | { .keycode: 45, .unicode: 0x0058, .qtcode: 0x00000058, .modifiers: 0x03, .flags: 0x02, .special: 0x0000 }, |
457 | { .keycode: 45, .unicode: 0x0078, .qtcode: 0x04000058, .modifiers: 0x04, .flags: 0x02, .special: 0x0000 }, |
458 | { .keycode: 45, .unicode: 0x0078, .qtcode: 0x04000058, .modifiers: 0x05, .flags: 0x02, .special: 0x0000 }, |
459 | { .keycode: 45, .unicode: 0x0078, .qtcode: 0x04000058, .modifiers: 0x06, .flags: 0x02, .special: 0x0000 }, |
460 | { .keycode: 45, .unicode: 0x0078, .qtcode: 0x04000058, .modifiers: 0x07, .flags: 0x02, .special: 0x0000 }, |
461 | { .keycode: 45, .unicode: 0x0078, .qtcode: 0x08000058, .modifiers: 0x08, .flags: 0x02, .special: 0x0000 }, |
462 | { .keycode: 45, .unicode: 0x0078, .qtcode: 0x08000058, .modifiers: 0x09, .flags: 0x02, .special: 0x0000 }, |
463 | { .keycode: 45, .unicode: 0x0078, .qtcode: 0x08000058, .modifiers: 0x0a, .flags: 0x02, .special: 0x0000 }, |
464 | { .keycode: 45, .unicode: 0x0078, .qtcode: 0x08000058, .modifiers: 0x0b, .flags: 0x02, .special: 0x0000 }, |
465 | { .keycode: 45, .unicode: 0x0078, .qtcode: 0x0c000058, .modifiers: 0x0c, .flags: 0x02, .special: 0x0000 }, |
466 | { .keycode: 45, .unicode: 0x0078, .qtcode: 0x0c000058, .modifiers: 0x0d, .flags: 0x02, .special: 0x0000 }, |
467 | { .keycode: 45, .unicode: 0x0078, .qtcode: 0x0c000058, .modifiers: 0x0e, .flags: 0x02, .special: 0x0000 }, |
468 | { .keycode: 45, .unicode: 0x0078, .qtcode: 0x0c000058, .modifiers: 0x0f, .flags: 0x02, .special: 0x0000 }, |
469 | { .keycode: 46, .unicode: 0x0063, .qtcode: 0x00000043, .modifiers: 0x00, .flags: 0x02, .special: 0x0000 }, |
470 | { .keycode: 46, .unicode: 0x0043, .qtcode: 0x00000043, .modifiers: 0x01, .flags: 0x02, .special: 0x0000 }, |
471 | { .keycode: 46, .unicode: 0x0063, .qtcode: 0x00000043, .modifiers: 0x02, .flags: 0x02, .special: 0x0000 }, |
472 | { .keycode: 46, .unicode: 0x0043, .qtcode: 0x00000043, .modifiers: 0x03, .flags: 0x02, .special: 0x0000 }, |
473 | { .keycode: 46, .unicode: 0x0063, .qtcode: 0x04000043, .modifiers: 0x04, .flags: 0x02, .special: 0x0000 }, |
474 | { .keycode: 46, .unicode: 0x0063, .qtcode: 0x04000043, .modifiers: 0x05, .flags: 0x02, .special: 0x0000 }, |
475 | { .keycode: 46, .unicode: 0x0063, .qtcode: 0x04000043, .modifiers: 0x06, .flags: 0x02, .special: 0x0000 }, |
476 | { .keycode: 46, .unicode: 0x0063, .qtcode: 0x04000043, .modifiers: 0x07, .flags: 0x02, .special: 0x0000 }, |
477 | { .keycode: 46, .unicode: 0x0063, .qtcode: 0x08000043, .modifiers: 0x08, .flags: 0x02, .special: 0x0000 }, |
478 | { .keycode: 46, .unicode: 0x0063, .qtcode: 0x08000043, .modifiers: 0x09, .flags: 0x02, .special: 0x0000 }, |
479 | { .keycode: 46, .unicode: 0x0063, .qtcode: 0x08000043, .modifiers: 0x0a, .flags: 0x02, .special: 0x0000 }, |
480 | { .keycode: 46, .unicode: 0x0063, .qtcode: 0x08000043, .modifiers: 0x0b, .flags: 0x02, .special: 0x0000 }, |
481 | { .keycode: 46, .unicode: 0x0063, .qtcode: 0x0c000043, .modifiers: 0x0c, .flags: 0x02, .special: 0x0000 }, |
482 | { .keycode: 46, .unicode: 0x0063, .qtcode: 0x0c000043, .modifiers: 0x0d, .flags: 0x02, .special: 0x0000 }, |
483 | { .keycode: 46, .unicode: 0x0063, .qtcode: 0x0c000043, .modifiers: 0x0e, .flags: 0x02, .special: 0x0000 }, |
484 | { .keycode: 46, .unicode: 0x0063, .qtcode: 0x0c000043, .modifiers: 0x0f, .flags: 0x02, .special: 0x0000 }, |
485 | { .keycode: 47, .unicode: 0x0076, .qtcode: 0x00000056, .modifiers: 0x00, .flags: 0x02, .special: 0x0000 }, |
486 | { .keycode: 47, .unicode: 0x0056, .qtcode: 0x00000056, .modifiers: 0x01, .flags: 0x02, .special: 0x0000 }, |
487 | { .keycode: 47, .unicode: 0x0076, .qtcode: 0x00000056, .modifiers: 0x02, .flags: 0x02, .special: 0x0000 }, |
488 | { .keycode: 47, .unicode: 0x0056, .qtcode: 0x00000056, .modifiers: 0x03, .flags: 0x02, .special: 0x0000 }, |
489 | { .keycode: 47, .unicode: 0x0076, .qtcode: 0x04000056, .modifiers: 0x04, .flags: 0x02, .special: 0x0000 }, |
490 | { .keycode: 47, .unicode: 0x0076, .qtcode: 0x04000056, .modifiers: 0x05, .flags: 0x02, .special: 0x0000 }, |
491 | { .keycode: 47, .unicode: 0x0076, .qtcode: 0x04000056, .modifiers: 0x06, .flags: 0x02, .special: 0x0000 }, |
492 | { .keycode: 47, .unicode: 0x0076, .qtcode: 0x04000056, .modifiers: 0x07, .flags: 0x02, .special: 0x0000 }, |
493 | { .keycode: 47, .unicode: 0x0076, .qtcode: 0x08000056, .modifiers: 0x08, .flags: 0x02, .special: 0x0000 }, |
494 | { .keycode: 47, .unicode: 0x0076, .qtcode: 0x08000056, .modifiers: 0x09, .flags: 0x02, .special: 0x0000 }, |
495 | { .keycode: 47, .unicode: 0x0076, .qtcode: 0x08000056, .modifiers: 0x0a, .flags: 0x02, .special: 0x0000 }, |
496 | { .keycode: 47, .unicode: 0x0076, .qtcode: 0x08000056, .modifiers: 0x0b, .flags: 0x02, .special: 0x0000 }, |
497 | { .keycode: 47, .unicode: 0x0076, .qtcode: 0x0c000056, .modifiers: 0x0c, .flags: 0x02, .special: 0x0000 }, |
498 | { .keycode: 47, .unicode: 0x0076, .qtcode: 0x0c000056, .modifiers: 0x0d, .flags: 0x02, .special: 0x0000 }, |
499 | { .keycode: 47, .unicode: 0x0076, .qtcode: 0x0c000056, .modifiers: 0x0e, .flags: 0x02, .special: 0x0000 }, |
500 | { .keycode: 47, .unicode: 0x0076, .qtcode: 0x0c000056, .modifiers: 0x0f, .flags: 0x02, .special: 0x0000 }, |
501 | { .keycode: 48, .unicode: 0x0062, .qtcode: 0x00000042, .modifiers: 0x00, .flags: 0x02, .special: 0x0000 }, |
502 | { .keycode: 48, .unicode: 0x0042, .qtcode: 0x00000042, .modifiers: 0x01, .flags: 0x02, .special: 0x0000 }, |
503 | { .keycode: 48, .unicode: 0x0062, .qtcode: 0x00000042, .modifiers: 0x02, .flags: 0x02, .special: 0x0000 }, |
504 | { .keycode: 48, .unicode: 0x0042, .qtcode: 0x00000042, .modifiers: 0x03, .flags: 0x02, .special: 0x0000 }, |
505 | { .keycode: 48, .unicode: 0x0062, .qtcode: 0x04000042, .modifiers: 0x04, .flags: 0x02, .special: 0x0000 }, |
506 | { .keycode: 48, .unicode: 0x0062, .qtcode: 0x04000042, .modifiers: 0x05, .flags: 0x02, .special: 0x0000 }, |
507 | { .keycode: 48, .unicode: 0x0062, .qtcode: 0x04000042, .modifiers: 0x06, .flags: 0x02, .special: 0x0000 }, |
508 | { .keycode: 48, .unicode: 0x0062, .qtcode: 0x04000042, .modifiers: 0x07, .flags: 0x02, .special: 0x0000 }, |
509 | { .keycode: 48, .unicode: 0x0062, .qtcode: 0x08000042, .modifiers: 0x08, .flags: 0x02, .special: 0x0000 }, |
510 | { .keycode: 48, .unicode: 0x0062, .qtcode: 0x08000042, .modifiers: 0x09, .flags: 0x02, .special: 0x0000 }, |
511 | { .keycode: 48, .unicode: 0x0062, .qtcode: 0x08000042, .modifiers: 0x0a, .flags: 0x02, .special: 0x0000 }, |
512 | { .keycode: 48, .unicode: 0x0062, .qtcode: 0x08000042, .modifiers: 0x0b, .flags: 0x02, .special: 0x0000 }, |
513 | { .keycode: 48, .unicode: 0x0062, .qtcode: 0x0c000042, .modifiers: 0x0c, .flags: 0x02, .special: 0x0000 }, |
514 | { .keycode: 48, .unicode: 0x0062, .qtcode: 0x0c000042, .modifiers: 0x0d, .flags: 0x02, .special: 0x0000 }, |
515 | { .keycode: 48, .unicode: 0x0062, .qtcode: 0x0c000042, .modifiers: 0x0e, .flags: 0x02, .special: 0x0000 }, |
516 | { .keycode: 48, .unicode: 0x0062, .qtcode: 0x0c000042, .modifiers: 0x0f, .flags: 0x02, .special: 0x0000 }, |
517 | { .keycode: 49, .unicode: 0x006e, .qtcode: 0x0000004e, .modifiers: 0x00, .flags: 0x02, .special: 0x0000 }, |
518 | { .keycode: 49, .unicode: 0x004e, .qtcode: 0x0000004e, .modifiers: 0x01, .flags: 0x02, .special: 0x0000 }, |
519 | { .keycode: 49, .unicode: 0x006e, .qtcode: 0x0000004e, .modifiers: 0x02, .flags: 0x02, .special: 0x0000 }, |
520 | { .keycode: 49, .unicode: 0x004e, .qtcode: 0x0000004e, .modifiers: 0x03, .flags: 0x02, .special: 0x0000 }, |
521 | { .keycode: 49, .unicode: 0x006e, .qtcode: 0x0400004e, .modifiers: 0x04, .flags: 0x02, .special: 0x0000 }, |
522 | { .keycode: 49, .unicode: 0x006e, .qtcode: 0x0400004e, .modifiers: 0x05, .flags: 0x02, .special: 0x0000 }, |
523 | { .keycode: 49, .unicode: 0x006e, .qtcode: 0x0400004e, .modifiers: 0x06, .flags: 0x02, .special: 0x0000 }, |
524 | { .keycode: 49, .unicode: 0x006e, .qtcode: 0x0400004e, .modifiers: 0x07, .flags: 0x02, .special: 0x0000 }, |
525 | { .keycode: 49, .unicode: 0x006e, .qtcode: 0x0800004e, .modifiers: 0x08, .flags: 0x02, .special: 0x0000 }, |
526 | { .keycode: 49, .unicode: 0x006e, .qtcode: 0x0800004e, .modifiers: 0x09, .flags: 0x02, .special: 0x0000 }, |
527 | { .keycode: 49, .unicode: 0x006e, .qtcode: 0x0800004e, .modifiers: 0x0a, .flags: 0x02, .special: 0x0000 }, |
528 | { .keycode: 49, .unicode: 0x006e, .qtcode: 0x0800004e, .modifiers: 0x0b, .flags: 0x02, .special: 0x0000 }, |
529 | { .keycode: 49, .unicode: 0x006e, .qtcode: 0x0c00004e, .modifiers: 0x0c, .flags: 0x02, .special: 0x0000 }, |
530 | { .keycode: 49, .unicode: 0x006e, .qtcode: 0x0c00004e, .modifiers: 0x0d, .flags: 0x02, .special: 0x0000 }, |
531 | { .keycode: 49, .unicode: 0x006e, .qtcode: 0x0c00004e, .modifiers: 0x0e, .flags: 0x02, .special: 0x0000 }, |
532 | { .keycode: 49, .unicode: 0x006e, .qtcode: 0x0c00004e, .modifiers: 0x0f, .flags: 0x02, .special: 0x0000 }, |
533 | { .keycode: 50, .unicode: 0x006d, .qtcode: 0x0000004d, .modifiers: 0x00, .flags: 0x02, .special: 0x0000 }, |
534 | { .keycode: 50, .unicode: 0x004d, .qtcode: 0x0000004d, .modifiers: 0x01, .flags: 0x02, .special: 0x0000 }, |
535 | { .keycode: 50, .unicode: 0x006d, .qtcode: 0x0000004d, .modifiers: 0x02, .flags: 0x02, .special: 0x0000 }, |
536 | { .keycode: 50, .unicode: 0x004d, .qtcode: 0x0000004d, .modifiers: 0x03, .flags: 0x02, .special: 0x0000 }, |
537 | { .keycode: 50, .unicode: 0x006d, .qtcode: 0x0400004d, .modifiers: 0x04, .flags: 0x02, .special: 0x0000 }, |
538 | { .keycode: 50, .unicode: 0x006d, .qtcode: 0x0400004d, .modifiers: 0x05, .flags: 0x02, .special: 0x0000 }, |
539 | { .keycode: 50, .unicode: 0x006d, .qtcode: 0x0400004d, .modifiers: 0x06, .flags: 0x02, .special: 0x0000 }, |
540 | { .keycode: 50, .unicode: 0x006d, .qtcode: 0x0400004d, .modifiers: 0x07, .flags: 0x02, .special: 0x0000 }, |
541 | { .keycode: 50, .unicode: 0x006d, .qtcode: 0x0800004d, .modifiers: 0x08, .flags: 0x02, .special: 0x0000 }, |
542 | { .keycode: 50, .unicode: 0x006d, .qtcode: 0x0800004d, .modifiers: 0x09, .flags: 0x02, .special: 0x0000 }, |
543 | { .keycode: 50, .unicode: 0x006d, .qtcode: 0x0800004d, .modifiers: 0x0a, .flags: 0x02, .special: 0x0000 }, |
544 | { .keycode: 50, .unicode: 0x006d, .qtcode: 0x0800004d, .modifiers: 0x0b, .flags: 0x02, .special: 0x0000 }, |
545 | { .keycode: 50, .unicode: 0x006d, .qtcode: 0x0c00004d, .modifiers: 0x0c, .flags: 0x02, .special: 0x0000 }, |
546 | { .keycode: 50, .unicode: 0x006d, .qtcode: 0x0c00004d, .modifiers: 0x0d, .flags: 0x02, .special: 0x0000 }, |
547 | { .keycode: 50, .unicode: 0x006d, .qtcode: 0x0c00004d, .modifiers: 0x0e, .flags: 0x02, .special: 0x0000 }, |
548 | { .keycode: 50, .unicode: 0x006d, .qtcode: 0x0c00004d, .modifiers: 0x0f, .flags: 0x02, .special: 0x0000 }, |
549 | { .keycode: 51, .unicode: 0x002c, .qtcode: 0x0000002c, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
550 | { .keycode: 51, .unicode: 0x003c, .qtcode: 0x0000003c, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
551 | { .keycode: 51, .unicode: 0x002c, .qtcode: 0x0100125b, .modifiers: 0x02, .flags: 0x01, .special: 0x0000 }, |
552 | { .keycode: 52, .unicode: 0x002e, .qtcode: 0x0000002e, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
553 | { .keycode: 52, .unicode: 0x003e, .qtcode: 0x0000003e, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
554 | { .keycode: 52, .unicode: 0xffff, .qtcode: 0x01001120, .modifiers: 0x02, .flags: 0x00, .special: 0x0000 }, |
555 | { .keycode: 53, .unicode: 0x002f, .qtcode: 0x0000002f, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
556 | { .keycode: 53, .unicode: 0x003f, .qtcode: 0x0000003f, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
557 | { .keycode: 53, .unicode: 0xffff, .qtcode: 0x01000003, .modifiers: 0x04, .flags: 0x00, .special: 0x0000 }, |
558 | { .keycode: 54, .unicode: 0xffff, .qtcode: 0x01000020, .modifiers: 0x00, .flags: 0x04, .special: 0x0001 }, |
559 | { .keycode: 55, .unicode: 0x002a, .qtcode: 0x2000002a, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
560 | { .keycode: 56, .unicode: 0xffff, .qtcode: 0x01000023, .modifiers: 0x00, .flags: 0x04, .special: 0x0008 }, |
561 | { .keycode: 57, .unicode: 0x0020, .qtcode: 0x00000020, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
562 | { .keycode: 58, .unicode: 0xffff, .qtcode: 0x01000024, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
563 | { .keycode: 59, .unicode: 0xffff, .qtcode: 0x01000030, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
564 | { .keycode: 59, .unicode: 0xffff, .qtcode: 0x0100003c, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
565 | { .keycode: 59, .unicode: 0xffff, .qtcode: 0x01000048, .modifiers: 0x04, .flags: 0x00, .special: 0x0000 }, |
566 | { .keycode: 59, .unicode: 0xffff, .qtcode: 0x01000000, .modifiers: 0x0c, .flags: 0x08, .special: 0x0100 }, |
567 | { .keycode: 60, .unicode: 0xffff, .qtcode: 0x01000031, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
568 | { .keycode: 60, .unicode: 0xffff, .qtcode: 0x0100003d, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
569 | { .keycode: 60, .unicode: 0xffff, .qtcode: 0x01000049, .modifiers: 0x04, .flags: 0x00, .special: 0x0000 }, |
570 | { .keycode: 60, .unicode: 0xffff, .qtcode: 0x01000000, .modifiers: 0x0c, .flags: 0x08, .special: 0x0101 }, |
571 | { .keycode: 61, .unicode: 0xffff, .qtcode: 0x01000032, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
572 | { .keycode: 61, .unicode: 0xffff, .qtcode: 0x0100003e, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
573 | { .keycode: 61, .unicode: 0xffff, .qtcode: 0x0100004a, .modifiers: 0x04, .flags: 0x00, .special: 0x0000 }, |
574 | { .keycode: 61, .unicode: 0xffff, .qtcode: 0x01000000, .modifiers: 0x0c, .flags: 0x08, .special: 0x0102 }, |
575 | { .keycode: 62, .unicode: 0xffff, .qtcode: 0x01000033, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
576 | { .keycode: 62, .unicode: 0xffff, .qtcode: 0x0100003f, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
577 | { .keycode: 62, .unicode: 0xffff, .qtcode: 0x0100004b, .modifiers: 0x04, .flags: 0x00, .special: 0x0000 }, |
578 | { .keycode: 62, .unicode: 0xffff, .qtcode: 0x01000000, .modifiers: 0x0c, .flags: 0x08, .special: 0x0103 }, |
579 | { .keycode: 63, .unicode: 0xffff, .qtcode: 0x01000034, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
580 | { .keycode: 63, .unicode: 0xffff, .qtcode: 0x01000040, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
581 | { .keycode: 63, .unicode: 0xffff, .qtcode: 0x0100004c, .modifiers: 0x04, .flags: 0x00, .special: 0x0000 }, |
582 | { .keycode: 63, .unicode: 0xffff, .qtcode: 0x01000000, .modifiers: 0x0c, .flags: 0x08, .special: 0x0104 }, |
583 | { .keycode: 64, .unicode: 0xffff, .qtcode: 0x01000035, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
584 | { .keycode: 64, .unicode: 0xffff, .qtcode: 0x01000041, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
585 | { .keycode: 64, .unicode: 0xffff, .qtcode: 0x0100004d, .modifiers: 0x04, .flags: 0x00, .special: 0x0000 }, |
586 | { .keycode: 64, .unicode: 0xffff, .qtcode: 0x01000000, .modifiers: 0x0c, .flags: 0x08, .special: 0x0105 }, |
587 | { .keycode: 65, .unicode: 0xffff, .qtcode: 0x01000036, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
588 | { .keycode: 65, .unicode: 0xffff, .qtcode: 0x01000042, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
589 | { .keycode: 65, .unicode: 0xffff, .qtcode: 0x0100004e, .modifiers: 0x04, .flags: 0x00, .special: 0x0000 }, |
590 | { .keycode: 65, .unicode: 0xffff, .qtcode: 0x01000000, .modifiers: 0x0c, .flags: 0x08, .special: 0x0106 }, |
591 | { .keycode: 66, .unicode: 0xffff, .qtcode: 0x01000037, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
592 | { .keycode: 66, .unicode: 0xffff, .qtcode: 0x01000043, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
593 | { .keycode: 66, .unicode: 0xffff, .qtcode: 0x0100004f, .modifiers: 0x04, .flags: 0x00, .special: 0x0000 }, |
594 | { .keycode: 66, .unicode: 0xffff, .qtcode: 0x01000000, .modifiers: 0x0c, .flags: 0x08, .special: 0x0107 }, |
595 | { .keycode: 67, .unicode: 0xffff, .qtcode: 0x01000038, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
596 | { .keycode: 67, .unicode: 0xffff, .qtcode: 0x01000044, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
597 | { .keycode: 67, .unicode: 0xffff, .qtcode: 0x01000050, .modifiers: 0x04, .flags: 0x00, .special: 0x0000 }, |
598 | { .keycode: 67, .unicode: 0xffff, .qtcode: 0x01000000, .modifiers: 0x0c, .flags: 0x08, .special: 0x0108 }, |
599 | { .keycode: 68, .unicode: 0xffff, .qtcode: 0x01000039, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
600 | { .keycode: 68, .unicode: 0xffff, .qtcode: 0x01000045, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
601 | { .keycode: 68, .unicode: 0xffff, .qtcode: 0x01000051, .modifiers: 0x04, .flags: 0x00, .special: 0x0000 }, |
602 | { .keycode: 68, .unicode: 0xffff, .qtcode: 0x01000000, .modifiers: 0x0c, .flags: 0x08, .special: 0x0109 }, |
603 | { .keycode: 69, .unicode: 0xffff, .qtcode: 0x01000025, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
604 | { .keycode: 70, .unicode: 0xffff, .qtcode: 0x01000026, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
605 | { .keycode: 70, .unicode: 0xffff, .qtcode: 0x01000026, .modifiers: 0x08, .flags: 0x00, .special: 0x0000 }, |
606 | { .keycode: 71, .unicode: 0x0037, .qtcode: 0x20000037, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
607 | { .keycode: 72, .unicode: 0x0038, .qtcode: 0x20000038, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
608 | { .keycode: 73, .unicode: 0x0039, .qtcode: 0x20000039, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
609 | { .keycode: 74, .unicode: 0x002d, .qtcode: 0x2000002d, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
610 | { .keycode: 75, .unicode: 0x0034, .qtcode: 0x20000034, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
611 | { .keycode: 76, .unicode: 0x0035, .qtcode: 0x20000035, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
612 | { .keycode: 77, .unicode: 0x0036, .qtcode: 0x20000036, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
613 | { .keycode: 78, .unicode: 0x002b, .qtcode: 0x2000002b, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
614 | { .keycode: 79, .unicode: 0x0031, .qtcode: 0x20000031, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
615 | { .keycode: 80, .unicode: 0x0032, .qtcode: 0x20000032, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
616 | { .keycode: 81, .unicode: 0x0033, .qtcode: 0x20000033, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
617 | { .keycode: 82, .unicode: 0x0030, .qtcode: 0x20000030, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
618 | { .keycode: 83, .unicode: 0x002e, .qtcode: 0x2000002e, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
619 | { .keycode: 83, .unicode: 0xffff, .qtcode: 0x01000000, .modifiers: 0x06, .flags: 0x08, .special: 0x0200 }, |
620 | { .keycode: 83, .unicode: 0xffff, .qtcode: 0x01000000, .modifiers: 0x0c, .flags: 0x08, .special: 0x0200 }, |
621 | { .keycode: 86, .unicode: 0x003c, .qtcode: 0x0000003c, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
622 | { .keycode: 86, .unicode: 0x003e, .qtcode: 0x0000003e, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
623 | { .keycode: 86, .unicode: 0x007c, .qtcode: 0x0000007c, .modifiers: 0x02, .flags: 0x00, .special: 0x0000 }, |
624 | { .keycode: 87, .unicode: 0xffff, .qtcode: 0x0100003a, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
625 | { .keycode: 87, .unicode: 0xffff, .qtcode: 0x01000046, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
626 | { .keycode: 87, .unicode: 0xffff, .qtcode: 0x01000052, .modifiers: 0x04, .flags: 0x00, .special: 0x0000 }, |
627 | { .keycode: 87, .unicode: 0xffff, .qtcode: 0x01000000, .modifiers: 0x0c, .flags: 0x08, .special: 0x010a }, |
628 | { .keycode: 88, .unicode: 0xffff, .qtcode: 0x0100003b, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
629 | { .keycode: 88, .unicode: 0xffff, .qtcode: 0x01000047, .modifiers: 0x01, .flags: 0x00, .special: 0x0000 }, |
630 | { .keycode: 88, .unicode: 0xffff, .qtcode: 0x01000000, .modifiers: 0x0c, .flags: 0x08, .special: 0x010b }, |
631 | { .keycode: 96, .unicode: 0xffff, .qtcode: 0x21000005, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
632 | { .keycode: 97, .unicode: 0xffff, .qtcode: 0x01000021, .modifiers: 0x00, .flags: 0x04, .special: 0x0004 }, |
633 | { .keycode: 98, .unicode: 0x002f, .qtcode: 0x2000002f, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
634 | { .keycode: 99, .unicode: 0x005c, .qtcode: 0x0400005c, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
635 | { .keycode: 100, .unicode: 0xffff, .qtcode: 0x01001103, .modifiers: 0x00, .flags: 0x04, .special: 0x0002 }, |
636 | { .keycode: 102, .unicode: 0xffff, .qtcode: 0x01000010, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
637 | { .keycode: 103, .unicode: 0xffff, .qtcode: 0x01000013, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
638 | { .keycode: 104, .unicode: 0xffff, .qtcode: 0x01000016, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
639 | { .keycode: 105, .unicode: 0xffff, .qtcode: 0x01000012, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
640 | { .keycode: 105, .unicode: 0xffff, .qtcode: 0x01000000, .modifiers: 0x0c, .flags: 0x08, .special: 0x0180 }, |
641 | { .keycode: 106, .unicode: 0xffff, .qtcode: 0x01000014, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
642 | { .keycode: 106, .unicode: 0xffff, .qtcode: 0x01000000, .modifiers: 0x0c, .flags: 0x08, .special: 0x0181 }, |
643 | { .keycode: 107, .unicode: 0xffff, .qtcode: 0x01000011, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
644 | { .keycode: 108, .unicode: 0xffff, .qtcode: 0x01000015, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
645 | { .keycode: 109, .unicode: 0xffff, .qtcode: 0x01000017, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
646 | { .keycode: 110, .unicode: 0xffff, .qtcode: 0x01000006, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
647 | { .keycode: 111, .unicode: 0xffff, .qtcode: 0x01000007, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
648 | { .keycode: 111, .unicode: 0xffff, .qtcode: 0x01000000, .modifiers: 0x06, .flags: 0x08, .special: 0x0200 }, |
649 | { .keycode: 111, .unicode: 0xffff, .qtcode: 0x01000000, .modifiers: 0x0c, .flags: 0x08, .special: 0x0200 }, |
650 | |
651 | // 113 -> 248 |
652 | { KEY_MUTE, .unicode: 0xffff, .qtcode: Qt::Key_VolumeMute, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
653 | { KEY_VOLUMEDOWN, .unicode: 0xffff, .qtcode: Qt::Key_VolumeDown, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
654 | { KEY_VOLUMEUP, .unicode: 0xffff, .qtcode: Qt::Key_VolumeUp, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
655 | { KEY_POWER, .unicode: 0xffff, .qtcode: Qt::Key_PowerOff, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
656 | { KEY_PAUSE, .unicode: 0xffff, .qtcode: Qt::Key_Pause, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
657 | { KEY_STOP, .unicode: 0xffff, .qtcode: Qt::Key_Stop, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
658 | { KEY_SETUP, .unicode: 0xffff, .qtcode: Qt::Key_Settings, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
659 | { KEY_RECORD, .unicode: 0xffff, .qtcode: Qt::Key_MediaRecord, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
660 | { KEY_REWIND, .unicode: 0xffff, .qtcode: Qt::Key_AudioRewind, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
661 | { KEY_PLAYPAUSE, .unicode: 0xffff, .qtcode: Qt::Key_MediaTogglePlayPause, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
662 | { KEY_PLAY, .unicode: 0xffff, .qtcode: Qt::Key_MediaPlay, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
663 | { KEY_FASTFORWARD, .unicode: 0xffff, .qtcode: Qt::Key_AudioForward, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
664 | { KEY_CANCEL, .unicode: 0xffff, .qtcode: Qt::Key_Cancel, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
665 | { .keycode: 248, .unicode: 0xffff, .qtcode: Qt::Key_MicMute, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
666 | // 0x160 -> |
667 | { KEY_SELECT, .unicode: 0xffff, .qtcode: Qt::Key_Select, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
668 | { KEY_CLEAR, .unicode: 0xffff, .qtcode: Qt::Key_Clear, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
669 | { KEY_EXIT, .unicode: 0xffff, .qtcode: Qt::Key_Exit, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
670 | { KEY_INFO, .unicode: 0xffff, .qtcode: Qt::Key_Info, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
671 | { KEY_PROGRAM, .unicode: 0xffff, .qtcode: Qt::Key_Guide, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
672 | { KEY_CALENDAR, .unicode: 0xffff, .qtcode: Qt::Key_Calendar, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
673 | { KEY_RED, .unicode: 0xffff, .qtcode: Qt::Key_Red, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
674 | { KEY_GREEN, .unicode: 0xffff, .qtcode: Qt::Key_Green, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
675 | { KEY_YELLOW, .unicode: 0xffff, .qtcode: Qt::Key_Yellow, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
676 | { KEY_BLUE, .unicode: 0xffff, .qtcode: Qt::Key_Blue, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
677 | { KEY_CHANNELUP, .unicode: 0xffff, .qtcode: Qt::Key_ChannelUp, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
678 | { KEY_CHANNELDOWN, .unicode: 0xffff, .qtcode: Qt::Key_ChannelDown, .modifiers: 0x00, .flags: 0x00, .special: 0x0000 }, |
679 | }; |
680 | |
681 | const QEvdevKeyboardMap::Composing QEvdevKeyboardHandler::s_keycompose_default[] = { |
682 | { .first: 0x0060, .second: 0x0041, .result: 0x00c0 }, |
683 | { .first: 0x0060, .second: 0x0061, .result: 0x00e0 }, |
684 | { .first: 0x0027, .second: 0x0041, .result: 0x00c1 }, |
685 | { .first: 0x0027, .second: 0x0061, .result: 0x00e1 }, |
686 | { .first: 0x005e, .second: 0x0041, .result: 0x00c2 }, |
687 | { .first: 0x005e, .second: 0x0061, .result: 0x00e2 }, |
688 | { .first: 0x007e, .second: 0x0041, .result: 0x00c3 }, |
689 | { .first: 0x007e, .second: 0x0061, .result: 0x00e3 }, |
690 | { .first: 0x0022, .second: 0x0041, .result: 0x00c4 }, |
691 | { .first: 0x0022, .second: 0x0061, .result: 0x00e4 }, |
692 | { .first: 0x002d, .second: 0x0061, .result: 0x00aa }, |
693 | { .first: 0x002d, .second: 0x0041, .result: 0x00aa }, |
694 | { .first: 0x004f, .second: 0x0041, .result: 0x00c5 }, |
695 | { .first: 0x006f, .second: 0x0061, .result: 0x00e5 }, |
696 | { .first: 0x0030, .second: 0x0041, .result: 0x00c5 }, |
697 | { .first: 0x0030, .second: 0x0061, .result: 0x00e5 }, |
698 | { .first: 0x0041, .second: 0x0041, .result: 0x00c5 }, |
699 | { .first: 0x0061, .second: 0x0061, .result: 0x00e5 }, |
700 | { .first: 0x00b0, .second: 0x0041, .result: 0x00c5 }, |
701 | { .first: 0x00b0, .second: 0x0061, .result: 0x00e5 }, |
702 | { .first: 0x0041, .second: 0x0045, .result: 0x00c6 }, |
703 | { .first: 0x0061, .second: 0x0065, .result: 0x00e6 }, |
704 | { .first: 0x002c, .second: 0x0043, .result: 0x00c7 }, |
705 | { .first: 0x002c, .second: 0x0063, .result: 0x00e7 }, |
706 | { .first: 0x005e, .second: 0x0043, .result: 0x00c7 }, |
707 | { .first: 0x005e, .second: 0x0063, .result: 0x00e7 }, |
708 | { .first: 0x0060, .second: 0x0045, .result: 0x00c8 }, |
709 | { .first: 0x0060, .second: 0x0065, .result: 0x00e8 }, |
710 | { .first: 0x0027, .second: 0x0045, .result: 0x00c9 }, |
711 | { .first: 0x0027, .second: 0x0065, .result: 0x00e9 }, |
712 | { .first: 0x005e, .second: 0x0045, .result: 0x00ca }, |
713 | { .first: 0x005e, .second: 0x0065, .result: 0x00ea }, |
714 | { .first: 0x0022, .second: 0x0045, .result: 0x00cb }, |
715 | { .first: 0x0022, .second: 0x0065, .result: 0x00eb }, |
716 | { .first: 0x0060, .second: 0x0049, .result: 0x00cc }, |
717 | { .first: 0x0060, .second: 0x0069, .result: 0x00ec }, |
718 | { .first: 0x0027, .second: 0x0049, .result: 0x00cd }, |
719 | { .first: 0x0027, .second: 0x0069, .result: 0x00ed }, |
720 | { .first: 0x005e, .second: 0x0049, .result: 0x00ce }, |
721 | { .first: 0x005e, .second: 0x0069, .result: 0x00ee }, |
722 | { .first: 0x0022, .second: 0x0049, .result: 0x00cf }, |
723 | { .first: 0x0022, .second: 0x0069, .result: 0x00ef }, |
724 | { .first: 0x002d, .second: 0x0044, .result: 0x00d0 }, |
725 | { .first: 0x002d, .second: 0x0064, .result: 0x00f0 }, |
726 | { .first: 0x005e, .second: 0x0044, .result: 0x00d0 }, |
727 | { .first: 0x005e, .second: 0x0064, .result: 0x00f0 }, |
728 | { .first: 0x007e, .second: 0x004e, .result: 0x00d1 }, |
729 | { .first: 0x007e, .second: 0x006e, .result: 0x00f1 }, |
730 | { .first: 0x005e, .second: 0x004e, .result: 0x00d1 }, |
731 | { .first: 0x005e, .second: 0x006e, .result: 0x00f1 }, |
732 | { .first: 0x0060, .second: 0x004f, .result: 0x00d2 }, |
733 | { .first: 0x0060, .second: 0x006f, .result: 0x00f2 }, |
734 | { .first: 0x0027, .second: 0x004f, .result: 0x00d3 }, |
735 | { .first: 0x0027, .second: 0x006f, .result: 0x00f3 }, |
736 | { .first: 0x005e, .second: 0x004f, .result: 0x00d4 }, |
737 | { .first: 0x005e, .second: 0x006f, .result: 0x00f4 }, |
738 | { .first: 0x007e, .second: 0x004f, .result: 0x00d5 }, |
739 | { .first: 0x007e, .second: 0x006f, .result: 0x00f5 }, |
740 | { .first: 0x0022, .second: 0x004f, .result: 0x00d6 }, |
741 | { .first: 0x0022, .second: 0x006f, .result: 0x00f6 }, |
742 | { .first: 0x002f, .second: 0x004f, .result: 0x00d8 }, |
743 | { .first: 0x002f, .second: 0x006f, .result: 0x00f8 }, |
744 | { .first: 0x002d, .second: 0x006f, .result: 0x00ba }, |
745 | { .first: 0x002d, .second: 0x004f, .result: 0x00ba }, |
746 | { .first: 0x0060, .second: 0x0055, .result: 0x00d9 }, |
747 | { .first: 0x0060, .second: 0x0075, .result: 0x00f9 }, |
748 | { .first: 0x0027, .second: 0x0055, .result: 0x00da }, |
749 | { .first: 0x0027, .second: 0x0075, .result: 0x00fa }, |
750 | { .first: 0x005e, .second: 0x0055, .result: 0x00db }, |
751 | { .first: 0x005e, .second: 0x0075, .result: 0x00fb }, |
752 | { .first: 0x0022, .second: 0x0055, .result: 0x00dc }, |
753 | { .first: 0x0022, .second: 0x0075, .result: 0x00fc }, |
754 | { .first: 0x0027, .second: 0x0059, .result: 0x00dd }, |
755 | { .first: 0x0027, .second: 0x0079, .result: 0x00fd }, |
756 | { .first: 0x0054, .second: 0x0048, .result: 0x00de }, |
757 | { .first: 0x0074, .second: 0x0068, .result: 0x00fe }, |
758 | { .first: 0x0073, .second: 0x0073, .result: 0x00df }, |
759 | { .first: 0x0022, .second: 0x0079, .result: 0x00ff }, |
760 | { .first: 0x0073, .second: 0x007a, .result: 0x00df }, |
761 | { .first: 0x006e, .second: 0x006e, .result: 0x00f1 }, |
762 | { .first: 0x006e, .second: 0x0068, .result: 0x00f1 }, |
763 | { .first: 0x004e, .second: 0x0059, .result: 0x00d1 }, |
764 | { .first: 0x004e, .second: 0x004e, .result: 0x00d1 }, |
765 | { .first: 0x004e, .second: 0x0048, .result: 0x00d1 }, |
766 | { .first: 0x004e, .second: 0x0079, .result: 0x00d1 }, |
767 | { .first: 0x004e, .second: 0x006e, .result: 0x00d1 }, |
768 | { .first: 0x004e, .second: 0x0068, .result: 0x00d1 }, |
769 | { .first: 0x002d, .second: 0x004c, .result: 0x00a3 }, |
770 | { .first: 0x003c, .second: 0x003c, .result: 0x00ab }, |
771 | { .first: 0x003e, .second: 0x003e, .result: 0x00bb }, |
772 | { .first: 0x003f, .second: 0x003f, .result: 0x00bf }, |
773 | { .first: 0x005e, .second: 0x003f, .result: 0x00bf }, |
774 | { .first: 0x0021, .second: 0x0021, .result: 0x00a1 }, |
775 | { .first: 0x005e, .second: 0x0021, .result: 0x00a1 }, |
776 | { .first: 0x005e, .second: 0x0031, .result: 0x00b9 }, |
777 | { .first: 0x005e, .second: 0x0032, .result: 0x00b2 }, |
778 | { .first: 0x005e, .second: 0x0033, .result: 0x00b3 }, |
779 | { .first: 0x002b, .second: 0x002d, .result: 0x00b1 }, |
780 | { .first: 0x0063, .second: 0x003d, .result: 0x00a2 }, |
781 | { .first: 0x0063, .second: 0x002f, .result: 0x00a2 }, |
782 | { .first: 0x002f, .second: 0x0063, .result: 0x00a2 }, |
783 | { .first: 0x002d, .second: 0x0063, .result: 0x00a2 }, |
784 | { .first: 0x002d, .second: 0x0043, .result: 0x00a2 }, |
785 | { .first: 0x004c, .second: 0x003d, .result: 0x00a3 }, |
786 | { .first: 0x002d, .second: 0x004c, .result: 0x00a3 }, |
787 | { .first: 0x002d, .second: 0x006c, .result: 0x00a3 }, |
788 | { .first: 0x005e, .second: 0x002a, .result: 0x00d7 }, |
789 | { .first: 0x005e, .second: 0x0078, .result: 0x00d7 }, |
790 | { .first: 0x0078, .second: 0x0078, .result: 0x00d7 }, |
791 | { .first: 0x005e, .second: 0x002e, .result: 0x00b7 }, |
792 | { .first: 0x002e, .second: 0x002e, .result: 0x00b7 }, |
793 | { .first: 0x005e, .second: 0x002f, .result: 0x00f7 }, |
794 | { .first: 0x005e, .second: 0x003a, .result: 0x00f7 }, |
795 | { .first: 0x002d, .second: 0x003a, .result: 0x00f7 }, |
796 | { .first: 0x003a, .second: 0x002d, .result: 0x00f7 }, |
797 | { .first: 0x0059, .second: 0x003d, .result: 0x00a5 }, |
798 | { .first: 0x002d, .second: 0x0059, .result: 0x00a5 }, |
799 | { .first: 0x002d, .second: 0x006c, .result: 0x00a5 }, |
800 | { .first: 0x0028, .second: 0x0063, .result: 0x00a9 }, |
801 | { .first: 0x0022, .second: 0x0063, .result: 0x00a9 }, |
802 | { .first: 0x002d, .second: 0x0061, .result: 0x00aa }, |
803 | { .first: 0x002d, .second: 0x0041, .result: 0x00aa }, |
804 | { .first: 0x002d, .second: 0x006f, .result: 0x00ba }, |
805 | { .first: 0x002d, .second: 0x004f, .result: 0x00ba }, |
806 | { .first: 0x0028, .second: 0x0072, .result: 0x00ae }, |
807 | { .first: 0x0022, .second: 0x0072, .result: 0x00ae }, |
808 | { .first: 0x006d, .second: 0x0075, .result: 0x00b5 }, |
809 | { .first: 0x0031, .second: 0x0034, .result: 0x0152 }, |
810 | { .first: 0x0031, .second: 0x0032, .result: 0x0153 }, |
811 | { .first: 0x0033, .second: 0x0034, .result: 0x0178 }, |
812 | { .first: 0x0065, .second: 0x003d, .result: 0x20ac }, |
813 | { .first: 0x002d, .second: 0x0065, .result: 0x20ac }, |
814 | { .first: 0x002d, .second: 0x0045, .result: 0x20ac }, |
815 | { .first: 0x0076, .second: 0x0053, .result: 0x0160 }, |
816 | { .first: 0x005e, .second: 0x0053, .result: 0x0160 }, |
817 | { .first: 0x0076, .second: 0x0073, .result: 0x0161 }, |
818 | { .first: 0x005e, .second: 0x0073, .result: 0x0161 }, |
819 | { .first: 0x0076, .second: 0x005a, .result: 0x017d }, |
820 | { .first: 0x005e, .second: 0x005a, .result: 0x017d }, |
821 | { .first: 0x0076, .second: 0x007a, .result: 0x017e }, |
822 | { .first: 0x005e, .second: 0x007a, .result: 0x017e }, |
823 | { .first: 0x004f, .second: 0x0045, .result: 0x0152 }, |
824 | { .first: 0x004f, .second: 0x0065, .result: 0x0152 }, |
825 | { .first: 0x006f, .second: 0x0065, .result: 0x0153 }, |
826 | { .first: 0x0022, .second: 0x0059, .result: 0x0178 }, |
827 | { .first: 0x0069, .second: 0x006a, .result: 0x00ff }, |
828 | { .first: 0x0049, .second: 0x004a, .result: 0x0178 }, |
829 | }; |
830 | |
831 | #endif // QEVDEVKEYBOARDHANDLER_DEFAULTMAP_P_H |
832 | |