Remove ChangeLog files from the repo
[mono.git] / mcs / class / System.Windows.Forms / resources / create-keyboards.cs
1
2 using System;
3 using System.Resources;
4 using System.Windows.Forms;
5
6
7
8 public class CreateKeyboards
9 {
10         public static void Main() 
11         {
12                 ResXResourceWriter rsxw = new ResXResourceWriter ("keyboards.resx"); 
13                 KeyboardLayout [] table = new KeyboardLayout [64];
14
15                                 table [0] = new KeyboardLayout (1033, "United States keyboard layout", 0, 0, new uint [][] {
16                         new uint [] {0x60, 0x7e, }, new uint [] {0x31, 0x21, }, 
17                         new uint [] {0x32, 0x40, }, new uint [] {0x33, 0x23, }, 
18                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
19                         new uint [] {0x36, 0x5e, }, new uint [] {0x37, 0x26, }, 
20                         new uint [] {0x38, 0x2a, }, new uint [] {0x39, 0x28, }, 
21                         new uint [] {0x30, 0x29, }, new uint [] {0x2d, 0x5f, }, 
22                         new uint [] {0x3d, 0x2b, }, new uint [] {0x71, 0x51, }, 
23                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
24                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
25                         new uint [] {0x79, 0x59, }, new uint [] {0x75, 0x55, }, 
26                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
27                         new uint [] {0x70, 0x50, }, new uint [] {0x5b, 0x7b, }, 
28                         new uint [] {0x5d, 0x7d, }, new uint [] {0x61, 0x41, }, 
29                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
30                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
31                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
32                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
33                         new uint [] {0x3b, 0x3a, }, new uint [] {0x27, 0x22, }, 
34                         new uint [] {0x5c, 0x7c, }, new uint [] {0x7a, 0x5a, }, 
35                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
36                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
37                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
38                         new uint [] {0x2c, 0x3c, }, new uint [] {0x2e, 0x3e, }, 
39                         new uint [] {0x2f, 0x3f, }, new uint [] {}, 
40                         new uint [] {},                 });
41                 table [1] = new KeyboardLayout (1033, "United States keyboard layout (phantom key version)", 0, 0, new uint [][] {
42                         new uint [] {0x60, 0x7e, }, new uint [] {0x31, 0x21, }, 
43                         new uint [] {0x32, 0x40, }, new uint [] {0x33, 0x23, }, 
44                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
45                         new uint [] {0x36, 0x5e, }, new uint [] {0x37, 0x26, }, 
46                         new uint [] {0x38, 0x2a, }, new uint [] {0x39, 0x28, }, 
47                         new uint [] {0x30, 0x29, }, new uint [] {0x2d, 0x5f, }, 
48                         new uint [] {0x3d, 0x2b, }, new uint [] {0x71, 0x51, }, 
49                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
50                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
51                         new uint [] {0x79, 0x59, }, new uint [] {0x75, 0x55, }, 
52                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
53                         new uint [] {0x70, 0x50, }, new uint [] {0x5b, 0x7b, }, 
54                         new uint [] {0x5d, 0x7d, }, new uint [] {0x61, 0x41, }, 
55                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
56                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
57                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
58                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
59                         new uint [] {0x3b, 0x3a, }, new uint [] {0x27, 0x22, }, 
60                         new uint [] {0x5c, 0x7c, }, new uint [] {0x7a, 0x5a, }, 
61                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
62                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
63                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
64                         new uint [] {0x2c, 0x3c, }, new uint [] {0x2e, 0x3e, }, 
65                         new uint [] {0x2f, 0x3f, }, new uint [] {0x3c, 0x3e, }, 
66                         new uint [] {},                 });
67                 table [2] = new KeyboardLayout (1033, "United States keyboard layout (dvorak)", 1, 2, new uint [][] {
68                         new uint [] {0x60, 0x7e, }, new uint [] {0x31, 0x21, }, 
69                         new uint [] {0x32, 0x40, }, new uint [] {0x33, 0x23, }, 
70                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
71                         new uint [] {0x36, 0x5e, }, new uint [] {0x37, 0x26, }, 
72                         new uint [] {0x38, 0x2a, }, new uint [] {0x39, 0x28, }, 
73                         new uint [] {0x30, 0x29, }, new uint [] {0x5b, 0x7b, }, 
74                         new uint [] {0x5d, 0x7d, }, new uint [] {0x27, 0x22, }, 
75                         new uint [] {0x2c, 0x3c, }, new uint [] {0x2e, 0x3e, }, 
76                         new uint [] {0x70, 0x50, }, new uint [] {0x79, 0x59, }, 
77                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
78                         new uint [] {0x63, 0x43, }, new uint [] {0x72, 0x52, }, 
79                         new uint [] {0x6c, 0x4c, }, new uint [] {0x2f, 0x3f, }, 
80                         new uint [] {0x3d, 0x2b, }, new uint [] {0x61, 0x41, }, 
81                         new uint [] {0x6f, 0x4f, }, new uint [] {0x65, 0x45, }, 
82                         new uint [] {0x75, 0x55, }, new uint [] {0x69, 0x49, }, 
83                         new uint [] {0x64, 0x44, }, new uint [] {0x68, 0x48, }, 
84                         new uint [] {0x74, 0x54, }, new uint [] {0x6e, 0x4e, }, 
85                         new uint [] {0x73, 0x53, }, new uint [] {0x2d, 0x5f, }, 
86                         new uint [] {0x5c, 0x7c, }, new uint [] {0x3b, 0x3a, }, 
87                         new uint [] {0x71, 0x51, }, new uint [] {0x6a, 0x4a, }, 
88                         new uint [] {0x6b, 0x4b, }, new uint [] {0x78, 0x58, }, 
89                         new uint [] {0x62, 0x42, }, new uint [] {0x6d, 0x4d, }, 
90                         new uint [] {0x77, 0x57, }, new uint [] {0x76, 0x56, }, 
91                         new uint [] {0x7a, 0x5a, }, new uint [] {}, 
92                         new uint [] {},                 });
93                 table [3] = new KeyboardLayout (1033, "United States International keyboard layout", 0, 0, new uint [][] {
94                         new uint [] {0x60, 0x7e, }, new uint [] {0x31, 0x21, }, 
95                         new uint [] {0x32, 0x40, }, new uint [] {0x33, 0x23, }, 
96                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
97                         new uint [] {0x36, 0x5e, }, new uint [] {0x37, 0x26, }, 
98                         new uint [] {0x38, 0x2a, }, new uint [] {0x39, 0x28, }, 
99                         new uint [] {0x30, 0x29, }, new uint [] {0x2d, 0x5f, }, 
100                         new uint [] {0x3d, 0x2b, }, new uint [] {0x5c, 0x7c, }, 
101                         new uint [] {0x71, 0x51, }, new uint [] {0x77, 0x57, }, 
102                         new uint [] {0x65, 0x45, }, new uint [] {0x72, 0x52, }, 
103                         new uint [] {0x74, 0x54, }, new uint [] {0x79, 0x59, }, 
104                         new uint [] {0x75, 0x55, }, new uint [] {0x69, 0x49, }, 
105                         new uint [] {0x6f, 0x4f, }, new uint [] {0x70, 0x50, }, 
106                         new uint [] {0x5b, 0x7b, }, new uint [] {0x5d, 0x7d, }, 
107                         new uint [] {0x61, 0x41, }, new uint [] {0x73, 0x53, }, 
108                         new uint [] {0x64, 0x44, }, new uint [] {0x66, 0x46, }, 
109                         new uint [] {0x67, 0x47, }, new uint [] {0x68, 0x48, }, 
110                         new uint [] {0x6a, 0x4a, }, new uint [] {0x6b, 0x4b, }, 
111                         new uint [] {0x6c, 0x4c, }, new uint [] {0x3b, 0x3a, }, 
112                         new uint [] {0x27, 0x22, }, new uint [] {0x7a, 0x5a, }, 
113                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
114                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
115                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
116                         new uint [] {0x2c, 0x3c, }, new uint [] {0x2e, 0x3e, }, 
117                         new uint [] {0x2f, 0x3f, }, new uint [] {}, 
118                         new uint [] {},                 });
119                 table [4] = new KeyboardLayout (2057, "British keyboard layout", 0, 0, new uint [][] {
120                         new uint [] {0x60, }, new uint [] {0x31, 0x21, }, 
121                         new uint [] {0x32, 0x22, }, new uint [] {0x33, 0xffffffa3, }, 
122                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
123                         new uint [] {0x36, 0x5e, }, new uint [] {0x37, 0x26, }, 
124                         new uint [] {0x38, 0x2a, }, new uint [] {0x39, 0x28, }, 
125                         new uint [] {0x30, 0x29, }, new uint [] {0x2d, 0x5f, }, 
126                         new uint [] {0x3d, 0x2b, }, new uint [] {0x71, 0x51, }, 
127                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
128                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
129                         new uint [] {0x79, 0x59, }, new uint [] {0x75, 0x55, }, 
130                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
131                         new uint [] {0x70, 0x50, }, new uint [] {0x5b, 0x7b, }, 
132                         new uint [] {0x5d, 0x7d, }, new uint [] {0x61, 0x41, }, 
133                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
134                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
135                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
136                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
137                         new uint [] {0x3b, 0x3a, }, new uint [] {0x27, 0x40, }, 
138                         new uint [] {0x23, 0x7e, }, new uint [] {0x7a, 0x5a, }, 
139                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
140                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
141                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
142                         new uint [] {0x2c, 0x3c, }, new uint [] {0x2e, 0x3e, }, 
143                         new uint [] {0x2f, 0x3f, }, new uint [] {0x5c, 0x7c, }, 
144                         new uint [] {},                 });
145                 table [5] = new KeyboardLayout (1031, "German keyboard layout", 0, 1, new uint [][] {
146                         new uint [] {0x5e, 0xffffffb0, }, new uint [] {0x31, 0x21, }, 
147                         new uint [] {0x32, 0x22, }, new uint [] {0x33, 0xffffffa7, }, 
148                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
149                         new uint [] {0x36, 0x26, }, new uint [] {0x37, 0x2f, }, 
150                         new uint [] {0x38, 0x28, }, new uint [] {0x39, 0x29, }, 
151                         new uint [] {0x30, 0x3d, }, new uint [] {0xffffffdf, 0x3f, }, 
152                         new uint [] {0xffffffb4, 0x60, }, new uint [] {0x71, 0x51, }, 
153                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
154                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
155                         new uint [] {0x7a, 0x5a, }, new uint [] {0x75, 0x55, }, 
156                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
157                         new uint [] {0x70, 0x50, }, new uint [] {0xfffffffc, 0xffffffdc, }, 
158                         new uint [] {0x2b, 0x2a, }, new uint [] {0x61, 0x41, }, 
159                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
160                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
161                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
162                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
163                         new uint [] {0xfffffff6, 0xffffffd6, }, new uint [] {0xffffffe4, 0xffffffc4, }, 
164                         new uint [] {0x23, 0x27, }, new uint [] {0x79, 0x59, }, 
165                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
166                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
167                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
168                         new uint [] {0x2c, 0x3b, }, new uint [] {0x2e, 0x3a, }, 
169                         new uint [] {0x2d, 0x5f, }, new uint [] {0x3c, 0x3e, 0x7c, }, 
170                         new uint [] {},                 });
171                 table [6] = new KeyboardLayout (1031, "German keyboard layout without dead keys", 0, 1, new uint [][] {
172                         new uint [] {0x5e, 0xffffffb0, }, new uint [] {0x31, 0x21, }, 
173                         new uint [] {0x32, 0x22, }, new uint [] {0x33, 0xffffffa7, }, 
174                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
175                         new uint [] {0x36, 0x26, }, new uint [] {0x37, 0x2f, 0x7b, }, 
176                         new uint [] {0x38, 0x28, 0x5b, }, new uint [] {0x39, 0x29, 0x5d, }, 
177                         new uint [] {0x30, 0x3d, 0x7d, }, new uint [] {0xffffffdf, 0x3f, 0x5c, }, 
178                         new uint [] {0xffffffb4, }, new uint [] {0x71, 0x51, }, 
179                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
180                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
181                         new uint [] {0x7a, 0x5a, }, new uint [] {0x75, 0x55, }, 
182                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
183                         new uint [] {0x70, 0x50, }, new uint [] {0xfffffffc, 0xffffffdc, }, 
184                         new uint [] {0x2b, 0x2a, 0x7e, }, new uint [] {0x61, 0x41, }, 
185                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
186                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
187                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
188                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
189                         new uint [] {0xfffffff6, 0xffffffd6, }, new uint [] {0xffffffe4, 0xffffffc4, }, 
190                         new uint [] {0x23, 0x27, }, new uint [] {0x79, 0x59, }, 
191                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
192                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
193                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
194                         new uint [] {0x2c, 0x3b, }, new uint [] {0x2e, 0x3a, }, 
195                         new uint [] {0x2d, 0x5f, }, new uint [] {0x3c, 0x3e, }, 
196                         new uint [] {},                 });
197                 table [7] = new KeyboardLayout (1031, "German keyboard layout for logitech desktop pro", 0, 1, new uint [][] {
198                         new uint [] {0x5e, 0xffffffb0, }, new uint [] {0x31, 0x21, }, 
199                         new uint [] {0x32, 0x22, }, new uint [] {0x33, 0xffffffa7, }, 
200                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
201                         new uint [] {0x36, 0x26, }, new uint [] {0x37, 0x2f, 0x7b, }, 
202                         new uint [] {0x38, 0x28, 0x5b, }, new uint [] {0x39, 0x29, 0x5d, }, 
203                         new uint [] {0x30, 0x3d, 0x7d, }, new uint [] {0xffffffdf, 0x3f, 0x5c, }, 
204                         new uint [] {0x27, 0x60, }, new uint [] {0x71, 0x51, 0x40, }, 
205                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
206                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
207                         new uint [] {0x7a, 0x5a, }, new uint [] {0x75, 0x55, }, 
208                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
209                         new uint [] {0x70, 0x50, }, new uint [] {0xfffffffc, 0xffffffdc, }, 
210                         new uint [] {0x2b, 0x2a, 0x7e, }, new uint [] {0x61, 0x41, }, 
211                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
212                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
213                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
214                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
215                         new uint [] {0xfffffff6, 0xffffffd6, }, new uint [] {0xffffffe4, 0xffffffc4, }, 
216                         new uint [] {0x23, 0x27, }, new uint [] {0x79, 0x59, }, 
217                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
218                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
219                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
220                         new uint [] {0x2c, 0x3b, }, new uint [] {0x2e, 0x3a, }, 
221                         new uint [] {0x2d, 0x5f, }, new uint [] {0x3c, 0x3e, 0x7c, }, 
222                         new uint [] {},                 });
223                 table [8] = new KeyboardLayout (1031, "German keyboard layout without dead keys 105", 0, 3, new uint [][] {
224                         new uint [] {0x5e, 0xffffffb0, }, new uint [] {0x31, 0x21, }, 
225                         new uint [] {0x32, 0x22, 0xffffffb2, }, new uint [] {0x33, 0xffffffa7, 0xffffffb3, }, 
226                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
227                         new uint [] {0x36, 0x26, }, new uint [] {0x37, 0x2f, 0x7b, }, 
228                         new uint [] {0x38, 0x28, 0x5b, }, new uint [] {0x39, 0x29, 0x5d, }, 
229                         new uint [] {0x30, 0x3d, 0x7d, }, new uint [] {0xffffffdf, 0x3f, 0x5c, }, 
230                         new uint [] {0x27, 0x60, }, new uint [] {0x71, 0x51, 0x40, }, 
231                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
232                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
233                         new uint [] {0x7a, 0x5a, }, new uint [] {0x75, 0x55, }, 
234                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
235                         new uint [] {0x70, 0x50, }, new uint [] {0xfffffffc, 0xffffffdc, }, 
236                         new uint [] {0x2b, 0x2a, 0x7e, }, new uint [] {0x61, 0x41, }, 
237                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
238                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
239                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
240                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
241                         new uint [] {0xfffffff6, 0xffffffd6, }, new uint [] {0xffffffe4, 0xffffffc4, }, 
242                         new uint [] {0x23, 0x27, }, new uint [] {0x3c, 0x3e, 0x7c, }, 
243                         new uint [] {0x79, 0x59, }, new uint [] {0x78, 0x58, }, 
244                         new uint [] {0x63, 0x43, }, new uint [] {0x76, 0x56, }, 
245                         new uint [] {0x62, 0x42, }, new uint [] {0x6e, 0x4e, }, 
246                         new uint [] {0x6d, 0x4d, }, new uint [] {0x2c, 0x3b, }, 
247                         new uint [] {0x2e, 0x3a, }, new uint [] {0x2d, 0x5f, }, 
248                         new uint [] {},                 });
249                 table [9] = new KeyboardLayout (2055, "Swiss German keyboard layout", 0, 1, new uint [][] {
250                         new uint [] {0xffffffa7, 0xffffffb0, }, new uint [] {0x31, 0x2b, }, 
251                         new uint [] {0x32, 0x22, }, new uint [] {0x33, 0x2a, }, 
252                         new uint [] {0x34, 0xffffffe7, }, new uint [] {0x35, 0x25, }, 
253                         new uint [] {0x36, 0x26, }, new uint [] {0x37, 0x2f, }, 
254                         new uint [] {0x38, 0x28, }, new uint [] {0x39, 0x29, }, 
255                         new uint [] {0x30, 0x3d, }, new uint [] {0x27, 0x3f, }, 
256                         new uint [] {0x5e, 0x60, }, new uint [] {0x71, 0x51, }, 
257                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
258                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
259                         new uint [] {0x7a, 0x5a, }, new uint [] {0x75, 0x55, }, 
260                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
261                         new uint [] {0x70, 0x50, }, new uint [] {0xfffffffc, 0xffffffe8, }, 
262                         new uint [] {0xffffffa8, 0x21, }, new uint [] {0x61, 0x41, }, 
263                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
264                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
265                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
266                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
267                         new uint [] {0xfffffff6, 0xffffffe9, }, new uint [] {0xffffffe4, 0xffffffe0, }, 
268                         new uint [] {0x24, 0xffffffa3, }, new uint [] {0x79, 0x59, }, 
269                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
270                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
271                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
272                         new uint [] {0x2c, 0x3b, }, new uint [] {0x2e, 0x3a, }, 
273                         new uint [] {0x2d, 0x5f, }, new uint [] {0x3c, 0x3e, }, 
274                         new uint [] {},                 });
275                 table [10] = new KeyboardLayout (4108, "Swiss French keyboard layout", 0, 1, new uint [][] {
276                         new uint [] {0xffffffa7, 0xffffffb0, }, new uint [] {0x31, 0x2b, }, 
277                         new uint [] {0x32, 0x22, }, new uint [] {0x33, 0x2a, }, 
278                         new uint [] {0x34, 0xffffffe7, }, new uint [] {0x35, 0x25, }, 
279                         new uint [] {0x36, 0x26, }, new uint [] {0x37, 0x2f, }, 
280                         new uint [] {0x38, 0x28, }, new uint [] {0x39, 0x29, }, 
281                         new uint [] {0x30, 0x3d, }, new uint [] {0x27, 0x3f, }, 
282                         new uint [] {0x5e, 0x60, }, new uint [] {0x71, 0x51, }, 
283                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
284                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
285                         new uint [] {0x7a, 0x5a, }, new uint [] {0x75, 0x55, }, 
286                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
287                         new uint [] {0x70, 0x50, }, new uint [] {0xffffffe8, 0xfffffffc, }, 
288                         new uint [] {0xffffffa8, 0x21, }, new uint [] {0x61, 0x41, }, 
289                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
290                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
291                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
292                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
293                         new uint [] {0xffffffe9, 0xfffffff6, }, new uint [] {0xffffffe0, 0xffffffe4, }, 
294                         new uint [] {0x24, 0xffffffa3, }, new uint [] {0x79, 0x59, }, 
295                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
296                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
297                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
298                         new uint [] {0x2c, 0x3b, }, new uint [] {0x2e, 0x3a, }, 
299                         new uint [] {0x2d, 0x5f, }, new uint [] {0x3c, 0x3e, }, 
300                         new uint [] {},                 });
301                 table [11] = new KeyboardLayout (1053, "Swedish keyboard layout", 0, 5, new uint [][] {
302                         new uint [] {0xffffffa7, 0xffffffbd, }, new uint [] {0x31, 0x21, }, 
303                         new uint [] {0x32, 0x22, }, new uint [] {0x33, 0x23, }, 
304                         new uint [] {0x34, 0xffffffa4, }, new uint [] {0x35, 0x25, }, 
305                         new uint [] {0x36, 0x26, }, new uint [] {0x37, 0x2f, }, 
306                         new uint [] {0x38, 0x28, }, new uint [] {0x39, 0x29, }, 
307                         new uint [] {0x30, 0x3d, }, new uint [] {0x2b, 0x3f, }, 
308                         new uint [] {0xffffffb4, 0x60, }, new uint [] {0x71, 0x51, }, 
309                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
310                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
311                         new uint [] {0x79, 0x59, }, new uint [] {0x75, 0x55, }, 
312                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
313                         new uint [] {0x70, 0x50, }, new uint [] {0xffffffe5, 0xffffffc5, }, 
314                         new uint [] {0xffffffa8, 0x5e, }, new uint [] {0x61, 0x41, }, 
315                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
316                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
317                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
318                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
319                         new uint [] {0xfffffff6, 0xffffffd6, }, new uint [] {0xffffffe4, 0xffffffc4, }, 
320                         new uint [] {0x27, 0x2a, }, new uint [] {0x7a, 0x5a, }, 
321                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
322                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
323                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
324                         new uint [] {0x2c, 0x3b, }, new uint [] {0x2e, 0x3a, }, 
325                         new uint [] {0x2d, 0x5f, }, new uint [] {0x3c, 0x3e, }, 
326                         new uint [] {},                 });
327                 table [12] = new KeyboardLayout (1061, "Estonian keyboard layout", 0, 0, new uint [][] {
328                         new uint [] {0xffffffb7, 0x7e, }, new uint [] {0x31, 0x21, }, 
329                         new uint [] {0x32, 0x22, }, new uint [] {0x33, 0x23, }, 
330                         new uint [] {0x34, 0xffffffa4, }, new uint [] {0x35, 0x25, }, 
331                         new uint [] {0x36, 0x26, }, new uint [] {0x37, 0x2f, }, 
332                         new uint [] {0x38, 0x28, }, new uint [] {0x39, 0x29, }, 
333                         new uint [] {0x30, 0x3d, }, new uint [] {0x2b, 0x3f, }, 
334                         new uint [] {0xffffffb4, 0x60, }, new uint [] {0x71, 0x51, }, 
335                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
336                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
337                         new uint [] {0x79, 0x59, }, new uint [] {0x75, 0x55, }, 
338                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
339                         new uint [] {0x70, 0x50, }, new uint [] {0xfffffffc, 0xffffffdc, }, 
340                         new uint [] {0xfffffff5, 0xffffffd5, }, new uint [] {0x61, 0x41, }, 
341                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
342                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
343                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
344                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
345                         new uint [] {0xfffffff6, 0xffffffd6, }, new uint [] {0xffffffe4, 0xffffffc4, }, 
346                         new uint [] {0x27, 0x2a, }, new uint [] {0x7a, 0x5a, }, 
347                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
348                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
349                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
350                         new uint [] {0x2c, 0x3b, }, new uint [] {0x2e, 0x3a, }, 
351                         new uint [] {0x2d, 0x5f, }, new uint [] {0x3c, 0x3e, }, 
352                         new uint [] {},                 });
353                 table [13] = new KeyboardLayout (1044, "Norwegian keyboard layout", 0, 0, new uint [][] {
354                         new uint [] {0x7c, 0xffffffa7, }, new uint [] {0x31, 0x21, }, 
355                         new uint [] {0x32, 0x22, 0x40, }, new uint [] {0x33, 0x23, 0xffffffa3, }, 
356                         new uint [] {0x34, 0xffffffa4, 0x24, }, new uint [] {0x35, 0x25, }, 
357                         new uint [] {0x36, 0x26, }, new uint [] {0x37, 0x2f, 0x7b, }, 
358                         new uint [] {0x38, 0x28, 0x5b, }, new uint [] {0x39, 0x29, 0x5d, }, 
359                         new uint [] {0x30, 0x3d, 0x7d, }, new uint [] {0x2b, 0x3f, }, 
360                         new uint [] {0x5c, 0x60, 0xffffffb4, }, new uint [] {0x71, 0x51, }, 
361                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
362                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
363                         new uint [] {0x79, 0x59, }, new uint [] {0x75, 0x55, }, 
364                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
365                         new uint [] {0x70, 0x50, }, new uint [] {0xffffffe5, 0xffffffc5, }, 
366                         new uint [] {0xffffffa8, 0x5e, 0x7e, }, new uint [] {0x61, 0x41, }, 
367                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
368                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
369                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
370                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
371                         new uint [] {0xfffffff8, 0xffffffd8, }, new uint [] {0xffffffe6, 0xffffffc6, }, 
372                         new uint [] {0x27, 0x2a, }, new uint [] {0x7a, 0x5a, }, 
373                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
374                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
375                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
376                         new uint [] {0x2c, 0x3b, }, new uint [] {0x2e, 0x3a, }, 
377                         new uint [] {0x2d, 0x5f, }, new uint [] {0x3c, 0x3e, }, 
378                         new uint [] {},                 });
379                 table [14] = new KeyboardLayout (1030, "Danish keyboard layout", 0, 0, new uint [][] {
380                         new uint [] {0xffffffbd, 0xffffffa7, }, new uint [] {0x31, 0x21, }, 
381                         new uint [] {0x32, 0x22, }, new uint [] {0x33, 0x23, }, 
382                         new uint [] {0x34, 0xffffffa4, }, new uint [] {0x35, 0x25, }, 
383                         new uint [] {0x36, 0x26, }, new uint [] {0x37, 0x2f, }, 
384                         new uint [] {0x38, 0x28, }, new uint [] {0x39, 0x29, }, 
385                         new uint [] {0x30, 0x3d, }, new uint [] {0x2b, 0x3f, }, 
386                         new uint [] {0xffffffb4, 0x60, }, new uint [] {0x71, 0x51, }, 
387                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
388                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
389                         new uint [] {0x79, 0x59, }, new uint [] {0x75, 0x55, }, 
390                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
391                         new uint [] {0x70, 0x50, }, new uint [] {0xffffffe5, 0xffffffc5, }, 
392                         new uint [] {0xffffffa8, 0x5e, }, new uint [] {0x61, 0x41, }, 
393                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
394                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
395                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
396                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
397                         new uint [] {0xffffffe6, 0xffffffc6, }, new uint [] {0xfffffff8, 0xffffffd8, }, 
398                         new uint [] {0x27, 0x2a, }, new uint [] {0x7a, 0x5a, }, 
399                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
400                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
401                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
402                         new uint [] {0x2c, 0x3b, }, new uint [] {0x2e, 0x3a, }, 
403                         new uint [] {0x2d, 0x5f, }, new uint [] {0x3c, 0x3e, }, 
404                         new uint [] {},                 });
405                 table [15] = new KeyboardLayout (1036, "French keyboard layout", 0, 4, new uint [][] {
406                         new uint [] {0xffffffb2, }, new uint [] {0x26, 0x31, }, 
407                         new uint [] {0xffffffe9, 0x32, 0x7e, }, new uint [] {0x22, 0x33, 0x23, }, 
408                         new uint [] {0x27, 0x34, 0x7b, }, new uint [] {0x28, 0x35, 0x5b, }, 
409                         new uint [] {0x2d, 0x36, 0x7c, }, new uint [] {0xffffffe8, 0x37, 0x60, }, 
410                         new uint [] {0x5f, 0x38, 0x5c, }, new uint [] {0xffffffe7, 0x39, 0x5e, 0xffffffb1, }, 
411                         new uint [] {0xffffffe0, 0x30, 0x40, }, new uint [] {0x29, 0xffffffb0, 0x5d, }, 
412                         new uint [] {0x3d, 0x2b, 0x7d, }, new uint [] {0x61, 0x41, }, 
413                         new uint [] {0x7a, 0x5a, }, new uint [] {0x65, 0x45, 0xffffffbf, }, 
414                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
415                         new uint [] {0x79, 0x59, }, new uint [] {0x75, 0x55, }, 
416                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
417                         new uint [] {0x70, 0x50, }, new uint [] {0x5e, 0xffffffa8, }, 
418                         new uint [] {0x24, 0xffffffa3, 0xffffffa4, }, new uint [] {0x71, 0x51, }, 
419                         new uint [] {0x73, 0x53, 0xffffffdf, }, new uint [] {0x64, 0x44, }, 
420                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
421                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
422                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
423                         new uint [] {0x6d, 0x4d, }, new uint [] {0xfffffff9, 0x25, }, 
424                         new uint [] {0x2a, 0xffffffb5, }, new uint [] {0x77, 0x57, }, 
425                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
426                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
427                         new uint [] {0x6e, 0x4e, }, new uint [] {0x2c, 0x3f, }, 
428                         new uint [] {0x3b, 0x2e, }, new uint [] {0x3a, 0x2f, }, 
429                         new uint [] {0x21, 0xffffffa7, }, new uint [] {0x3c, 0x3e, }, 
430                         new uint [] {},                 });
431                 table [16] = new KeyboardLayout (3084, "Canadian French keyboard layout", 0, 0, new uint [][] {
432                         new uint [] {0x23, 0x7c, 0x5c, }, new uint [] {0x31, 0x21, 0xffffffb1, }, 
433                         new uint [] {0x32, 0x22, 0x40, }, new uint [] {0x33, 0x2f, 0xffffffa3, }, 
434                         new uint [] {0x34, 0x24, 0xffffffa2, }, new uint [] {0x35, 0x25, 0xffffffa4, }, 
435                         new uint [] {0x36, 0x3f, 0xffffffac, }, new uint [] {0x37, 0x26, 0xffffffa6, }, 
436                         new uint [] {0x38, 0x2a, 0xffffffb2, }, new uint [] {0x39, 0x28, 0xffffffb3, }, 
437                         new uint [] {0x30, 0x29, 0xffffffbc, }, new uint [] {0x2d, 0x5f, 0xffffffbd, }, 
438                         new uint [] {0x3d, 0x2b, 0xffffffbe, }, new uint [] {0x71, 0x51, }, 
439                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
440                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
441                         new uint [] {0x79, 0x59, }, new uint [] {0x75, 0x55, }, 
442                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, 0xffffffa7, }, 
443                         new uint [] {0x70, 0x50, 0xffffffb6, }, new uint [] {0x5e, 0x5e, 0x5b, }, 
444                         new uint [] {0xffffffb8, 0xffffffa8, 0x5d, }, new uint [] {0x61, 0x41, }, 
445                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
446                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
447                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
448                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
449                         new uint [] {0x3b, 0x3a, 0x7e, }, new uint [] {0x60, 0x60, 0x7b, }, 
450                         new uint [] {0x3c, 0x3e, 0x7d, }, new uint [] {0x7a, 0x5a, }, 
451                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
452                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
453                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
454                         new uint [] {0x2c, 0x27, 0x2d, }, new uint [] {0x2e, }, 
455                         new uint [] {0xffffffe9, 0xffffffc9, }, new uint [] {0xffffffab, 0xffffffbb, 0xffffffb0, }, 
456                         new uint [] {},                 });
457                 table [17] = new KeyboardLayout (3084, "Canadian French keyboard layout (CA_fr)", 0, 0, new uint [][] {
458                         new uint [] {0x23, 0x7c, }, new uint [] {0x31, 0x21, }, 
459                         new uint [] {0x32, 0x22, }, new uint [] {0x33, 0x2f, }, 
460                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
461                         new uint [] {0x36, 0x3f, }, new uint [] {0x37, 0x26, }, 
462                         new uint [] {0x38, 0x2a, }, new uint [] {0x39, 0x28, }, 
463                         new uint [] {0x30, 0x29, }, new uint [] {0x2d, 0x5f, }, 
464                         new uint [] {0x3d, 0x2b, }, new uint [] {0x71, 0x51, }, 
465                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
466                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
467                         new uint [] {0x79, 0x59, }, new uint [] {0x75, 0x55, }, 
468                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
469                         new uint [] {0x70, 0x50, }, new uint [] {0x5e, 0x5e, }, 
470                         new uint [] {0xffffffb8, 0xffffffa8, }, new uint [] {0x61, 0x41, }, 
471                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
472                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
473                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
474                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
475                         new uint [] {0x3b, 0x3a, }, new uint [] {0x60, 0x60, }, 
476                         new uint [] {0x3c, 0x3e, }, new uint [] {0x7a, 0x5a, }, 
477                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
478                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
479                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
480                         new uint [] {0x2c, 0x27, }, new uint [] {0x2e, }, 
481                         new uint [] {0xffffffe9, 0xffffffc9, }, new uint [] {0xffffffab, 0xffffffbb, }, 
482                         new uint [] {},                 });
483                 table [18] = new KeyboardLayout (3084, "Canadian keyboard layout", 0, 0, new uint [][] {
484                         new uint [] {0x2f, 0x5c, }, new uint [] {0x31, 0x21, 0xffffffb9, 0xffffffa1, }, 
485                         new uint [] {0x32, 0x40, 0xffffffb2, }, new uint [] {0x33, 0x23, 0xffffffb3, 0xffffffa3, }, 
486                         new uint [] {0x34, 0x24, 0xffffffbc, 0xffffffa4, }, new uint [] {0x35, 0x25, 0xffffffbd, }, 
487                         new uint [] {0x36, 0x3f, 0xffffffbe, }, new uint [] {0x37, 0x26, }, 
488                         new uint [] {0x38, 0x2a, }, new uint [] {0x39, 0x28, }, 
489                         new uint [] {0x30, 0x29, }, new uint [] {0x2d, 0x5f, }, 
490                         new uint [] {0x3d, 0x2b, }, new uint [] {0x71, 0x51, }, 
491                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
492                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
493                         new uint [] {0x79, 0x59, }, new uint [] {0x75, 0x55, }, 
494                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, 0xfffffff8, 0xffffffd8, }, 
495                         new uint [] {0x70, 0x50, 0xfffffffe, 0xffffffde, }, new uint [] {0x5e, 0xffffffa8, 0xffffffa8, }, 
496                         new uint [] {0xffffffe7, 0xffffffc7, 0x7e, }, new uint [] {0x61, 0x41, 0xffffffe6, 0xffffffc6, }, 
497                         new uint [] {0x73, 0x53, 0xffffffdf, 0xffffffa7, }, new uint [] {0x64, 0x44, 0xfffffff0, 0xffffffd0, }, 
498                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
499                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
500                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
501                         new uint [] {0x3b, 0x3a, 0xffffffb4, }, new uint [] {0xffffffe8, 0xffffffc8, }, 
502                         new uint [] {0xffffffe0, 0xffffffc0, }, new uint [] {0x7a, 0x5a, }, 
503                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, 0xffffffa2, 0xffffffa9, }, 
504                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
505                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, 0xffffffb5, 0xffffffba, }, 
506                         new uint [] {0x2c, 0x27, }, new uint [] {0x2e, 0x22, 0xffffffb7, 0xfffffff7, }, 
507                         new uint [] {0xffffffe9, 0xffffffc9, }, new uint [] {0xfffffff9, 0xffffffd9, }, 
508                         new uint [] {},                 });
509                 table [19] = new KeyboardLayout (2060, "Belgian keyboard layout", 0, 4, new uint [][] {
510                         new uint [] {}, new uint [] {0x26, 0x31, 0x7c, }, 
511                         new uint [] {0xffffffe9, 0x32, 0x40, }, new uint [] {0x22, 0x33, 0x23, }, 
512                         new uint [] {0x27, 0x34, }, new uint [] {0x28, 0x35, }, 
513                         new uint [] {0xffffffa7, 0x36, 0x5e, }, new uint [] {0xffffffe8, 0x37, }, 
514                         new uint [] {0x21, 0x38, }, new uint [] {0xffffffe7, 0x39, 0x7b, }, 
515                         new uint [] {0xffffffe0, 0x30, 0x7d, }, new uint [] {0x29, 0xffffffb0, }, 
516                         new uint [] {0x2d, 0x5f, }, new uint [] {0x61, 0x41, }, 
517                         new uint [] {0x7a, 0x5a, }, new uint [] {0x65, 0x45, 0xffffffa4, }, 
518                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
519                         new uint [] {0x79, 0x59, }, new uint [] {0x75, 0x55, }, 
520                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
521                         new uint [] {0x70, 0x50, }, new uint [] {0x5e, 0xffffffa8, 0x5b, }, 
522                         new uint [] {0x24, 0x2a, 0x5d, }, new uint [] {0x71, 0x51, }, 
523                         new uint [] {0x73, 0x53, 0xffffffdf, }, new uint [] {0x64, 0x44, }, 
524                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
525                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
526                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
527                         new uint [] {0x6d, 0x4d, }, new uint [] {0xfffffff9, 0x25, 0xffffffb4, }, 
528                         new uint [] {0xffffffb5, 0xffffffa3, 0x60, }, new uint [] {0x77, 0x57, }, 
529                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
530                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
531                         new uint [] {0x6e, 0x4e, }, new uint [] {0x2c, 0x3f, }, 
532                         new uint [] {0x3b, 0x2e, }, new uint [] {0x3a, 0x2f, }, 
533                         new uint [] {0x3d, 0x2b, 0x7e, }, new uint [] {0x3c, 0x3e, 0x5c, }, 
534                         new uint [] {},                 });
535                 table [20] = new KeyboardLayout (2070, "Portuguese keyboard layout", 0, 0, new uint [][] {
536                         new uint [] {0x5c, 0x7c, }, new uint [] {0x31, 0x21, }, 
537                         new uint [] {0x32, 0x22, }, new uint [] {0x33, 0x23, }, 
538                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
539                         new uint [] {0x36, 0x26, }, new uint [] {0x37, 0x2f, }, 
540                         new uint [] {0x38, 0x28, }, new uint [] {0x39, 0x29, }, 
541                         new uint [] {0x30, 0x3d, }, new uint [] {0x27, 0x3f, }, 
542                         new uint [] {0xffffffab, 0xffffffbb, }, new uint [] {0x71, 0x51, }, 
543                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
544                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
545                         new uint [] {0x79, 0x59, }, new uint [] {0x75, 0x55, }, 
546                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
547                         new uint [] {0x70, 0x50, }, new uint [] {0x2b, 0x2a, }, 
548                         new uint [] {0xffffffb4, 0x60, }, new uint [] {0x61, 0x41, }, 
549                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
550                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
551                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
552                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
553                         new uint [] {0xffffffe7, 0xffffffc7, }, new uint [] {0xffffffba, 0xffffffaa, }, 
554                         new uint [] {0x7e, 0x5e, }, new uint [] {0x7a, 0x5a, }, 
555                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
556                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
557                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
558                         new uint [] {0x2c, 0x3b, }, new uint [] {0x2e, 0x3a, }, 
559                         new uint [] {0x2d, 0x5f, }, new uint [] {0x3c, 0x3e, }, 
560                         new uint [] {},                 });
561                 table [21] = new KeyboardLayout (1046, "Brazilian ABNT-2 keyboard layout", 2, 6, new uint [][] {
562                         new uint [] {0x27, 0x22, }, new uint [] {0x31, 0x21, }, 
563                         new uint [] {0x32, 0x40, }, new uint [] {0x33, 0x23, }, 
564                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
565                         new uint [] {0x36, 0xffffffa8, }, new uint [] {0x37, 0x26, }, 
566                         new uint [] {0x38, 0x2a, }, new uint [] {0x39, 0x28, }, 
567                         new uint [] {0x30, 0x29, }, new uint [] {0x2d, 0x5f, }, 
568                         new uint [] {0x3d, 0x2b, }, new uint [] {0x71, 0x51, }, 
569                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
570                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
571                         new uint [] {0x79, 0x59, }, new uint [] {0x75, 0x55, }, 
572                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
573                         new uint [] {0x70, 0x50, }, new uint [] {0xffffffb4, 0x60, }, 
574                         new uint [] {0x5b, 0x7b, }, new uint [] {0x61, 0x41, }, 
575                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
576                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
577                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
578                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
579                         new uint [] {0xffffffe7, 0xffffffc7, }, new uint [] {0x7e, 0x5e, }, 
580                         new uint [] {0x5d, 0x7d, }, new uint [] {0x5c, 0x7c, }, 
581                         new uint [] {0x7a, 0x5a, }, new uint [] {0x78, 0x58, }, 
582                         new uint [] {0x63, 0x43, }, new uint [] {0x76, 0x56, }, 
583                         new uint [] {0x62, 0x42, }, new uint [] {0x6e, 0x4e, }, 
584                         new uint [] {0x6d, 0x4d, }, new uint [] {0x2c, 0x3c, }, 
585                         new uint [] {0x2e, 0x3e, }, new uint [] {0x3b, 0x3a, }, 
586                         new uint [] {0x2f, 0x3f, },             });
587                 table [22] = new KeyboardLayout (1046, "Brazilian ABNT-2 keyboard layout ALT GR", 2, 6, new uint [][] {
588                         new uint [] {0x27, 0x22, }, new uint [] {0x31, 0x21, 0x39, }, 
589                         new uint [] {0x32, 0x40, 0x32, }, new uint [] {0x33, 0x23, 0x33, }, 
590                         new uint [] {0x34, 0x24, 0x23, }, new uint [] {0x35, 0x25, 0x22, }, 
591                         new uint [] {0x36, 0x28, 0x2c, }, new uint [] {0x37, 0x26, }, 
592                         new uint [] {0x38, 0x2a, }, new uint [] {0x39, 0x28, }, 
593                         new uint [] {0x30, 0x29, }, new uint [] {0x2d, 0x5f, }, 
594                         new uint [] {0x3d, 0x2b, 0x27, }, new uint [] {0x71, 0x51, }, 
595                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
596                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
597                         new uint [] {0x79, 0x59, }, new uint [] {0x75, 0x55, }, 
598                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
599                         new uint [] {0x70, 0x50, }, new uint [] {0x34, 0x60, }, 
600                         new uint [] {0x5b, 0x7b, 0x2a, }, new uint [] {0x61, 0x41, }, 
601                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
602                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
603                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
604                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
605                         new uint [] {0x67, 0x47, }, new uint [] {0x7e, 0x5e, }, 
606                         new uint [] {0x5d, 0x7d, 0x3a, }, new uint [] {0x5c, 0x7c, }, 
607                         new uint [] {0x7a, 0x5a, }, new uint [] {0x78, 0x58, }, 
608                         new uint [] {0x63, 0x43, }, new uint [] {0x76, 0x56, }, 
609                         new uint [] {0x62, 0x42, }, new uint [] {0x6e, 0x4e, }, 
610                         new uint [] {0x6d, 0x4d, }, new uint [] {0x2c, 0x3c, }, 
611                         new uint [] {0x2e, 0x3e, }, new uint [] {0x3b, 0x3a, }, 
612                         new uint [] {0x2f, 0x3f, 0x30, },               });
613                 table [23] = new KeyboardLayout (1035, "Finnish keyboard layout", 0, 0, new uint [][] {
614                         new uint [] {0xffffffa7, 0xffffffbd, }, new uint [] {0x31, 0x21, }, 
615                         new uint [] {0x32, 0x22, }, new uint [] {0x33, 0x23, }, 
616                         new uint [] {0x34, 0xffffffa4, }, new uint [] {0x35, 0x25, }, 
617                         new uint [] {0x36, 0x26, }, new uint [] {0x37, 0x2f, }, 
618                         new uint [] {0x38, 0x28, }, new uint [] {0x39, 0x29, }, 
619                         new uint [] {0x30, 0x3d, }, new uint [] {0x2b, 0x3f, }, 
620                         new uint [] {0xffffffb4, 0x60, }, new uint [] {0x71, 0x51, }, 
621                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
622                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
623                         new uint [] {0x79, 0x59, }, new uint [] {0x75, 0x55, }, 
624                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
625                         new uint [] {0x70, 0x50, }, new uint [] {0xffffffe5, 0xffffffc5, }, 
626                         new uint [] {0xffffffa8, 0x5e, }, new uint [] {0x61, 0x41, }, 
627                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
628                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
629                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
630                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
631                         new uint [] {0xfffffff6, 0xffffffd6, }, new uint [] {0xffffffe4, 0xffffffc4, }, 
632                         new uint [] {0x27, 0x2a, }, new uint [] {0x7a, 0x5a, }, 
633                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
634                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
635                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
636                         new uint [] {0x2c, 0x3b, }, new uint [] {0x2e, 0x3a, }, 
637                         new uint [] {0x2d, 0x5f, }, new uint [] {0x3c, 0x3e, }, 
638                         new uint [] {},                 });
639                 table [24] = new KeyboardLayout (1026, "Bulgarian bds keyboard layout", 0, 0, new uint [][] {
640                         new uint [] {0x60, 0x7e, 0x28, 0x29, }, new uint [] {0x31, 0x21, }, 
641                         new uint [] {0x32, 0x40, 0x32, 0x3f, }, new uint [] {0x33, 0x23, 0x33, 0x2b, }, 
642                         new uint [] {0x34, 0x24, 0x34, 0x22, }, new uint [] {0x35, 0x25, }, 
643                         new uint [] {0x36, 0x5e, 0x36, 0x3d, }, new uint [] {0x37, 0x26, 0x37, 0x3a, }, 
644                         new uint [] {0x38, 0x2a, 0x38, 0x2f, }, new uint [] {0x39, 0x28, }, 
645                         new uint [] {0x30, 0x29, }, new uint [] {0x2d, 0x5f, 0x2d, 0x49, }, 
646                         new uint [] {0x3d, 0x2b, 0x2e, 0x56, }, new uint [] {0x71, 0x51, 0x2c, 0xfffffffb, }, 
647                         new uint [] {0x77, 0x57, 0xfffffff3, 0xffffffd3, }, new uint [] {0x65, 0x45, 0xffffffe5, 0xffffffc5, }, 
648                         new uint [] {0x72, 0x52, 0xffffffe8, 0xffffffc8, }, new uint [] {0x74, 0x54, 0xfffffff8, 0xffffffd8, }, 
649                         new uint [] {0x79, 0x59, 0xfffffff9, 0xffffffd9, }, new uint [] {0x75, 0x55, 0xffffffea, 0xffffffca, }, 
650                         new uint [] {0x69, 0x49, 0xfffffff1, 0xffffffd1, }, new uint [] {0x6f, 0x4f, 0xffffffe4, 0xffffffc4, }, 
651                         new uint [] {0x70, 0x50, 0xffffffe7, 0xffffffc7, }, new uint [] {0x5b, 0x7b, 0xfffffff6, 0xffffffd6, }, 
652                         new uint [] {0x5d, 0x7d, 0x3b, }, new uint [] {0x61, 0x41, 0xfffffffc, 0xffffffdc, }, 
653                         new uint [] {0x73, 0x53, 0xffffffff, 0xffffffdf, }, new uint [] {0x64, 0x44, 0xffffffe0, 0xffffffc0, }, 
654                         new uint [] {0x66, 0x46, 0xffffffee, 0xffffffce, }, new uint [] {0x67, 0x47, 0xffffffe6, 0xffffffc6, }, 
655                         new uint [] {0x68, 0x48, 0xffffffe3, 0xffffffc3, }, new uint [] {0x6a, 0x4a, 0xfffffff2, 0xffffffd2, }, 
656                         new uint [] {0x6b, 0x4b, 0xffffffed, 0xffffffcd, }, new uint [] {0x6c, 0x4c, 0xffffffe2, 0xffffffc2, }, 
657                         new uint [] {0x3b, 0x3a, 0xffffffec, 0xffffffcc, }, new uint [] {0x27, 0x22, 0xfffffff7, 0xffffffd7, }, 
658                         new uint [] {0x5c, 0x7c, 0x27, 0xffffffdb, }, new uint [] {0x7a, 0x5a, 0xfffffffe, 0xffffffde, }, 
659                         new uint [] {0x78, 0x58, 0xffffffe9, 0xffffffc9, }, new uint [] {0x63, 0x43, 0xfffffffa, 0xffffffda, }, 
660                         new uint [] {0x76, 0x56, 0xfffffffd, 0xffffffdd, }, new uint [] {0x62, 0x42, 0xfffffff4, 0xffffffd4, }, 
661                         new uint [] {0x6e, 0x4e, 0xfffffff5, 0xffffffd5, }, new uint [] {0x6d, 0x4d, 0xffffffef, 0xffffffcf, }, 
662                         new uint [] {0x2c, 0x3c, 0xfffffff0, 0xffffffd0, }, new uint [] {0x2e, 0x3e, 0xffffffeb, 0xffffffcb, }, 
663                         new uint [] {0x2f, 0x3f, 0xffffffe1, 0xffffffc1, }, new uint [] {0x3c, 0x3e, }, 
664                         new uint [] {},                 });
665                 table [25] = new KeyboardLayout (1026, "Bulgarian phonetic keyboard layout", 0, 0, new uint [][] {
666                         new uint [] {0x60, 0x7e, 0xfffffff7, 0xffffffd7, }, new uint [] {0x31, 0x21, }, 
667                         new uint [] {0x32, 0x40, }, new uint [] {0x33, 0x23, }, 
668                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
669                         new uint [] {0x36, 0x5e, }, new uint [] {0x37, 0x26, }, 
670                         new uint [] {0x38, 0x2a, }, new uint [] {0x39, 0x28, }, 
671                         new uint [] {0x30, 0x29, }, new uint [] {0x2d, 0x5f, }, 
672                         new uint [] {0x3d, 0x2b, }, new uint [] {0x71, 0x51, 0xffffffff, 0xffffffdf, }, 
673                         new uint [] {0x77, 0x57, 0xffffffe2, 0xffffffc2, }, new uint [] {0x65, 0x45, 0xffffffe5, 0xffffffc5, }, 
674                         new uint [] {0x72, 0x52, 0xfffffff0, 0xffffffd0, }, new uint [] {0x74, 0x54, 0xfffffff2, 0xffffffd2, }, 
675                         new uint [] {0x79, 0x59, 0xfffffffa, 0xffffffda, }, new uint [] {0x75, 0x55, 0xfffffff3, 0xffffffd3, }, 
676                         new uint [] {0x69, 0x49, 0xffffffe8, 0xffffffc8, }, new uint [] {0x6f, 0x4f, 0xffffffee, 0xffffffce, }, 
677                         new uint [] {0x70, 0x50, 0xffffffef, 0xffffffcf, }, new uint [] {0x5b, 0x7b, 0xfffffff8, 0xffffffd8, }, 
678                         new uint [] {0x5d, 0x7d, 0xfffffff9, 0xffffffd9, }, new uint [] {0x61, 0x41, 0xffffffe0, 0xffffffc0, }, 
679                         new uint [] {0x73, 0x53, 0xfffffff1, 0xffffffd1, }, new uint [] {0x64, 0x44, 0xffffffe4, 0xffffffc4, }, 
680                         new uint [] {0x66, 0x46, 0xfffffff4, 0xffffffd4, }, new uint [] {0x67, 0x47, 0xffffffe3, 0xffffffc3, }, 
681                         new uint [] {0x68, 0x48, 0xfffffff5, 0xffffffd5, }, new uint [] {0x6a, 0x4a, 0xffffffe9, 0xffffffc9, }, 
682                         new uint [] {0x6b, 0x4b, 0xffffffea, 0xffffffca, }, new uint [] {0x6c, 0x4c, 0xffffffeb, 0xffffffcb, }, 
683                         new uint [] {0x3b, 0x3a, }, new uint [] {0x27, 0x22, }, 
684                         new uint [] {0x5c, 0x7c, 0xfffffffe, 0xffffffde, }, new uint [] {0x7a, 0x5a, 0xffffffe7, 0xffffffc7, }, 
685                         new uint [] {0x78, 0x58, 0xfffffffc, 0xffffffdc, }, new uint [] {0x63, 0x43, 0xfffffff6, 0xffffffd6, }, 
686                         new uint [] {0x76, 0x56, 0xffffffe6, 0xffffffc6, }, new uint [] {0x62, 0x42, 0xffffffe1, 0xffffffc1, }, 
687                         new uint [] {0x6e, 0x4e, 0xffffffed, 0xffffffcd, }, new uint [] {0x6d, 0x4d, 0xffffffec, 0xffffffcc, }, 
688                         new uint [] {0x2c, 0x3c, }, new uint [] {0x2e, 0x3e, }, 
689                         new uint [] {0x2f, 0x3f, }, new uint [] {0x3c, 0x3e, }, 
690                         new uint [] {},                 });
691                 table [26] = new KeyboardLayout (1059, "Belarusian keyboard layout", 0, 0, new uint [][] {
692                         new uint [] {0x60, 0x7e, 0xffffffa3, 0xffffffb3, }, new uint [] {0x31, 0x21, }, 
693                         new uint [] {0x32, 0x40, }, new uint [] {0x33, 0x23, }, 
694                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
695                         new uint [] {0x36, 0x5e, }, new uint [] {0x37, 0x26, }, 
696                         new uint [] {0x38, 0x2a, }, new uint [] {0x39, 0x28, }, 
697                         new uint [] {0x30, 0x29, }, new uint [] {0x2d, 0x5f, }, 
698                         new uint [] {0x3d, 0x2b, }, new uint [] {0x71, 0x51, 0xffffffca, 0xffffffea, }, 
699                         new uint [] {0x77, 0x57, 0xffffffc3, 0xffffffe3, }, new uint [] {0x65, 0x45, 0xffffffd5, 0xfffffff5, }, 
700                         new uint [] {0x72, 0x52, 0xffffffcb, 0xffffffeb, }, new uint [] {0x74, 0x54, 0xffffffc5, 0xffffffe5, }, 
701                         new uint [] {0x79, 0x59, 0xffffffce, 0xffffffee, }, new uint [] {0x75, 0x55, 0xffffffc7, 0xffffffe7, }, 
702                         new uint [] {0x69, 0x49, 0xffffffdb, 0xfffffffb, }, new uint [] {0x6f, 0x4f, 0xffffffae, 0xffffffbe, }, 
703                         new uint [] {0x70, 0x50, 0xffffffda, 0xfffffffa, }, new uint [] {0x5b, 0x7b, 0xffffffc8, 0xffffffe8, }, 
704                         new uint [] {0x5d, 0x7d, 0x27, 0x27, }, new uint [] {0x61, 0x41, 0xffffffc6, 0xffffffe6, }, 
705                         new uint [] {0x73, 0x53, 0xffffffd9, 0xfffffff9, }, new uint [] {0x64, 0x44, 0xffffffd7, 0xfffffff7, }, 
706                         new uint [] {0x66, 0x46, 0xffffffc1, 0xffffffe1, }, new uint [] {0x67, 0x47, 0xffffffd0, 0xfffffff0, }, 
707                         new uint [] {0x68, 0x48, 0xffffffd2, 0xfffffff2, }, new uint [] {0x6a, 0x4a, 0xffffffcf, 0xffffffef, }, 
708                         new uint [] {0x6b, 0x4b, 0xffffffcc, 0xffffffec, }, new uint [] {0x6c, 0x4c, 0xffffffc4, 0xffffffe4, }, 
709                         new uint [] {0x3b, 0x3a, 0xffffffd6, 0xfffffff6, }, new uint [] {0x27, 0x22, 0xffffffdc, 0xfffffffc, }, 
710                         new uint [] {0x5c, 0x7c, 0x2f, 0x7c, }, new uint [] {0x7a, 0x5a, 0xffffffd1, 0xfffffff1, }, 
711                         new uint [] {0x78, 0x58, 0xffffffde, 0xfffffffe, }, new uint [] {0x63, 0x43, 0xffffffd3, 0xfffffff3, }, 
712                         new uint [] {0x76, 0x56, 0xffffffcd, 0xffffffed, }, new uint [] {0x62, 0x42, 0xffffffa6, 0xffffffb6, }, 
713                         new uint [] {0x6e, 0x4e, 0xffffffd4, 0xfffffff4, }, new uint [] {0x6d, 0x4d, 0xffffffd8, 0xfffffff8, }, 
714                         new uint [] {0x2c, 0x3c, 0xffffffc2, 0xffffffe2, }, new uint [] {0x2e, 0x3e, 0xffffffc0, 0xffffffe0, }, 
715                         new uint [] {0x2f, 0x3f, 0x2e, 0x2c, }, new uint [] {0x3c, 0x3e, 0x7c, 0xffffffa6, }, 
716                         new uint [] {},                 });
717                 table [27] = new KeyboardLayout (1049, "Russian keyboard layout", 0, 0, new uint [][] {
718                         new uint [] {0x60, 0x7e, }, new uint [] {0x31, 0x21, }, 
719                         new uint [] {0x32, 0x40, }, new uint [] {0x33, 0x23, }, 
720                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
721                         new uint [] {0x36, 0x5e, }, new uint [] {0x37, 0x26, }, 
722                         new uint [] {0x38, 0x2a, }, new uint [] {0x39, 0x28, }, 
723                         new uint [] {0x30, 0x29, }, new uint [] {0x2d, 0x5f, }, 
724                         new uint [] {0x3d, 0x2b, }, new uint [] {0x71, 0x51, 0xffffffca, 0xffffffea, }, 
725                         new uint [] {0x77, 0x57, 0xffffffc3, 0xffffffe3, }, new uint [] {0x65, 0x45, 0xffffffd5, 0xfffffff5, }, 
726                         new uint [] {0x72, 0x52, 0xffffffcb, 0xffffffeb, }, new uint [] {0x74, 0x54, 0xffffffc5, 0xffffffe5, }, 
727                         new uint [] {0x79, 0x59, 0xffffffce, 0xffffffee, }, new uint [] {0x75, 0x55, 0xffffffc7, 0xffffffe7, }, 
728                         new uint [] {0x69, 0x49, 0xffffffdb, 0xfffffffb, }, new uint [] {0x6f, 0x4f, 0xffffffdd, 0xfffffffd, }, 
729                         new uint [] {0x70, 0x50, 0xffffffda, 0xfffffffa, }, new uint [] {0x5b, 0x7b, 0xffffffc8, 0xffffffe8, }, 
730                         new uint [] {0x5d, 0x7d, 0xffffffdf, 0xffffffff, }, new uint [] {0x61, 0x41, 0xffffffc6, 0xffffffe6, }, 
731                         new uint [] {0x73, 0x53, 0xffffffd9, 0xfffffff9, }, new uint [] {0x64, 0x44, 0xffffffd7, 0xfffffff7, }, 
732                         new uint [] {0x66, 0x46, 0xffffffc1, 0xffffffe1, }, new uint [] {0x67, 0x47, 0xffffffd0, 0xfffffff0, }, 
733                         new uint [] {0x68, 0x48, 0xffffffd2, 0xfffffff2, }, new uint [] {0x6a, 0x4a, 0xffffffcf, 0xffffffef, }, 
734                         new uint [] {0x6b, 0x4b, 0xffffffcc, 0xffffffec, }, new uint [] {0x6c, 0x4c, 0xffffffc4, 0xffffffe4, }, 
735                         new uint [] {0x3b, 0x3a, 0xffffffd6, 0xfffffff6, }, new uint [] {0x27, 0x22, 0xffffffdc, 0xfffffffc, }, 
736                         new uint [] {0x5c, 0x7c, }, new uint [] {0x7a, 0x5a, 0xffffffd1, 0xfffffff1, }, 
737                         new uint [] {0x78, 0x58, 0xffffffde, 0xfffffffe, }, new uint [] {0x63, 0x43, 0xffffffd3, 0xfffffff3, }, 
738                         new uint [] {0x76, 0x56, 0xffffffcd, 0xffffffed, }, new uint [] {0x62, 0x42, 0xffffffc9, 0xffffffe9, }, 
739                         new uint [] {0x6e, 0x4e, 0xffffffd4, 0xfffffff4, }, new uint [] {0x6d, 0x4d, 0xffffffd8, 0xfffffff8, }, 
740                         new uint [] {0x2c, 0x3c, 0xffffffc2, 0xffffffe2, }, new uint [] {0x2e, 0x3e, 0xffffffc0, 0xffffffe0, }, 
741                         new uint [] {0x2f, 0x3f, }, new uint [] {}, 
742                         new uint [] {},                 });
743                 table [28] = new KeyboardLayout (1049, "Russian keyboard layout (phantom key version)", 0, 0, new uint [][] {
744                         new uint [] {0x60, 0x7e, }, new uint [] {0x31, 0x21, }, 
745                         new uint [] {0x32, 0x40, }, new uint [] {0x33, 0x23, }, 
746                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
747                         new uint [] {0x36, 0x5e, }, new uint [] {0x37, 0x26, }, 
748                         new uint [] {0x38, 0x2a, }, new uint [] {0x39, 0x28, }, 
749                         new uint [] {0x30, 0x29, }, new uint [] {0x2d, 0x5f, }, 
750                         new uint [] {0x3d, 0x2b, }, new uint [] {0x71, 0x51, 0xffffffca, 0xffffffea, }, 
751                         new uint [] {0x77, 0x57, 0xffffffc3, 0xffffffe3, }, new uint [] {0x65, 0x45, 0xffffffd5, 0xfffffff5, }, 
752                         new uint [] {0x72, 0x52, 0xffffffcb, 0xffffffeb, }, new uint [] {0x74, 0x54, 0xffffffc5, 0xffffffe5, }, 
753                         new uint [] {0x79, 0x59, 0xffffffce, 0xffffffee, }, new uint [] {0x75, 0x55, 0xffffffc7, 0xffffffe7, }, 
754                         new uint [] {0x69, 0x49, 0xffffffdb, 0xfffffffb, }, new uint [] {0x6f, 0x4f, 0xffffffdd, 0xfffffffd, }, 
755                         new uint [] {0x70, 0x50, 0xffffffda, 0xfffffffa, }, new uint [] {0x5b, 0x7b, 0xffffffc8, 0xffffffe8, }, 
756                         new uint [] {0x5d, 0x7d, 0xffffffdf, 0xffffffff, }, new uint [] {0x61, 0x41, 0xffffffc6, 0xffffffe6, }, 
757                         new uint [] {0x73, 0x53, 0xffffffd9, 0xfffffff9, }, new uint [] {0x64, 0x44, 0xffffffd7, 0xfffffff7, }, 
758                         new uint [] {0x66, 0x46, 0xffffffc1, 0xffffffe1, }, new uint [] {0x67, 0x47, 0xffffffd0, 0xfffffff0, }, 
759                         new uint [] {0x68, 0x48, 0xffffffd2, 0xfffffff2, }, new uint [] {0x6a, 0x4a, 0xffffffcf, 0xffffffef, }, 
760                         new uint [] {0x6b, 0x4b, 0xffffffcc, 0xffffffec, }, new uint [] {0x6c, 0x4c, 0xffffffc4, 0xffffffe4, }, 
761                         new uint [] {0x3b, 0x3a, 0xffffffd6, 0xfffffff6, }, new uint [] {0x27, 0x22, 0xffffffdc, 0xfffffffc, }, 
762                         new uint [] {0x5c, 0x7c, }, new uint [] {0x7a, 0x5a, 0xffffffd1, 0xfffffff1, }, 
763                         new uint [] {0x78, 0x58, 0xffffffde, 0xfffffffe, }, new uint [] {0x63, 0x43, 0xffffffd3, 0xfffffff3, }, 
764                         new uint [] {0x76, 0x56, 0xffffffcd, 0xffffffed, }, new uint [] {0x62, 0x42, 0xffffffc9, 0xffffffe9, }, 
765                         new uint [] {0x6e, 0x4e, 0xffffffd4, 0xfffffff4, }, new uint [] {0x6d, 0x4d, 0xffffffd8, 0xfffffff8, }, 
766                         new uint [] {0x2c, 0x3c, 0xffffffc2, 0xffffffe2, }, new uint [] {0x2e, 0x3e, 0xffffffc0, 0xffffffe0, }, 
767                         new uint [] {0x2f, 0x3f, }, new uint [] {0x3c, 0x3e, }, 
768                         new uint [] {},                 });
769                 table [29] = new KeyboardLayout (1049, "Russian keyboard layout KOI8-R", 0, 0, new uint [][] {
770                         new uint [] {0x28, 0x29, }, new uint [] {0x31, 0x21, }, 
771                         new uint [] {0x32, 0x22, }, new uint [] {0x33, 0x2f, }, 
772                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x3a, }, 
773                         new uint [] {0x36, 0x2c, }, new uint [] {0x37, 0x2e, }, 
774                         new uint [] {0x38, 0x3b, }, new uint [] {0x39, 0x3f, }, 
775                         new uint [] {0x30, 0x25, }, new uint [] {0x2d, 0x5f, }, 
776                         new uint [] {0x3d, 0x2b, }, new uint [] {0xffffffca, 0xffffffea, }, 
777                         new uint [] {0xffffffc3, 0xffffffe3, }, new uint [] {0xffffffd5, 0xfffffff5, }, 
778                         new uint [] {0xffffffcb, 0xffffffeb, }, new uint [] {0xffffffc5, 0xffffffe5, }, 
779                         new uint [] {0xffffffce, 0xffffffee, }, new uint [] {0xffffffc7, 0xffffffe7, }, 
780                         new uint [] {0xffffffdb, 0xfffffffb, }, new uint [] {0xffffffdd, 0xfffffffd, }, 
781                         new uint [] {0xffffffda, 0xfffffffa, }, new uint [] {0xffffffc8, 0xffffffe8, }, 
782                         new uint [] {0xffffffdf, 0xffffffff, }, new uint [] {0xffffffc6, 0xffffffe6, }, 
783                         new uint [] {0xffffffd9, 0xfffffff9, }, new uint [] {0xffffffd7, 0xfffffff7, }, 
784                         new uint [] {0xffffffc1, 0xffffffe1, }, new uint [] {0xffffffd0, 0xfffffff0, }, 
785                         new uint [] {0xffffffd2, 0xfffffff2, }, new uint [] {0xffffffcf, 0xffffffef, }, 
786                         new uint [] {0xffffffcc, 0xffffffec, }, new uint [] {0xffffffc4, 0xffffffe4, }, 
787                         new uint [] {0xffffffd6, 0xfffffff6, }, new uint [] {0xffffffdc, 0xfffffffc, }, 
788                         new uint [] {0x5c, 0x7c, }, new uint [] {0xffffffd1, 0xfffffff1, }, 
789                         new uint [] {0xffffffde, 0xfffffffe, }, new uint [] {0xffffffd3, 0xfffffff3, }, 
790                         new uint [] {0xffffffcd, 0xffffffed, }, new uint [] {0xffffffc9, 0xffffffe9, }, 
791                         new uint [] {0xffffffd4, 0xfffffff4, }, new uint [] {0xffffffd8, 0xfffffff8, }, 
792                         new uint [] {0xffffffc2, 0xffffffe2, }, new uint [] {0xffffffc0, 0xffffffe0, }, 
793                         new uint [] {0x2f, 0x3f, }, new uint [] {0x3c, 0x3e, }, 
794                         new uint [] {},                 });
795                 table [30] = new KeyboardLayout (1049, "Russian keyboard layout cp1251", 0, 0, new uint [][] {
796                         new uint [] {0x60, 0x7e, }, new uint [] {0x31, 0x21, }, 
797                         new uint [] {0x32, 0x40, }, new uint [] {0x33, 0x23, }, 
798                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
799                         new uint [] {0x36, 0x5e, }, new uint [] {0x37, 0x26, }, 
800                         new uint [] {0x38, 0x2a, }, new uint [] {0x39, 0x28, }, 
801                         new uint [] {0x30, 0x29, }, new uint [] {0x2d, 0x5f, }, 
802                         new uint [] {0x3d, 0x2b, }, new uint [] {0x71, 0x51, 0xffffffe9, 0xffffffc9, }, 
803                         new uint [] {0x77, 0x57, 0xfffffff6, 0xffffffd6, }, new uint [] {0x65, 0x45, 0xfffffff3, 0xffffffd3, }, 
804                         new uint [] {0x72, 0x52, 0xffffffea, 0xffffffca, }, new uint [] {0x74, 0x54, 0xffffffe5, 0xffffffc5, }, 
805                         new uint [] {0x79, 0x59, 0xffffffed, 0xffffffcd, }, new uint [] {0x75, 0x55, 0xffffffe3, 0xffffffc3, }, 
806                         new uint [] {0x69, 0x49, 0xfffffff8, 0xffffffd8, }, new uint [] {0x6f, 0x4f, 0xfffffff9, 0xffffffd9, }, 
807                         new uint [] {0x70, 0x50, 0xffffffe7, 0xffffffc7, }, new uint [] {0x5b, 0x7b, 0xfffffff5, 0xffffffd5, }, 
808                         new uint [] {0x5d, 0x7d, 0xfffffffa, 0xffffffda, }, new uint [] {0x61, 0x41, 0xfffffff4, 0xffffffd4, }, 
809                         new uint [] {0x73, 0x53, 0xfffffffb, 0xffffffdb, }, new uint [] {0x64, 0x44, 0xffffffe2, 0xffffffc2, }, 
810                         new uint [] {0x66, 0x46, 0xffffffe0, 0xffffffc0, }, new uint [] {0x67, 0x47, 0xffffffef, 0xffffffcf, }, 
811                         new uint [] {0x68, 0x48, 0xfffffff0, 0xffffffd0, }, new uint [] {0x6a, 0x4a, 0xffffffee, 0xffffffce, }, 
812                         new uint [] {0x6b, 0x4b, 0xffffffeb, 0xffffffcb, }, new uint [] {0x6c, 0x4c, 0xffffffe4, 0xffffffc4, }, 
813                         new uint [] {0x3b, 0x3a, 0xffffffe6, 0xffffffc6, }, new uint [] {0x27, 0x22, 0xfffffffd, 0xffffffdd, }, 
814                         new uint [] {0x5c, 0x7c, }, new uint [] {0x7a, 0x5a, 0xffffffff, 0xffffffdf, }, 
815                         new uint [] {0x78, 0x58, 0xfffffff7, 0xffffffd7, }, new uint [] {0x63, 0x43, 0xfffffff1, 0xffffffd1, }, 
816                         new uint [] {0x76, 0x56, 0xffffffec, 0xffffffcc, }, new uint [] {0x62, 0x42, 0xffffffe8, 0xffffffc8, }, 
817                         new uint [] {0x6e, 0x4e, 0xfffffff2, 0xffffffd2, }, new uint [] {0x6d, 0x4d, 0xfffffffc, 0xffffffdc, }, 
818                         new uint [] {0x2c, 0x3c, 0xffffffe1, 0xffffffc1, }, new uint [] {0x2e, 0x3e, 0xfffffffe, 0xffffffde, }, 
819                         new uint [] {0x2f, 0x3f, }, new uint [] {0x3c, 0x3e, }, 
820                         new uint [] {},                 });
821                 table [31] = new KeyboardLayout (1049, "Russian phonetic keyboard layout", 0, 0, new uint [][] {
822                         new uint [] {0x60, 0x7e, }, new uint [] {0x31, 0x21, }, 
823                         new uint [] {0x32, 0x40, }, new uint [] {0x33, 0x23, }, 
824                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
825                         new uint [] {0x36, 0x5e, }, new uint [] {0x37, 0x26, }, 
826                         new uint [] {0x38, 0x2a, }, new uint [] {0x39, 0x28, }, 
827                         new uint [] {0x30, 0x29, }, new uint [] {0x2d, 0x5f, }, 
828                         new uint [] {0x3d, 0x2b, }, new uint [] {0x71, 0x51, 0xffffffd1, 0xfffffff1, }, 
829                         new uint [] {0x77, 0x57, 0xffffffd7, 0xfffffff7, }, new uint [] {0x65, 0x45, 0xffffffc5, 0xffffffe5, }, 
830                         new uint [] {0x72, 0x52, 0xffffffd2, 0xfffffff2, }, new uint [] {0x74, 0x54, 0xffffffd4, 0xfffffff4, }, 
831                         new uint [] {0x79, 0x59, 0xffffffd9, 0xfffffff9, }, new uint [] {0x75, 0x55, 0xffffffd5, 0xfffffff5, }, 
832                         new uint [] {0x69, 0x49, 0xffffffc9, 0xffffffe9, }, new uint [] {0x6f, 0x4f, 0xffffffcf, 0xffffffef, }, 
833                         new uint [] {0x70, 0x50, 0xffffffd0, 0xfffffff0, }, new uint [] {0x5b, 0x7b, 0xffffffdb, 0xfffffffb, }, 
834                         new uint [] {0x5d, 0x7d, 0xffffffdd, 0xfffffffd, }, new uint [] {0x61, 0x41, 0xffffffc1, 0xffffffe1, }, 
835                         new uint [] {0x73, 0x53, 0xffffffd3, 0xfffffff3, }, new uint [] {0x64, 0x44, 0xffffffc4, 0xffffffe4, }, 
836                         new uint [] {0x66, 0x46, 0xffffffc6, 0xffffffe6, }, new uint [] {0x67, 0x47, 0xffffffc7, 0xffffffe7, }, 
837                         new uint [] {0x68, 0x48, 0xffffffc8, 0xffffffe8, }, new uint [] {0x6a, 0x4a, 0xffffffca, 0xffffffea, }, 
838                         new uint [] {0x6b, 0x4b, 0xffffffcb, 0xffffffeb, }, new uint [] {0x6c, 0x4c, 0xffffffcc, 0xffffffec, }, 
839                         new uint [] {0x3b, 0x3a, }, new uint [] {0x27, 0x22, }, 
840                         new uint [] {0x5c, 0x7c, }, new uint [] {0x7a, 0x5a, 0xffffffda, 0xfffffffa, }, 
841                         new uint [] {0x78, 0x58, 0xffffffd8, 0xfffffff8, }, new uint [] {0x63, 0x43, 0xffffffc3, 0xffffffe3, }, 
842                         new uint [] {0x76, 0x56, 0xffffffd6, 0xfffffff6, }, new uint [] {0x62, 0x42, 0xffffffc2, 0xffffffe2, }, 
843                         new uint [] {0x6e, 0x4e, 0xffffffce, 0xffffffee, }, new uint [] {0x6d, 0x4d, 0xffffffcd, 0xffffffed, }, 
844                         new uint [] {0x2c, 0x3c, }, new uint [] {0x2e, 0x3e, }, 
845                         new uint [] {0x2f, 0x3f, }, new uint [] {0x3c, 0x3e, }, 
846                         new uint [] {},                 });
847                 table [32] = new KeyboardLayout (1058, "Ukrainian keyboard layout KOI8-U", 0, 0, new uint [][] {
848                         new uint [] {0x60, 0x7e, 0xffffffad, 0xffffffbd, }, new uint [] {0x31, 0x21, 0x31, 0x21, }, 
849                         new uint [] {0x32, 0x40, 0x32, 0x22, }, new uint [] {0x33, 0x23, 0x33, 0x27, }, 
850                         new uint [] {0x34, 0x24, 0x34, 0x2a, }, new uint [] {0x35, 0x25, 0x35, 0x3a, }, 
851                         new uint [] {0x36, 0x5e, 0x36, 0x2c, }, new uint [] {0x37, 0x26, 0x37, 0x2e, }, 
852                         new uint [] {0x38, 0x2a, 0x38, 0x3b, }, new uint [] {0x39, 0x28, 0x39, 0x28, }, 
853                         new uint [] {0x30, 0x29, 0x30, 0x29, }, new uint [] {0x2d, 0x5f, 0x2d, 0x5f, }, 
854                         new uint [] {0x3d, 0x2b, 0x3d, 0x2b, }, new uint [] {0x71, 0x51, 0xffffffca, 0xffffffea, }, 
855                         new uint [] {0x77, 0x57, 0xffffffc3, 0xffffffe3, }, new uint [] {0x65, 0x45, 0xffffffd5, 0xfffffff5, }, 
856                         new uint [] {0x72, 0x52, 0xffffffcb, 0xffffffeb, }, new uint [] {0x74, 0x54, 0xffffffc5, 0xffffffe5, }, 
857                         new uint [] {0x79, 0x59, 0xffffffce, 0xffffffee, }, new uint [] {0x75, 0x55, 0xffffffc7, 0xffffffe7, }, 
858                         new uint [] {0x69, 0x49, 0xffffffdb, 0xfffffffb, }, new uint [] {0x6f, 0x4f, 0xffffffdd, 0xfffffffd, }, 
859                         new uint [] {0x70, 0x50, 0xffffffda, 0xfffffffa, }, new uint [] {0x5b, 0x7b, 0xffffffc8, 0xffffffe8, }, 
860                         new uint [] {0x5d, 0x7d, 0xffffffa7, 0xffffffb7, }, new uint [] {0x61, 0x41, 0xffffffc6, 0xffffffe6, }, 
861                         new uint [] {0x73, 0x53, 0xffffffa6, 0xffffffb6, }, new uint [] {0x64, 0x44, 0xffffffd7, 0xfffffff7, }, 
862                         new uint [] {0x66, 0x46, 0xffffffc1, 0xffffffe1, }, new uint [] {0x67, 0x47, 0xffffffd0, 0xfffffff0, }, 
863                         new uint [] {0x68, 0x48, 0xffffffd2, 0xfffffff2, }, new uint [] {0x6a, 0x4a, 0xffffffcf, 0xffffffef, }, 
864                         new uint [] {0x6b, 0x4b, 0xffffffcc, 0xffffffec, }, new uint [] {0x6c, 0x4c, 0xffffffc4, 0xffffffe4, }, 
865                         new uint [] {0x3b, 0x3a, 0xffffffd6, 0xfffffff6, }, new uint [] {0x27, 0x22, 0xffffffa4, 0xffffffb4, }, 
866                         new uint [] {0x5c, 0x7c, 0x5c, 0x7c, }, new uint [] {0x7a, 0x5a, 0xffffffd1, 0xfffffff1, }, 
867                         new uint [] {0x78, 0x58, 0xffffffde, 0xfffffffe, }, new uint [] {0x63, 0x43, 0xffffffd3, 0xfffffff3, }, 
868                         new uint [] {0x76, 0x56, 0xffffffcd, 0xffffffed, }, new uint [] {0x62, 0x42, 0xffffffc9, 0xffffffe9, }, 
869                         new uint [] {0x6e, 0x4e, 0xffffffd4, 0xfffffff4, }, new uint [] {0x6d, 0x4d, 0xffffffd8, 0xfffffff8, }, 
870                         new uint [] {0x2c, 0x3c, 0xffffffc2, 0xffffffe2, }, new uint [] {0x2e, 0x3e, 0xffffffc0, 0xffffffe0, }, 
871                         new uint [] {0x2f, 0x3f, 0x2f, 0x3f, }, new uint [] {0x3c, 0x3e, }, 
872                         new uint [] {},                 });
873                 table [33] = new KeyboardLayout (1058, "Ukrainian keyboard layout (standard)", 0, 0, new uint [][] {
874                         new uint [] {0xffffffad, 0xffffffbd, }, new uint [] {0x31, 0x21, }, 
875                         new uint [] {0x32, 0x22, }, new uint [] {0x33, 0x27, }, 
876                         new uint [] {0x34, 0x3b, }, new uint [] {0x35, 0x25, }, 
877                         new uint [] {0x36, 0x3a, }, new uint [] {0x37, 0x3f, }, 
878                         new uint [] {0x38, 0x2a, }, new uint [] {0x39, 0x28, }, 
879                         new uint [] {0x30, 0x29, }, new uint [] {0x2d, 0x5f, }, 
880                         new uint [] {0x3d, 0x2b, }, new uint [] {0xffffffca, 0xffffffea, }, 
881                         new uint [] {0xffffffc3, 0xffffffe3, }, new uint [] {0xffffffd5, 0xfffffff5, }, 
882                         new uint [] {0xffffffcb, 0xffffffeb, }, new uint [] {0xffffffc5, 0xffffffe5, }, 
883                         new uint [] {0xffffffce, 0xffffffee, }, new uint [] {0xffffffc7, 0xffffffe7, }, 
884                         new uint [] {0xffffffdb, 0xfffffffb, }, new uint [] {0xffffffdd, 0xfffffffd, }, 
885                         new uint [] {0xffffffda, 0xfffffffa, }, new uint [] {0xffffffc8, 0xffffffe8, }, 
886                         new uint [] {0xffffffa7, 0xffffffb7, }, new uint [] {0xffffffc6, 0xffffffe6, }, 
887                         new uint [] {0xffffffa6, 0xffffffb6, }, new uint [] {0xffffffd7, 0xfffffff7, }, 
888                         new uint [] {0xffffffc1, 0xffffffe1, }, new uint [] {0xffffffd0, 0xfffffff0, }, 
889                         new uint [] {0xffffffd2, 0xfffffff2, }, new uint [] {0xffffffcf, 0xffffffef, }, 
890                         new uint [] {0xffffffcc, 0xffffffec, }, new uint [] {0xffffffc4, 0xffffffe4, }, 
891                         new uint [] {0xffffffd6, 0xfffffff6, }, new uint [] {0xffffffa4, 0xffffffb4, }, 
892                         new uint [] {0x5c, 0x2f, }, new uint [] {0xffffffd1, 0xfffffff1, }, 
893                         new uint [] {0xffffffde, 0xfffffffe, }, new uint [] {0xffffffd3, 0xfffffff3, }, 
894                         new uint [] {0xffffffcd, 0xffffffed, }, new uint [] {0xffffffc9, 0xffffffe9, }, 
895                         new uint [] {0xffffffd4, 0xfffffff4, }, new uint [] {0xffffffd8, 0xfffffff8, }, 
896                         new uint [] {0xffffffc2, 0xffffffe2, }, new uint [] {0xffffffc0, 0xffffffe0, }, 
897                         new uint [] {0x2e, 0x2c, }, new uint [] {0x3c, 0x3e, }, 
898                         new uint [] {},                 });
899                 table [34] = new KeyboardLayout (1049, "Russian keyboard layout (standard)", 0, 0, new uint [][] {
900                         new uint [] {0xffffffa3, 0xffffffb3, }, new uint [] {0x31, 0x21, }, 
901                         new uint [] {0x32, 0x22, }, new uint [] {0x33, 0x27, }, 
902                         new uint [] {0x34, 0x3b, }, new uint [] {0x35, 0x25, }, 
903                         new uint [] {0x36, 0x3a, }, new uint [] {0x37, 0x3f, }, 
904                         new uint [] {0x38, 0x2a, }, new uint [] {0x39, 0x28, }, 
905                         new uint [] {0x30, 0x29, }, new uint [] {0x2d, 0x5f, }, 
906                         new uint [] {0x3d, 0x2b, }, new uint [] {0xffffffca, 0xffffffea, }, 
907                         new uint [] {0xffffffc3, 0xffffffe3, }, new uint [] {0xffffffd5, 0xfffffff5, }, 
908                         new uint [] {0xffffffcb, 0xffffffeb, }, new uint [] {0xffffffc5, 0xffffffe5, }, 
909                         new uint [] {0xffffffce, 0xffffffee, }, new uint [] {0xffffffc7, 0xffffffe7, }, 
910                         new uint [] {0xffffffdb, 0xfffffffb, }, new uint [] {0xffffffdd, 0xfffffffd, }, 
911                         new uint [] {0xffffffda, 0xfffffffa, }, new uint [] {0xffffffc8, 0xffffffe8, }, 
912                         new uint [] {0xffffffdf, 0xffffffff, }, new uint [] {0xffffffc6, 0xffffffe6, }, 
913                         new uint [] {0xffffffd9, 0xfffffff9, }, new uint [] {0xffffffd7, 0xfffffff7, }, 
914                         new uint [] {0xffffffc1, 0xffffffe1, }, new uint [] {0xffffffd0, 0xfffffff0, }, 
915                         new uint [] {0xffffffd2, 0xfffffff2, }, new uint [] {0xffffffcf, 0xffffffef, }, 
916                         new uint [] {0xffffffcc, 0xffffffec, }, new uint [] {0xffffffc4, 0xffffffe4, }, 
917                         new uint [] {0xffffffd6, 0xfffffff6, }, new uint [] {0xffffffdc, 0xfffffffc, }, 
918                         new uint [] {0x5c, 0x2f, }, new uint [] {0xffffffd1, 0xfffffff1, }, 
919                         new uint [] {0xffffffde, 0xfffffffe, }, new uint [] {0xffffffd3, 0xfffffff3, }, 
920                         new uint [] {0xffffffcd, 0xffffffed, }, new uint [] {0xffffffc9, 0xffffffe9, }, 
921                         new uint [] {0xffffffd4, 0xfffffff4, }, new uint [] {0xffffffd8, 0xfffffff8, }, 
922                         new uint [] {0xffffffc2, 0xffffffe2, }, new uint [] {0xffffffc0, 0xffffffe0, }, 
923                         new uint [] {0x2e, 0x2c, }, new uint [] {0x3c, 0x3e, }, 
924                         new uint [] {},                 });
925                 table [35] = new KeyboardLayout (1034, "Spanish keyboard layout", 0, 0, new uint [][] {
926                         new uint [] {0xffffffba, 0xffffffaa, }, new uint [] {0x31, 0x21, }, 
927                         new uint [] {0x32, 0x22, }, new uint [] {0x33, 0xffffffb7, }, 
928                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
929                         new uint [] {0x36, 0x26, }, new uint [] {0x37, 0x2f, }, 
930                         new uint [] {0x38, 0x28, }, new uint [] {0x39, 0x29, }, 
931                         new uint [] {0x30, 0x3d, }, new uint [] {0x27, 0x3f, }, 
932                         new uint [] {0xffffffa1, 0xffffffbf, }, new uint [] {0x71, 0x51, }, 
933                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
934                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
935                         new uint [] {0x79, 0x59, }, new uint [] {0x75, 0x55, }, 
936                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
937                         new uint [] {0x70, 0x50, }, new uint [] {0x60, 0x5e, }, 
938                         new uint [] {0x2b, 0x2a, }, new uint [] {0x61, 0x41, }, 
939                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
940                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
941                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
942                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
943                         new uint [] {0xfffffff1, 0xffffffd1, }, new uint [] {0xffffffb4, 0xffffffa8, }, 
944                         new uint [] {0xffffffe7, 0xffffffc7, }, new uint [] {0x7a, 0x5a, }, 
945                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
946                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
947                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
948                         new uint [] {0x2c, 0x3b, }, new uint [] {0x2e, 0x3a, }, 
949                         new uint [] {0x2d, 0x5f, }, new uint [] {0x3c, 0x3e, }, 
950                         new uint [] {},                 });
951                 table [36] = new KeyboardLayout (1040, "Italian keyboard layout", 0, 0, new uint [][] {
952                         new uint [] {0x5c, 0x7c, }, new uint [] {0x31, 0x21, }, 
953                         new uint [] {0x32, 0x22, }, new uint [] {0x33, 0xffffffa3, }, 
954                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
955                         new uint [] {0x36, 0x26, }, new uint [] {0x37, 0x2f, }, 
956                         new uint [] {0x38, 0x28, }, new uint [] {0x39, 0x29, }, 
957                         new uint [] {0x30, 0x3d, }, new uint [] {0x27, 0x3f, }, 
958                         new uint [] {0xffffffec, 0x5e, }, new uint [] {0x71, 0x51, }, 
959                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
960                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
961                         new uint [] {0x79, 0x59, }, new uint [] {0x75, 0x55, }, 
962                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
963                         new uint [] {0x70, 0x50, }, new uint [] {0xffffffe8, 0xffffffe9, }, 
964                         new uint [] {0x2b, 0x2a, }, new uint [] {0x61, 0x41, }, 
965                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
966                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
967                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
968                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
969                         new uint [] {0xfffffff2, 0xffffffe7, }, new uint [] {0xffffffe0, 0xffffffb0, }, 
970                         new uint [] {0xfffffff9, 0xffffffa7, }, new uint [] {0x7a, 0x5a, }, 
971                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
972                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
973                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
974                         new uint [] {0x2c, 0x3b, }, new uint [] {0x2e, 0x3a, }, 
975                         new uint [] {0x2d, 0x5f, }, new uint [] {0x3c, 0x3e, }, 
976                         new uint [] {},                 });
977                 table [37] = new KeyboardLayout (1039, "Icelandic keyboard layout", 0, 0, new uint [][] {
978                         new uint [] {0xffffffb0, }, new uint [] {0x31, 0x21, }, 
979                         new uint [] {0x32, 0x22, }, new uint [] {0x33, 0x23, }, 
980                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
981                         new uint [] {0x36, 0x26, }, new uint [] {0x37, 0x2f, }, 
982                         new uint [] {0x38, 0x28, }, new uint [] {0x39, 0x29, }, 
983                         new uint [] {0x30, 0x3d, }, new uint [] {0xfffffff6, 0xffffffd6, }, 
984                         new uint [] {0x2d, 0x5f, }, new uint [] {0x71, 0x51, }, 
985                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
986                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
987                         new uint [] {0x79, 0x59, }, new uint [] {0x75, 0x55, }, 
988                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
989                         new uint [] {0x70, 0x50, }, new uint [] {0xfffffff0, 0xffffffd0, }, 
990                         new uint [] {0x27, 0x3f, }, new uint [] {0x61, 0x41, }, 
991                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
992                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
993                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
994                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
995                         new uint [] {0xffffffe6, 0xffffffc6, }, new uint [] {0xffffffb4, 0xffffffc4, }, 
996                         new uint [] {0x2b, 0x2a, }, new uint [] {0x7a, 0x5a, }, 
997                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
998                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
999                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
1000                         new uint [] {0x2c, 0x3b, }, new uint [] {0x2e, 0x3a, }, 
1001                         new uint [] {0xfffffffe, 0xffffffde, }, new uint [] {0x3c, 0x3e, }, 
1002                         new uint [] {},                 });
1003                 table [38] = new KeyboardLayout (1038, "Hungarian keyboard layout", 0, 1, new uint [][] {
1004                         new uint [] {0x30, 0xffffffa7, }, new uint [] {0x31, 0x27, 0x7e, }, 
1005                         new uint [] {0x32, 0x22, 0xffffffb7, }, new uint [] {0x33, 0x2b, 0x5e, }, 
1006                         new uint [] {0x34, 0x21, 0xffffffa2, }, new uint [] {0x35, 0x25, 0x30, 0xffffffb0, }, 
1007                         new uint [] {0x36, 0x2f, 0xffffffb2, }, new uint [] {0x37, 0x3d, 0x60, }, 
1008                         new uint [] {0x38, 0x28, 0xffffffff, }, new uint [] {0x39, 0x29, 0xffffffb4, }, 
1009                         new uint [] {0xfffffff6, 0xffffffd6, 0xffffffbd, }, new uint [] {0xfffffffc, 0xffffffdc, 0xffffffa8, }, 
1010                         new uint [] {0xfffffff3, 0xffffffd3, 0xffffffb8, }, new uint [] {0x71, 0x51, 0x5c, }, 
1011                         new uint [] {0x77, 0x57, 0x7c, }, new uint [] {0x65, 0x45, }, 
1012                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
1013                         new uint [] {0x7a, 0x5a, }, new uint [] {0x75, 0x55, }, 
1014                         new uint [] {0x69, 0x49, 0xffffffcd, }, new uint [] {0x6f, 0x4f, 0xfffffff8, }, 
1015                         new uint [] {0x70, 0x50, }, new uint [] {0xfffffff5, 0xffffffd5, 0xfffffff7, }, 
1016                         new uint [] {0xfffffffa, 0xffffffda, 0xffffffd7, }, new uint [] {0x61, 0x41, }, 
1017                         new uint [] {0x73, 0x53, 0xfffffff0, }, new uint [] {0x64, 0x44, 0xffffffd0, }, 
1018                         new uint [] {0x66, 0x46, 0x5b, }, new uint [] {0x67, 0x47, 0x5d, }, 
1019                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, 0xffffffed, }, 
1020                         new uint [] {0x6b, 0x4b, 0xffffffb3, }, new uint [] {0x6c, 0x4c, 0xffffffa3, }, 
1021                         new uint [] {0xffffffe9, 0xffffffc9, 0x24, }, new uint [] {0xffffffe1, 0xffffffc1, 0xffffffdf, }, 
1022                         new uint [] {0xfffffffb, 0xffffffdb, 0xffffffa4, }, new uint [] {0x79, 0x59, 0x3e, }, 
1023                         new uint [] {0x78, 0x58, 0x23, }, new uint [] {0x63, 0x43, 0x26, }, 
1024                         new uint [] {0x76, 0x56, 0x40, }, new uint [] {0x62, 0x42, 0x7b, }, 
1025                         new uint [] {0x6e, 0x4e, 0x7d, }, new uint [] {0x6d, 0x4d, }, 
1026                         new uint [] {0x2c, 0x3f, 0x3b, }, new uint [] {0x2e, 0x3a, 0x3e, }, 
1027                         new uint [] {0x2d, 0x5f, 0x2a, }, new uint [] {0xffffffed, 0xffffffcd, 0x3c, }, 
1028                         new uint [] {},                 });
1029                 table [39] = new KeyboardLayout (1045, "Polish (programmer's) keyboard layout", 0, 0, new uint [][] {
1030                         new uint [] {0x60, 0x7e, }, new uint [] {0x31, 0x21, }, 
1031                         new uint [] {0x32, 0x40, }, new uint [] {0x33, 0x23, }, 
1032                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
1033                         new uint [] {0x36, 0x5e, }, new uint [] {0x37, 0x26, 0xffffffa7, }, 
1034                         new uint [] {0x38, 0x2a, }, new uint [] {0x39, 0x28, }, 
1035                         new uint [] {0x30, 0x29, }, new uint [] {0x2d, 0x5f, }, 
1036                         new uint [] {0x3d, 0x2b, }, new uint [] {0x71, 0x51, }, 
1037                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, 0xffffffea, 0xffffffca, }, 
1038                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
1039                         new uint [] {0x79, 0x59, }, new uint [] {0x75, 0x55, }, 
1040                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, 0xfffffff3, 0xffffffd3, }, 
1041                         new uint [] {0x70, 0x50, }, new uint [] {0x5b, 0x7b, }, 
1042                         new uint [] {0x5d, 0x7d, }, new uint [] {0x61, 0x41, 0xffffffb1, 0xffffffa1, }, 
1043                         new uint [] {0x73, 0x53, 0xffffffb6, 0xffffffa6, }, new uint [] {0x64, 0x44, }, 
1044                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
1045                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
1046                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, 0xffffffb3, 0xffffffa3, }, 
1047                         new uint [] {0x3b, 0x3a, }, new uint [] {0x27, 0x22, }, 
1048                         new uint [] {0x5c, 0x7c, }, new uint [] {0x7a, 0x5a, 0xffffffbf, 0xffffffaf, }, 
1049                         new uint [] {0x78, 0x58, 0xffffffbc, 0xffffffac, }, new uint [] {0x63, 0x43, 0xffffffe6, 0xffffffc6, }, 
1050                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
1051                         new uint [] {0x6e, 0x4e, 0xfffffff1, 0xffffffd1, }, new uint [] {0x6d, 0x4d, }, 
1052                         new uint [] {0x2c, 0x3c, }, new uint [] {0x2e, 0x3e, }, 
1053                         new uint [] {0x2f, 0x3f, }, new uint [] {0x3c, 0x3e, 0x7c, }, 
1054                         new uint [] {},                 });
1055                 table [40] = new KeyboardLayout (1060, "Slovenian keyboard layout", 0, 1, new uint [][] {
1056                         new uint [] {0xffffffb8, 0xffffffa8, }, new uint [] {0x31, 0x21, }, 
1057                         new uint [] {0x32, 0x22, }, new uint [] {0x33, 0x23, }, 
1058                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
1059                         new uint [] {0x36, 0x26, }, new uint [] {0x37, 0x2f, }, 
1060                         new uint [] {0x38, 0x28, }, new uint [] {0x39, 0x29, }, 
1061                         new uint [] {0x30, 0x3d, }, new uint [] {0x27, 0x3f, }, 
1062                         new uint [] {0x2b, 0x2a, }, new uint [] {0x71, 0x51, }, 
1063                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
1064                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
1065                         new uint [] {0x7a, 0x5a, }, new uint [] {0x75, 0x55, }, 
1066                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
1067                         new uint [] {0x70, 0x50, }, new uint [] {0xffffffb9, 0xffffffa9, }, 
1068                         new uint [] {0xfffffff0, 0xffffffd0, }, new uint [] {0x61, 0x41, }, 
1069                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
1070                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
1071                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
1072                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
1073                         new uint [] {0xffffffe8, 0xffffffc8, }, new uint [] {0xffffffe6, 0xffffffc6, }, 
1074                         new uint [] {0xffffffbe, 0xffffffae, }, new uint [] {0x79, 0x59, }, 
1075                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
1076                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
1077                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
1078                         new uint [] {0x2c, 0x3b, }, new uint [] {0x2e, 0x3a, }, 
1079                         new uint [] {0x2d, 0x5f, }, new uint [] {0x3c, 0x3e, }, 
1080                         new uint [] {},                 });
1081                 table [41] = new KeyboardLayout (3098, "Serbian keyboard layout sr", 0, 0, new uint [][] {
1082                         new uint [] {0x60, 0x7e, }, new uint [] {0x31, 0x21, }, 
1083                         new uint [] {0x32, 0x22, }, new uint [] {0x33, 0x23, }, 
1084                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
1085                         new uint [] {0x36, 0x26, }, new uint [] {0x37, 0x2f, }, 
1086                         new uint [] {0x38, 0x28, }, new uint [] {0x39, 0x29, }, 
1087                         new uint [] {0x30, 0x3d, }, new uint [] {0x27, 0x3f, }, 
1088                         new uint [] {0x2b, 0x2a, }, new uint [] {0xffffffa9, 0xffffffb9, }, 
1089                         new uint [] {0xffffffaa, 0xffffffba, }, new uint [] {0xffffffc5, 0xffffffe5, }, 
1090                         new uint [] {0xffffffd2, 0xfffffff2, }, new uint [] {0xffffffd4, 0xfffffff4, }, 
1091                         new uint [] {0xffffffda, 0xfffffffa, }, new uint [] {0xffffffd5, 0xfffffff5, }, 
1092                         new uint [] {0xffffffc9, 0xffffffe9, }, new uint [] {0xffffffcf, 0xffffffef, }, 
1093                         new uint [] {0xffffffd0, 0xfffffff0, }, new uint [] {0xffffffdb, 0xfffffffb, }, 
1094                         new uint [] {0x5b, 0x5d, }, new uint [] {0xffffffc1, 0xffffffe1, }, 
1095                         new uint [] {0xffffffd3, 0xfffffff3, }, new uint [] {0xffffffc4, 0xffffffe4, }, 
1096                         new uint [] {0xffffffc6, 0xffffffe6, }, new uint [] {0xffffffc7, 0xffffffe7, }, 
1097                         new uint [] {0xffffffc8, 0xffffffe8, }, new uint [] {0xffffffa8, 0xffffffb8, }, 
1098                         new uint [] {0xffffffcb, 0xffffffeb, }, new uint [] {0xffffffcc, 0xffffffec, }, 
1099                         new uint [] {0xffffffde, 0xfffffffe, }, new uint [] {0xffffffab, 0xffffffbb, }, 
1100                         new uint [] {0x2d, 0x5f, }, new uint [] {0xffffffa1, 0xffffffb1, }, 
1101                         new uint [] {0xffffffaf, 0xffffffbf, }, new uint [] {0xffffffc3, 0xffffffe3, }, 
1102                         new uint [] {0xffffffd7, 0xfffffff7, }, new uint [] {0xffffffc2, 0xffffffe2, }, 
1103                         new uint [] {0xffffffce, 0xffffffee, }, new uint [] {0xffffffcd, 0xffffffed, }, 
1104                         new uint [] {0x2c, 0x3b, }, new uint [] {0x2e, 0x3a, }, 
1105                         new uint [] {0xffffffd6, 0xfffffff6, }, new uint [] {0x3c, 0x3e, }, 
1106                         new uint [] {},                 });
1107                 table [42] = new KeyboardLayout (3098, "Serbian keyboard layout us,sr", 0, 0, new uint [][] {
1108                         new uint [] {0x60, 0x7e, }, new uint [] {0x31, 0x21, }, 
1109                         new uint [] {0x32, 0x40, 0x32, 0x22, }, new uint [] {0x33, 0x23, }, 
1110                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
1111                         new uint [] {0x36, 0x5e, 0x36, 0x26, }, new uint [] {0x37, 0x26, 0x37, 0x2f, }, 
1112                         new uint [] {0x38, 0x2a, 0x38, 0x28, }, new uint [] {0x39, 0x28, 0x39, 0x29, }, 
1113                         new uint [] {0x30, 0x29, 0x30, 0x3d, }, new uint [] {0x2d, 0x5f, 0x27, 0x3f, }, 
1114                         new uint [] {0x3d, 0x2b, 0x2b, 0x2a, }, new uint [] {0x71, 0x51, 0xffffffa9, 0xffffffb9, }, 
1115                         new uint [] {0x77, 0x57, 0xffffffaa, 0xffffffba, }, new uint [] {0x65, 0x45, 0xffffffc5, 0xffffffe5, }, 
1116                         new uint [] {0x72, 0x52, 0xffffffd2, 0xfffffff2, }, new uint [] {0x74, 0x54, 0xffffffd4, 0xfffffff4, }, 
1117                         new uint [] {0x79, 0x59, 0xffffffda, 0xfffffffa, }, new uint [] {0x75, 0x55, 0xffffffd5, 0xfffffff5, }, 
1118                         new uint [] {0x69, 0x49, 0xffffffc9, 0xffffffe9, }, new uint [] {0x6f, 0x4f, 0xffffffcf, 0xffffffef, }, 
1119                         new uint [] {0x70, 0x50, 0xffffffd0, 0xfffffff0, }, new uint [] {0x5b, 0x7b, 0xffffffdb, 0xfffffffb, }, 
1120                         new uint [] {0x5d, 0x7d, 0x5b, 0x5d, }, new uint [] {0x61, 0x41, 0xffffffc1, 0xffffffe1, }, 
1121                         new uint [] {0x73, 0x53, 0xffffffd3, 0xfffffff3, }, new uint [] {0x64, 0x44, 0xffffffc4, 0xffffffe4, }, 
1122                         new uint [] {0x66, 0x46, 0xffffffc6, 0xffffffe6, }, new uint [] {0x67, 0x47, 0xffffffc7, 0xffffffe7, }, 
1123                         new uint [] {0x68, 0x48, 0xffffffc8, 0xffffffe8, }, new uint [] {0x6a, 0x4a, 0xffffffa8, 0xffffffb8, }, 
1124                         new uint [] {0x6b, 0x4b, 0xffffffcb, 0xffffffeb, }, new uint [] {0x6c, 0x4c, 0xffffffcc, 0xffffffec, }, 
1125                         new uint [] {0x3b, 0x3a, 0xffffffde, 0xfffffffe, }, new uint [] {0x27, 0x22, 0xffffffab, 0xffffffbb, }, 
1126                         new uint [] {0x5c, 0x7c, 0x2d, 0x5f, }, new uint [] {0x7a, 0x5a, 0xffffffa1, 0xffffffb1, }, 
1127                         new uint [] {0x78, 0x58, 0xffffffaf, 0xffffffbf, }, new uint [] {0x63, 0x43, 0xffffffc3, 0xffffffe3, }, 
1128                         new uint [] {0x76, 0x56, 0xffffffd7, 0xfffffff7, }, new uint [] {0x62, 0x42, 0xffffffc2, 0xffffffe2, }, 
1129                         new uint [] {0x6e, 0x4e, 0xffffffce, 0xffffffee, }, new uint [] {0x6d, 0x4d, 0xffffffcd, 0xffffffed, }, 
1130                         new uint [] {0x2c, 0x3c, 0x2c, 0x3b, }, new uint [] {0x2e, 0x3e, 0x2e, 0x3a, }, 
1131                         new uint [] {0x2f, 0x3f, 0xffffffd6, 0xfffffff6, }, new uint [] {0x3c, 0x3e, }, 
1132                         new uint [] {},                 });
1133                 table [43] = new KeyboardLayout (1050, "Croatian keyboard layout", 0, 1, new uint [][] {
1134                         new uint [] {0xffffffb8, 0xffffffa8, }, new uint [] {0x31, 0x21, }, 
1135                         new uint [] {0x32, 0x22, }, new uint [] {0x33, 0x23, }, 
1136                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
1137                         new uint [] {0x36, 0x26, }, new uint [] {0x37, 0x2f, }, 
1138                         new uint [] {0x38, 0x28, }, new uint [] {0x39, 0x29, }, 
1139                         new uint [] {0x30, 0x3d, }, new uint [] {0x27, 0x3f, }, 
1140                         new uint [] {0x2b, 0x2a, }, new uint [] {0x71, 0x51, }, 
1141                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
1142                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
1143                         new uint [] {0x7a, 0x5a, }, new uint [] {0x75, 0x55, }, 
1144                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
1145                         new uint [] {0x70, 0x50, }, new uint [] {0xffffffb9, 0xffffffa9, }, 
1146                         new uint [] {0xfffffff0, 0xffffffd0, }, new uint [] {0x61, 0x41, }, 
1147                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
1148                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
1149                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
1150                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
1151                         new uint [] {0xffffffe8, 0xffffffc8, }, new uint [] {0xffffffe6, 0xffffffc6, }, 
1152                         new uint [] {0xffffffbe, 0xffffffae, }, new uint [] {0x79, 0x59, }, 
1153                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
1154                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
1155                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
1156                         new uint [] {0x2c, 0x3b, }, new uint [] {0x2e, 0x3a, }, 
1157                         new uint [] {0x2f, 0x3f, }, new uint [] {0x3c, 0x3e, }, 
1158                         new uint [] {},                 });
1159                 table [44] = new KeyboardLayout (1050, "Croatian keyboard layout (specific)", 0, 0, new uint [][] {
1160                         new uint [] {0x60, 0x7e, }, new uint [] {0x31, 0x21, }, 
1161                         new uint [] {0x32, 0x40, }, new uint [] {0x33, 0x23, }, 
1162                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
1163                         new uint [] {0x36, 0x5e, }, new uint [] {0x37, 0x26, }, 
1164                         new uint [] {0x38, 0x2a, }, new uint [] {0x39, 0x28, }, 
1165                         new uint [] {0x30, 0x29, }, new uint [] {0x2d, 0x5f, }, 
1166                         new uint [] {0x3d, 0x2b, }, new uint [] {0x71, 0x51, }, 
1167                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
1168                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
1169                         new uint [] {0x79, 0x59, }, new uint [] {0x75, 0x55, }, 
1170                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
1171                         new uint [] {0x70, 0x50, }, new uint [] {0x5b, 0x7b, 0xffffffb9, 0xffffffa9, }, 
1172                         new uint [] {0x5d, 0x7d, 0xfffffff0, 0xffffffd0, }, new uint [] {0x61, 0x41, }, 
1173                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
1174                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
1175                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
1176                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
1177                         new uint [] {0x3b, 0x3a, 0xffffffe8, 0xffffffc8, }, new uint [] {0x27, 0x22, 0xffffffe6, 0xffffffc6, }, 
1178                         new uint [] {0x5c, 0x7c, 0xffffffbe, 0xffffffae, }, new uint [] {0x7a, 0x5a, }, 
1179                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
1180                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
1181                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
1182                         new uint [] {0x2c, 0x3c, }, new uint [] {0x2e, 0x3e, }, 
1183                         new uint [] {0x2f, 0x3f, }, new uint [] {0x3c, 0x3e, 0x7c, }, 
1184                         new uint [] {},                 });
1185                 table [45] = new KeyboardLayout (1041, "Japanese 106 keyboard layout", 3, 7, new uint [][] {
1186                         new uint [] {0x31, 0x21, }, new uint [] {0x32, 0x22, }, 
1187                         new uint [] {0x33, 0x23, }, new uint [] {0x34, 0x24, }, 
1188                         new uint [] {0x35, 0x25, }, new uint [] {0x36, 0x26, }, 
1189                         new uint [] {0x37, 0x27, }, new uint [] {0x38, 0x28, }, 
1190                         new uint [] {0x39, 0x29, }, new uint [] {0x30, 0x7e, }, 
1191                         new uint [] {0x2d, 0x3d, }, new uint [] {0x5e, 0x7e, }, 
1192                         new uint [] {0x5c, 0x7c, }, new uint [] {0x71, 0x51, }, 
1193                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
1194                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
1195                         new uint [] {0x79, 0x59, }, new uint [] {0x75, 0x55, }, 
1196                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
1197                         new uint [] {0x70, 0x50, }, new uint [] {0x40, 0x60, }, 
1198                         new uint [] {0x5b, 0x7b, }, new uint [] {0x61, 0x41, }, 
1199                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
1200                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
1201                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
1202                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
1203                         new uint [] {0x3b, 0x2b, }, new uint [] {0x3a, 0x2a, }, 
1204                         new uint [] {0x5d, 0x7d, }, new uint [] {0x7a, 0x5a, }, 
1205                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
1206                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
1207                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
1208                         new uint [] {0x2c, 0x3c, }, new uint [] {0x2e, 0x3e, }, 
1209                         new uint [] {0x2f, 0x3f, }, new uint [] {0x5c, 0x5f, }, 
1210                         new uint [] {},                 });
1211                 table [46] = new KeyboardLayout (1041, "Japanese pc98x1 keyboard layout", 0, 0, new uint [][] {
1212                         new uint [] {0x31, 0x21, }, new uint [] {0x32, 0x22, }, 
1213                         new uint [] {0x33, 0x23, }, new uint [] {0x34, 0x24, }, 
1214                         new uint [] {0x35, 0x25, }, new uint [] {0x36, 0x26, }, 
1215                         new uint [] {0x37, 0x27, }, new uint [] {0x38, 0x28, }, 
1216                         new uint [] {0x39, 0x29, }, new uint [] {0x30, }, 
1217                         new uint [] {0x2d, 0x3d, }, new uint [] {0x5e, 0x60, }, 
1218                         new uint [] {0x5c, 0x7c, }, new uint [] {0x71, 0x51, }, 
1219                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
1220                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
1221                         new uint [] {0x79, 0x59, }, new uint [] {0x75, 0x55, }, 
1222                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
1223                         new uint [] {0x70, 0x50, }, new uint [] {0x40, 0x7e, }, 
1224                         new uint [] {0x5b, 0x7b, }, new uint [] {0x61, 0x41, }, 
1225                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
1226                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
1227                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
1228                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
1229                         new uint [] {0x3b, 0x2b, }, new uint [] {0x3a, 0x2a, }, 
1230                         new uint [] {0x5d, 0x7d, }, new uint [] {0x7a, 0x5a, }, 
1231                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
1232                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
1233                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
1234                         new uint [] {0x2c, 0x3c, }, new uint [] {0x2e, 0x3e, }, 
1235                         new uint [] {0x2f, 0x3f, }, new uint [] {0x5c, 0x5f, }, 
1236                         new uint [] {},                 });
1237                 table [47] = new KeyboardLayout (1051, "Slovak keyboard layout", 0, 0, new uint [][] {
1238                         new uint [] {0x3b, 0x30, }, new uint [] {0x2b, 0x31, }, 
1239                         new uint [] {0xffffffb5, 0x32, }, new uint [] {0xffffffb9, 0x33, }, 
1240                         new uint [] {0xffffffe8, 0x34, }, new uint [] {0xffffffbb, 0x35, }, 
1241                         new uint [] {0xffffffbe, 0x36, }, new uint [] {0xfffffffd, 0x37, }, 
1242                         new uint [] {0xffffffe1, 0x38, }, new uint [] {0xffffffed, 0x39, }, 
1243                         new uint [] {0xffffffe9, 0x30, }, new uint [] {0x3d, 0x25, }, 
1244                         new uint [] {0x27, 0x76, }, new uint [] {0x71, 0x51, }, 
1245                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
1246                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
1247                         new uint [] {0x79, 0x59, }, new uint [] {0x75, 0x55, }, 
1248                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
1249                         new uint [] {0x70, 0x50, }, new uint [] {0xfffffffa, 0x2f, }, 
1250                         new uint [] {0xffffffe4, 0x28, }, new uint [] {0x61, 0x41, }, 
1251                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
1252                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
1253                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
1254                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
1255                         new uint [] {0xfffffff4, 0x22, }, new uint [] {0xffffffa7, 0x21, }, 
1256                         new uint [] {0xfffffff2, 0x29, }, new uint [] {0x7a, 0x5a, }, 
1257                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
1258                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
1259                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
1260                         new uint [] {0x2c, 0x3f, }, new uint [] {0x2e, 0x3a, }, 
1261                         new uint [] {0x2d, 0x5f, }, new uint [] {0x3c, 0x3e, }, 
1262                         new uint [] {},                 });
1263                 table [48] = new KeyboardLayout (1051, "Slovak and Czech keyboard layout without dead keys", 0, 0, new uint [][] {
1264                         new uint [] {0x60, 0x7e, }, new uint [] {0x31, 0x21, }, 
1265                         new uint [] {0x32, 0x40, }, new uint [] {0x33, 0x23, }, 
1266                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
1267                         new uint [] {0x36, 0x5e, }, new uint [] {0x37, 0x26, }, 
1268                         new uint [] {0x38, 0x2a, }, new uint [] {0x39, 0x28, }, 
1269                         new uint [] {0x30, 0x29, }, new uint [] {0x2d, 0x5f, }, 
1270                         new uint [] {0x3d, 0x2b, }, new uint [] {0x71, 0x51, 0xffffffe4, 0xffffffc4, }, 
1271                         new uint [] {0x77, 0x57, 0xffffffec, 0xffffffcc, }, new uint [] {0x65, 0x45, 0xffffffe9, 0xffffffc9, }, 
1272                         new uint [] {0x72, 0x52, 0xfffffff8, 0xffffffd8, }, new uint [] {0x74, 0x54, 0xffffffbb, 0xffffffab, }, 
1273                         new uint [] {0x79, 0x59, 0xfffffffd, 0xffffffdd, }, new uint [] {0x75, 0x55, 0xfffffff9, 0xffffffd9, }, 
1274                         new uint [] {0x69, 0x49, 0xffffffed, 0xffffffcd, }, new uint [] {0x6f, 0x4f, 0xfffffff3, 0xffffffd3, }, 
1275                         new uint [] {0x70, 0x50, 0xfffffff6, 0xffffffd6, }, new uint [] {0x5b, 0x7b, }, 
1276                         new uint [] {0x5d, 0x7d, }, new uint [] {0x61, 0x41, 0xffffffe1, 0xffffffc1, }, 
1277                         new uint [] {0x73, 0x53, 0xffffffb9, 0xffffffa9, }, new uint [] {0x64, 0x44, 0xffffffef, 0xffffffcf, }, 
1278                         new uint [] {0x66, 0x46, 0xffffffeb, 0xffffffcb, }, new uint [] {0x67, 0x47, 0xffffffe0, 0xffffffc0, }, 
1279                         new uint [] {0x68, 0x48, 0xfffffffa, 0xffffffda, }, new uint [] {0x6a, 0x4a, 0xfffffffc, 0xffffffdc, }, 
1280                         new uint [] {0x6b, 0x4b, 0xfffffff4, 0xffffffd4, }, new uint [] {0x6c, 0x4c, 0xffffffb5, 0xffffffa5, }, 
1281                         new uint [] {0x3b, 0x3a, }, new uint [] {0x27, 0x22, }, 
1282                         new uint [] {0x5c, 0x7c, }, new uint [] {0x7a, 0x5a, 0xffffffbe, 0xffffffae, }, 
1283                         new uint [] {0x78, 0x58, 0xffffffa4, }, new uint [] {0x63, 0x43, 0xffffffe8, 0xffffffc8, }, 
1284                         new uint [] {0x76, 0x56, 0xffffffe7, 0xffffffc7, }, new uint [] {0x62, 0x42, }, 
1285                         new uint [] {0x6e, 0x4e, 0xfffffff2, 0xffffffd2, }, new uint [] {0x6d, 0x4d, 0xffffffe5, 0xffffffc5, }, 
1286                         new uint [] {0x2c, 0x3c, }, new uint [] {0x2e, 0x3e, }, 
1287                         new uint [] {0x2f, 0x3f, }, new uint [] {0x3c, 0x3e, }, 
1288                         new uint [] {},                 });
1289                 table [49] = new KeyboardLayout (1029, "Czech keyboard layout", 0, 0, new uint [][] {
1290                         new uint [] {0x3b, }, new uint [] {0x2b, 0x31, }, 
1291                         new uint [] {0xffffffec, 0x32, }, new uint [] {0xffffffb9, 0x33, }, 
1292                         new uint [] {0xffffffe8, 0x34, }, new uint [] {0xfffffff8, 0x35, }, 
1293                         new uint [] {0xffffffbe, 0x36, }, new uint [] {0xfffffffd, 0x37, }, 
1294                         new uint [] {0xffffffe1, 0x38, }, new uint [] {0xffffffed, 0x39, }, 
1295                         new uint [] {0xffffffe9, 0x30, 0xffffffbd, 0x29, }, new uint [] {0x3d, 0x25, }, 
1296                         new uint [] {}, new uint [] {0x71, 0x51, 0x5c, }, 
1297                         new uint [] {0x77, 0x57, 0x7c, }, new uint [] {0x65, 0x45, }, 
1298                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
1299                         new uint [] {0x79, 0x59, }, new uint [] {0x75, 0x55, }, 
1300                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
1301                         new uint [] {0x70, 0x50, }, new uint [] {0xfffffffa, 0x2f, 0x5b, 0x7b, }, 
1302                         new uint [] {0x29, 0x28, 0x5d, 0x7d, }, new uint [] {0x61, 0x41, }, 
1303                         new uint [] {0x73, 0x53, 0xfffffff0, }, new uint [] {0x64, 0x44, 0xffffffd0, }, 
1304                         new uint [] {0x66, 0x46, 0x5b, }, new uint [] {0x67, 0x47, 0x5d, }, 
1305                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
1306                         new uint [] {0x6b, 0x4b, 0xffffffb3, }, new uint [] {0x6c, 0x4c, 0xffffffa3, }, 
1307                         new uint [] {0xfffffff9, 0x22, 0x24, }, new uint [] {0xffffffa7, 0x21, 0xffffffdf, }, 
1308                         new uint [] {0xffffffa8, 0x27, }, new uint [] {0x7a, 0x5a, 0x3e, }, 
1309                         new uint [] {0x78, 0x58, 0x23, }, new uint [] {0x63, 0x43, 0x26, }, 
1310                         new uint [] {0x76, 0x56, 0x40, }, new uint [] {0x62, 0x42, 0x7b, }, 
1311                         new uint [] {0x6e, 0x4e, 0x7d, }, new uint [] {0x6d, 0x4d, }, 
1312                         new uint [] {0x2c, 0x3f, 0x3c, }, new uint [] {0x2e, 0x3a, 0x3e, }, 
1313                         new uint [] {0x2d, 0x5f, 0x2a, }, new uint [] {0x3c, 0x3e, 0x5c, 0x7c, }, 
1314                         new uint [] {},                 });
1315                 table [50] = new KeyboardLayout (1029, "Czech keyboard layout cz", 0, 1, new uint [][] {
1316                         new uint [] {0x3b, }, new uint [] {0x2b, 0x31, }, 
1317                         new uint [] {0xffffffec, 0x32, }, new uint [] {0xffffffb9, 0x33, }, 
1318                         new uint [] {0xffffffe8, 0x34, }, new uint [] {0xfffffff8, 0x35, }, 
1319                         new uint [] {0xffffffbe, 0x36, }, new uint [] {0xfffffffd, 0x37, }, 
1320                         new uint [] {0xffffffe1, 0x38, }, new uint [] {0xffffffed, 0x39, }, 
1321                         new uint [] {0xffffffe9, 0x30, }, new uint [] {0x3d, 0x25, }, 
1322                         new uint [] {0xffffffb4, 0xffffffb7, }, new uint [] {0x71, 0x51, }, 
1323                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
1324                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
1325                         new uint [] {0x7a, 0x5a, }, new uint [] {0x75, 0x55, }, 
1326                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
1327                         new uint [] {0x70, 0x50, }, new uint [] {0xfffffffa, 0x2f, }, 
1328                         new uint [] {0x29, 0x28, }, new uint [] {0x61, 0x41, }, 
1329                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
1330                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
1331                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
1332                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
1333                         new uint [] {0xfffffff9, 0x22, }, new uint [] {0xffffffa7, 0x21, }, 
1334                         new uint [] {0xffffffa8, 0x27, }, new uint [] {0x79, 0x59, }, 
1335                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
1336                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
1337                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
1338                         new uint [] {0x2c, 0x3f, }, new uint [] {0x2e, 0x3a, }, 
1339                         new uint [] {0x2d, 0x5f, }, new uint [] {0x5c, }, 
1340                         new uint [] {},                 });
1341                 table [51] = new KeyboardLayout (1029, "Czech keyboard layout cz_qwerty", 0, 0, new uint [][] {
1342                         new uint [] {0x3b, }, new uint [] {0x2b, 0x31, }, 
1343                         new uint [] {0xffffffec, 0x32, }, new uint [] {0xffffffb9, 0x33, }, 
1344                         new uint [] {0xffffffe8, 0x34, }, new uint [] {0xfffffff8, 0x35, }, 
1345                         new uint [] {0xffffffbe, 0x36, }, new uint [] {0xfffffffd, 0x37, }, 
1346                         new uint [] {0xffffffe1, 0x38, }, new uint [] {0xffffffed, 0x39, }, 
1347                         new uint [] {0xffffffe9, 0x30, }, new uint [] {0x3d, 0x25, }, 
1348                         new uint [] {0xffffffb4, 0xffffffb7, }, new uint [] {0x71, 0x51, }, 
1349                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
1350                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
1351                         new uint [] {0x79, 0x59, }, new uint [] {0x75, 0x55, }, 
1352                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
1353                         new uint [] {0x70, 0x50, }, new uint [] {0xfffffffa, 0x2f, }, 
1354                         new uint [] {0x29, 0x28, }, new uint [] {0x61, 0x41, }, 
1355                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
1356                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
1357                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
1358                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
1359                         new uint [] {0xfffffff9, 0x22, }, new uint [] {0xffffffa7, 0x21, }, 
1360                         new uint [] {0xffffffa8, 0x27, }, new uint [] {0x7a, 0x5a, }, 
1361                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
1362                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
1363                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
1364                         new uint [] {0x2c, 0x3f, }, new uint [] {0x2e, 0x3a, }, 
1365                         new uint [] {0x2d, 0x5f, }, new uint [] {0x5c, }, 
1366                         new uint [] {},                 });
1367                 table [52] = new KeyboardLayout (1034, "Latin American keyboard layout", 0, 0, new uint [][] {
1368                         new uint [] {0x7c, 0xffffffb0, }, new uint [] {0x31, 0x21, }, 
1369                         new uint [] {0x32, 0x22, }, new uint [] {0x33, 0x23, }, 
1370                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
1371                         new uint [] {0x36, 0x26, }, new uint [] {0x37, 0x2f, }, 
1372                         new uint [] {0x38, 0x28, }, new uint [] {0x39, 0x29, }, 
1373                         new uint [] {0x30, 0x3d, }, new uint [] {0x27, 0x3f, }, 
1374                         new uint [] {0xffffffbf, 0xffffffa1, }, new uint [] {0x71, 0x51, 0x40, }, 
1375                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
1376                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
1377                         new uint [] {0x79, 0x59, }, new uint [] {0x75, 0x55, }, 
1378                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
1379                         new uint [] {0x70, 0x50, }, new uint [] {0xffffffb4, 0xffffffa8, }, 
1380                         new uint [] {0x2b, 0x2a, }, new uint [] {0x61, 0x41, }, 
1381                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
1382                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
1383                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
1384                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
1385                         new uint [] {0xfffffff1, 0xffffffd1, }, new uint [] {0x7b, 0x5b, 0x5e, }, 
1386                         new uint [] {0x7d, 0x5d, }, new uint [] {0x7a, 0x5a, }, 
1387                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
1388                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
1389                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
1390                         new uint [] {0x2c, 0x3b, }, new uint [] {0x2e, 0x3a, }, 
1391                         new uint [] {0x2d, 0x5f, }, new uint [] {0x3c, 0x3e, }, 
1392                         new uint [] {},                 });
1393                 table [53] = new KeyboardLayout (1063, "Lithuanian (Baltic) keyboard layout", 0, 0, new uint [][] {
1394                         new uint [] {0x60, 0x7e, }, new uint [] {0xffffffe0, 0xffffffc0, }, 
1395                         new uint [] {0xffffffe8, 0xffffffc8, }, new uint [] {0xffffffe6, 0xffffffc6, }, 
1396                         new uint [] {0xffffffeb, 0xffffffcb, }, new uint [] {0xffffffe1, 0xffffffc1, }, 
1397                         new uint [] {0xfffffff0, 0xffffffd0, }, new uint [] {0xfffffff8, 0xffffffd8, }, 
1398                         new uint [] {0xfffffffb, 0xffffffdb, }, new uint [] {0xffffffa5, 0x28, }, 
1399                         new uint [] {0xffffffb4, 0x29, }, new uint [] {0x2d, 0x5f, }, 
1400                         new uint [] {0xfffffffe, 0xffffffde, }, new uint [] {0x5c, 0x7c, }, 
1401                         new uint [] {0x71, 0x51, }, new uint [] {0x77, 0x57, }, 
1402                         new uint [] {0x65, 0x45, }, new uint [] {0x72, 0x52, }, 
1403                         new uint [] {0x74, 0x54, }, new uint [] {0x79, 0x59, }, 
1404                         new uint [] {0x75, 0x55, }, new uint [] {0x69, 0x49, }, 
1405                         new uint [] {0x6f, 0x4f, }, new uint [] {0x70, 0x50, }, 
1406                         new uint [] {0x5b, 0x7b, }, new uint [] {0x5d, 0x7d, }, 
1407                         new uint [] {0x61, 0x41, }, new uint [] {0x73, 0x53, }, 
1408                         new uint [] {0x64, 0x44, }, new uint [] {0x66, 0x46, }, 
1409                         new uint [] {0x67, 0x47, }, new uint [] {0x68, 0x48, }, 
1410                         new uint [] {0x6a, 0x4a, }, new uint [] {0x6b, 0x4b, }, 
1411                         new uint [] {0x6c, 0x4c, }, new uint [] {0x3b, 0x3a, }, 
1412                         new uint [] {0x27, 0x22, }, new uint [] {0x7a, 0x5a, }, 
1413                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
1414                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
1415                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
1416                         new uint [] {0x2c, 0x3c, }, new uint [] {0x2e, 0x3e, }, 
1417                         new uint [] {0x2f, 0x3f, }, new uint [] {}, 
1418                         new uint [] {},                 });
1419                 table [54] = new KeyboardLayout (1055, "Turkish keyboard layout", 0, 0, new uint [][] {
1420                         new uint [] {0x22, 0xffffffe9, }, new uint [] {0x31, 0x21, }, 
1421                         new uint [] {0x32, 0x27, }, new uint [] {0x33, 0x5e, 0x23, }, 
1422                         new uint [] {0x34, 0x2b, 0x24, }, new uint [] {0x35, 0x25, }, 
1423                         new uint [] {0x36, 0x26, }, new uint [] {0x37, 0x2f, 0x7b, }, 
1424                         new uint [] {0x38, 0x28, 0x5b, }, new uint [] {0x39, 0x29, 0x5d, }, 
1425                         new uint [] {0x30, 0x3d, 0x7d, }, new uint [] {0x2a, 0x3f, 0x5c, }, 
1426                         new uint [] {0x2d, 0x5f, }, new uint [] {0x71, 0x51, 0x40, }, 
1427                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
1428                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
1429                         new uint [] {0x79, 0x59, }, new uint [] {0x75, 0x55, }, 
1430                         new uint [] {0xfffffffd, 0x49, 0xffffffee, }, new uint [] {0x6f, 0x4f, }, 
1431                         new uint [] {0x70, 0x50, }, new uint [] {0xfffffff0, 0xffffffd0, }, 
1432                         new uint [] {0xfffffffc, 0xffffffdc, 0x7e, }, new uint [] {0x61, 0x41, 0xffffffe6, }, 
1433                         new uint [] {0x73, 0x53, 0xffffffdf, }, new uint [] {0x64, 0x44, }, 
1434                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
1435                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
1436                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
1437                         new uint [] {0xfffffffe, 0xffffffde, }, new uint [] {0x69, 0xffffffdd, }, 
1438                         new uint [] {0x2c, 0x3b, 0x60, }, new uint [] {0x7a, 0x5a, }, 
1439                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
1440                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
1441                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
1442                         new uint [] {0xfffffff6, 0xffffffd6, }, new uint [] {0xffffffe7, 0xffffffc7, }, 
1443                         new uint [] {0x2e, 0x3a, }, new uint [] {}, 
1444                         new uint [] {},                 });
1445                 table [55] = new KeyboardLayout (1055, "Turkish keyboard layout tr", 0, 0, new uint [][] {
1446                         new uint [] {0x22, 0x5c, }, new uint [] {0x31, 0x21, }, 
1447                         new uint [] {0x32, 0x27, }, new uint [] {0x33, 0x5e, }, 
1448                         new uint [] {0x34, 0x2b, }, new uint [] {0x35, 0x25, }, 
1449                         new uint [] {0x36, 0x26, }, new uint [] {0x37, 0x2f, }, 
1450                         new uint [] {0x38, 0x28, }, new uint [] {0x39, 0x29, }, 
1451                         new uint [] {0x30, 0x3d, }, new uint [] {0x2a, 0x3f, }, 
1452                         new uint [] {0x2d, 0x5f, }, new uint [] {0x71, 0x51, }, 
1453                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
1454                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
1455                         new uint [] {0x79, 0x59, }, new uint [] {0x75, 0x55, }, 
1456                         new uint [] {0xffffffb9, 0x49, }, new uint [] {0x6f, 0x4f, }, 
1457                         new uint [] {0x70, 0x50, }, new uint [] {0xffffffbb, 0xffffffab, }, 
1458                         new uint [] {0xfffffffc, 0xffffffdc, }, new uint [] {0x61, 0x41, }, 
1459                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
1460                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
1461                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
1462                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
1463                         new uint [] {0xffffffba, 0xffffffaa, }, new uint [] {0x69, }, 
1464                         new uint [] {0x2c, 0x3b, }, new uint [] {0x7a, 0x5a, }, 
1465                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
1466                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
1467                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
1468                         new uint [] {0xfffffff6, 0xffffffd6, }, new uint [] {0xffffffe7, 0xffffffc7, }, 
1469                         new uint [] {0x2e, 0x3a, }, new uint [] {0x3c, 0x3e, }, 
1470                         new uint [] {},                 });
1471                 table [56] = new KeyboardLayout (1055, "Turkish keyboard layout trf", 0, 0, new uint [][] {
1472                         new uint [] {0x2b, 0x2a, }, new uint [] {0x31, 0x21, }, 
1473                         new uint [] {0x32, 0x22, }, new uint [] {0x33, 0x5e, 0x23, }, 
1474                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
1475                         new uint [] {0x36, 0x26, }, new uint [] {0x37, 0x27, }, 
1476                         new uint [] {0x38, 0x28, }, new uint [] {0x39, 0x29, }, 
1477                         new uint [] {0x30, 0x3d, }, new uint [] {0x2f, 0x3f, }, 
1478                         new uint [] {0x2d, 0x5f, }, new uint [] {0x66, 0x46, }, 
1479                         new uint [] {0x67, 0x47, }, new uint [] {0xffffffbb, 0xffffffab, }, 
1480                         new uint [] {0xffffffb9, 0x49, }, new uint [] {0x6f, 0x4f, }, 
1481                         new uint [] {0x64, 0x44, }, new uint [] {0x72, 0x52, }, 
1482                         new uint [] {0x6e, 0x4e, }, new uint [] {0x68, 0x48, }, 
1483                         new uint [] {0x70, 0x50, }, new uint [] {0x71, 0x51, }, 
1484                         new uint [] {0x77, 0x57, }, new uint [] {0x75, 0x55, }, 
1485                         new uint [] {0x69, }, new uint [] {0x65, 0x45, }, 
1486                         new uint [] {0x61, 0x41, }, new uint [] {0xfffffffc, 0xffffffdc, }, 
1487                         new uint [] {0x74, 0x54, }, new uint [] {0x6b, 0x4b, }, 
1488                         new uint [] {0x6d, 0x4d, }, new uint [] {0x6c, 0x4c, }, 
1489                         new uint [] {0x79, 0x59, }, new uint [] {0xffffffba, 0xffffffaa, }, 
1490                         new uint [] {0x78, 0x58, }, new uint [] {0x6a, 0x4a, }, 
1491                         new uint [] {0xfffffff6, 0xffffffd6, }, new uint [] {0x76, 0x56, }, 
1492                         new uint [] {0x63, 0x43, }, new uint [] {0xffffffe7, 0xffffffc7, }, 
1493                         new uint [] {0x7a, 0x5a, }, new uint [] {0x73, 0x53, }, 
1494                         new uint [] {0x62, 0x42, }, new uint [] {0x2e, 0x3a, }, 
1495                         new uint [] {0x2c, 0x3b, }, new uint [] {0x3c, 0x3e, }, 
1496                         new uint [] {},                 });
1497                 table [57] = new KeyboardLayout (1037, "Israelian keyboard layout", 0, 0, new uint [][] {
1498                         new uint [] {0x60, 0x7e, 0x3b, }, new uint [] {0x31, 0x21, }, 
1499                         new uint [] {0x32, 0x40, }, new uint [] {0x33, 0x23, }, 
1500                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
1501                         new uint [] {0x36, 0x5e, }, new uint [] {0x37, 0x26, }, 
1502                         new uint [] {0x38, 0x2a, }, new uint [] {0x39, 0x28, }, 
1503                         new uint [] {0x30, 0x29, }, new uint [] {0x2d, 0x5f, }, 
1504                         new uint [] {0x3d, 0x2b, }, new uint [] {0x71, 0x51, 0x2f, }, 
1505                         new uint [] {0x77, 0x57, 0x27, }, new uint [] {0x65, 0x45, 0xfffffff7, }, 
1506                         new uint [] {0x72, 0x52, 0xfffffff8, }, new uint [] {0x74, 0x54, 0xffffffe0, }, 
1507                         new uint [] {0x79, 0x59, 0xffffffe8, }, new uint [] {0x75, 0x55, 0xffffffe5, }, 
1508                         new uint [] {0x69, 0x49, 0xffffffef, }, new uint [] {0x6f, 0x4f, 0xffffffed, }, 
1509                         new uint [] {0x70, 0x50, 0xfffffff4, }, new uint [] {0x5b, 0x7b, }, 
1510                         new uint [] {0x5d, 0x7d, }, new uint [] {0x61, 0x41, 0xfffffff9, }, 
1511                         new uint [] {0x73, 0x53, 0xffffffe3, }, new uint [] {0x64, 0x44, 0xffffffe2, }, 
1512                         new uint [] {0x66, 0x46, 0xffffffeb, }, new uint [] {0x67, 0x47, 0xfffffff2, }, 
1513                         new uint [] {0x68, 0x48, 0xffffffe9, }, new uint [] {0x6a, 0x4a, 0xffffffe7, }, 
1514                         new uint [] {0x6b, 0x4b, 0xffffffec, }, new uint [] {0x6c, 0x4c, 0xffffffea, }, 
1515                         new uint [] {0x3b, 0x3a, 0xfffffff3, }, new uint [] {0x27, 0x22, 0x2c, }, 
1516                         new uint [] {0x5c, 0x7c, }, new uint [] {0x7a, 0x5a, 0xffffffe6, }, 
1517                         new uint [] {0x78, 0x58, 0xfffffff1, }, new uint [] {0x63, 0x43, 0xffffffe1, }, 
1518                         new uint [] {0x76, 0x56, 0xffffffe4, }, new uint [] {0x62, 0x42, 0xfffffff0, }, 
1519                         new uint [] {0x6e, 0x4e, 0xffffffee, }, new uint [] {0x6d, 0x4d, 0xfffffff6, }, 
1520                         new uint [] {0x2c, 0x3c, 0xfffffffa, }, new uint [] {0x2e, 0x3e, 0xfffffff5, }, 
1521                         new uint [] {0x2f, 0x3f, 0x2e, }, new uint [] {0x3c, 0x3e, }, 
1522                         new uint [] {},                 });
1523                 table [58] = new KeyboardLayout (1037, "Israelian phonetic keyboard layout", 0, 0, new uint [][] {
1524                         new uint [] {0x60, 0x7e, }, new uint [] {0x31, 0x21, }, 
1525                         new uint [] {0x32, 0x40, }, new uint [] {0x33, 0x23, }, 
1526                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
1527                         new uint [] {0x36, 0x5e, }, new uint [] {0x37, 0x26, }, 
1528                         new uint [] {0x38, 0x2a, }, new uint [] {0x39, 0x28, }, 
1529                         new uint [] {0x30, 0x29, }, new uint [] {0x2d, 0x5f, }, 
1530                         new uint [] {0x3d, 0x2b, }, new uint [] {0x71, 0x51, 0xfffffff7, }, 
1531                         new uint [] {0x77, 0x57, 0xffffffe5, }, new uint [] {0x65, 0x45, 0xffffffe0, }, 
1532                         new uint [] {0x72, 0x52, 0xfffffff8, }, new uint [] {0x74, 0x54, 0xfffffffa, }, 
1533                         new uint [] {0x79, 0x59, 0xfffffff2, }, new uint [] {0x75, 0x55, 0xffffffe5, }, 
1534                         new uint [] {0x69, 0x49, 0xffffffe9, }, new uint [] {0x6f, 0x4f, 0xfffffff1, }, 
1535                         new uint [] {0x70, 0x50, 0xfffffff4, }, new uint [] {0x5b, 0x7b, }, 
1536                         new uint [] {0x5d, 0x7d, }, new uint [] {0x61, 0x41, 0xffffffe0, }, 
1537                         new uint [] {0x73, 0x53, 0xfffffff9, }, new uint [] {0x64, 0x44, 0xffffffe3, }, 
1538                         new uint [] {0x66, 0x46, 0xfffffff4, }, new uint [] {0x67, 0x47, 0xffffffe2, }, 
1539                         new uint [] {0x68, 0x48, 0xffffffe4, }, new uint [] {0x6a, 0x4a, 0xffffffe9, }, 
1540                         new uint [] {0x6b, 0x4b, 0xffffffeb, }, new uint [] {0x6c, 0x4c, 0xffffffec, }, 
1541                         new uint [] {0x3b, 0x3a, }, new uint [] {0x27, 0x22, }, 
1542                         new uint [] {0x5c, 0x7c, }, new uint [] {0x7a, 0x5a, 0xffffffe6, }, 
1543                         new uint [] {0x78, 0x58, 0xffffffe7, }, new uint [] {0x63, 0x43, 0xfffffff6, }, 
1544                         new uint [] {0x76, 0x56, 0xffffffe5, }, new uint [] {0x62, 0x42, 0xffffffe1, }, 
1545                         new uint [] {0x6e, 0x4e, 0xfffffff0, }, new uint [] {0x6d, 0x4d, 0xffffffee, }, 
1546                         new uint [] {0x2c, 0x3c, }, new uint [] {0x2e, 0x3e, }, 
1547                         new uint [] {0x2f, 0x3f, }, new uint [] {0x3c, 0x3e, }, 
1548                         new uint [] {},                 });
1549                 table [59] = new KeyboardLayout (1037, "Israelian Saharon keyboard layout", 0, 0, new uint [][] {
1550                         new uint [] {0x60, 0x7e, }, new uint [] {0x31, 0x21, }, 
1551                         new uint [] {0x32, 0x40, }, new uint [] {0x33, 0x23, }, 
1552                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
1553                         new uint [] {0x36, 0x5e, }, new uint [] {0x37, 0x26, }, 
1554                         new uint [] {0x38, 0x2a, }, new uint [] {0x39, 0x28, }, 
1555                         new uint [] {0x30, 0x29, }, new uint [] {0x2d, 0x5f, }, 
1556                         new uint [] {0x3d, 0x2b, }, new uint [] {0x71, 0x51, 0xfffffff7, }, 
1557                         new uint [] {0x77, 0x57, 0xfffffff1, }, new uint [] {0x65, 0x45, }, 
1558                         new uint [] {0x72, 0x52, 0xfffffff8, }, new uint [] {0x74, 0x54, 0xffffffe8, }, 
1559                         new uint [] {0x79, 0x59, 0xffffffe3, }, new uint [] {0x75, 0x55, }, 
1560                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
1561                         new uint [] {0x70, 0x50, 0xfffffff4, }, new uint [] {0x5b, 0x7b, }, 
1562                         new uint [] {0x5d, 0x7d, }, new uint [] {0x61, 0x41, 0xffffffe0, }, 
1563                         new uint [] {0x73, 0x53, 0xffffffe5, }, new uint [] {0x64, 0x44, 0xffffffec, }, 
1564                         new uint [] {0x66, 0x46, 0xfffffffa, }, new uint [] {0x67, 0x47, 0xffffffe2, }, 
1565                         new uint [] {0x68, 0x48, 0xffffffe4, }, new uint [] {0x6a, 0x4a, 0xfffffff9, }, 
1566                         new uint [] {0x6b, 0x4b, 0xffffffeb, }, new uint [] {0x6c, 0x4c, 0xffffffe9, }, 
1567                         new uint [] {0x3b, 0x3a, }, new uint [] {0x27, 0x22, }, 
1568                         new uint [] {0x5c, 0x7c, }, new uint [] {0x7a, 0x5a, 0xffffffe6, }, 
1569                         new uint [] {0x78, 0x58, 0xffffffe7, }, new uint [] {0x63, 0x43, 0xfffffff6, }, 
1570                         new uint [] {0x76, 0x56, 0xfffffff2, }, new uint [] {0x62, 0x42, 0xffffffe1, }, 
1571                         new uint [] {0x6e, 0x4e, 0xfffffff0, }, new uint [] {0x6d, 0x4d, 0xffffffee, }, 
1572                         new uint [] {0x2c, 0x3c, }, new uint [] {0x2e, 0x3e, }, 
1573                         new uint [] {0x2f, 0x3f, }, new uint [] {0x3c, 0x3e, }, 
1574                         new uint [] {},                 });
1575                 table [60] = new KeyboardLayout (1033, "VNC keyboard layout", 4, 8, new uint [][] {
1576                         new uint [] {0x31, 0x21, }, new uint [] {0x32, 0x40, }, 
1577                         new uint [] {0x33, 0x23, }, new uint [] {0x34, 0x24, }, 
1578                         new uint [] {0x35, 0x25, }, new uint [] {0x36, 0x5e, }, 
1579                         new uint [] {0x37, 0x26, }, new uint [] {0x38, 0x2a, }, 
1580                         new uint [] {0x39, 0x28, }, new uint [] {0x30, 0x29, }, 
1581                         new uint [] {0x2d, 0x5f, }, new uint [] {0x3d, 0x2b, }, 
1582                         new uint [] {0x5b, 0x7b, }, new uint [] {0x5d, 0x7d, }, 
1583                         new uint [] {0x3b, 0x3a, }, new uint [] {0x27, 0x22, }, 
1584                         new uint [] {0x60, 0x7e, }, new uint [] {0x2c, 0x3c, }, 
1585                         new uint [] {0x2e, 0x3e, }, new uint [] {0x2f, 0x3f, }, 
1586                         new uint [] {0x5c, 0x7c, }, new uint [] {0x61, 0x41, }, 
1587                         new uint [] {0x62, 0x42, }, new uint [] {0x63, 0x43, }, 
1588                         new uint [] {0x64, 0x44, }, new uint [] {0x65, 0x45, }, 
1589                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
1590                         new uint [] {0x68, 0x48, }, new uint [] {0x69, 0x49, }, 
1591                         new uint [] {0x6a, 0x4a, }, new uint [] {0x6b, 0x4b, }, 
1592                         new uint [] {0x6c, 0x4c, }, new uint [] {0x6d, 0x4d, }, 
1593                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6f, 0x4f, }, 
1594                         new uint [] {0x70, 0x50, }, new uint [] {0x71, 0x51, }, 
1595                         new uint [] {0x72, 0x52, }, new uint [] {0x73, 0x53, }, 
1596                         new uint [] {0x74, 0x54, }, new uint [] {0x75, 0x55, }, 
1597                         new uint [] {0x76, 0x56, }, new uint [] {0x77, 0x57, }, 
1598                         new uint [] {0x78, 0x58, }, new uint [] {0x79, 0x59, }, 
1599                         new uint [] {0x7a, 0x5a, }, new uint [] {}, 
1600                         new uint [] {},                 });
1601                 table [61] = new KeyboardLayout (1032, "Greek keyboard layout", 0, 0, new uint [][] {
1602                         new uint [] {0x60, 0x7e, }, new uint [] {0x31, 0x21, }, 
1603                         new uint [] {0x32, 0x40, }, new uint [] {0x33, 0x23, }, 
1604                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
1605                         new uint [] {0x36, 0x5e, }, new uint [] {0x37, 0x26, }, 
1606                         new uint [] {0x38, 0x2a, }, new uint [] {0x39, 0x28, }, 
1607                         new uint [] {0x30, 0x29, }, new uint [] {0x2d, 0x5f, }, 
1608                         new uint [] {0x3d, 0x2b, }, new uint [] {0x71, 0x51, 0x3b, 0x3a, }, 
1609                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, 0xffffffe5, 0xffffffc5, }, 
1610                         new uint [] {0x72, 0x52, 0xfffffff1, 0xffffffd1, }, new uint [] {0x74, 0x54, 0xfffffff4, 0xffffffd4, }, 
1611                         new uint [] {0x79, 0x59, 0xfffffff5, 0xffffffd5, }, new uint [] {0x75, 0x55, 0xffffffe8, 0xffffffc8, }, 
1612                         new uint [] {0x69, 0x49, 0xffffffe9, 0xffffffc9, }, new uint [] {0x6f, 0x4f, 0xffffffef, 0xffffffcf, }, 
1613                         new uint [] {0x70, 0x50, 0xfffffff0, 0xffffffd0, }, new uint [] {0x5b, 0x7b, }, 
1614                         new uint [] {0x5d, 0x7d, }, new uint [] {0x61, 0x41, 0xffffffe1, 0xffffffc1, }, 
1615                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, 0xffffffe4, 0xffffffc4, }, 
1616                         new uint [] {0x66, 0x46, 0xfffffff6, 0xffffffd6, }, new uint [] {0x67, 0x47, 0xffffffe3, 0xffffffc3, }, 
1617                         new uint [] {0x68, 0x48, 0xffffffe7, 0xffffffc7, }, new uint [] {0x6a, 0x4a, 0xffffffee, 0xffffffce, }, 
1618                         new uint [] {0x6b, 0x4b, 0xffffffea, 0xffffffca, }, new uint [] {0x6c, 0x4c, 0xffffffeb, 0xffffffcb, }, 
1619                         new uint [] {0x3b, 0x3a, 0xffffffb4, 0xffffffa8, }, new uint [] {0x27, 0x22, }, 
1620                         new uint [] {0x5c, 0x7c, }, new uint [] {0x7a, 0x5a, 0xffffffe6, 0xffffffc6, }, 
1621                         new uint [] {0x78, 0x58, 0xfffffff7, 0xffffffd7, }, new uint [] {0x63, 0x43, 0xfffffff8, 0xffffffd8, }, 
1622                         new uint [] {0x76, 0x56, 0xfffffff9, 0xffffffd9, }, new uint [] {0x62, 0x42, 0xffffffe2, 0xffffffc2, }, 
1623                         new uint [] {0x6e, 0x4e, 0xffffffed, 0xffffffcd, }, new uint [] {0x6d, 0x4d, 0xffffffec, 0xffffffcc, }, 
1624                         new uint [] {0x2c, 0x3c, }, new uint [] {0x2e, 0x3e, }, 
1625                         new uint [] {0x2f, 0x3f, }, new uint [] {0x3c, 0x3e, }, 
1626                         new uint [] {},                 });
1627                 table [62] = new KeyboardLayout (1054, "Thai (Kedmanee)  keyboard layout", 0, 0, new uint [][] {
1628                         new uint [] {0x60, 0x7e, 0x5f, 0x25, }, new uint [] {0x31, 0x21, 0xffffffe5, 0x2b, }, 
1629                         new uint [] {0x32, 0x40, 0x2f, 0xfffffff1, }, new uint [] {0x33, 0x23, 0x2d, 0xfffffff2, }, 
1630                         new uint [] {0x34, 0x24, 0xffffffc0, 0xfffffff3, }, new uint [] {0x35, 0x25, 0xffffffb6, 0xfffffff4, }, 
1631                         new uint [] {0x36, 0x5e, 0xffffffd8, 0xffffffd9, }, new uint [] {0x37, 0x26, 0xffffffd6, 0xffffffdf, }, 
1632                         new uint [] {0x38, 0x2a, 0xffffffa4, 0xfffffff5, }, new uint [] {0x39, 0x28, 0xffffffb5, 0xfffffff6, }, 
1633                         new uint [] {0x30, 0x29, 0xffffffa8, 0xfffffff7, }, new uint [] {0x2d, 0x5f, 0xffffffa2, 0xfffffff8, }, 
1634                         new uint [] {0x3d, 0x2b, 0xffffffaa, 0xfffffff9, }, new uint [] {0x71, 0x51, 0xffffffe6, 0xfffffff0, }, 
1635                         new uint [] {0x77, 0x57, 0xffffffe4, 0x22, }, new uint [] {0x65, 0x45, 0xffffffd3, 0xffffffae, }, 
1636                         new uint [] {0x72, 0x52, 0xffffffbe, 0xffffffb1, }, new uint [] {0x74, 0x54, 0xffffffd0, 0xffffffb8, }, 
1637                         new uint [] {0x79, 0x59, 0xffffffd1, 0xffffffed, }, new uint [] {0x75, 0x55, 0xffffffd5, 0xffffffea, }, 
1638                         new uint [] {0x69, 0x49, 0xffffffc3, 0xffffffb3, }, new uint [] {0x6f, 0x4f, 0xffffffb9, 0xffffffcf, }, 
1639                         new uint [] {0x70, 0x50, 0xffffffc2, 0xffffffad, }, new uint [] {0x5b, 0x7b, 0xffffffba, 0xffffffb0, }, 
1640                         new uint [] {0x5d, 0x7d, 0xffffffc5, 0x2c, }, new uint [] {0x61, 0x41, 0xffffffbf, 0xffffffc4, }, 
1641                         new uint [] {0x73, 0x53, 0xffffffcb, 0xffffffa6, }, new uint [] {0x64, 0x44, 0xffffffa1, 0xffffffaf, }, 
1642                         new uint [] {0x66, 0x46, 0xffffffb4, 0xffffffe2, }, new uint [] {0x67, 0x47, 0xffffffe0, 0xffffffac, }, 
1643                         new uint [] {0x68, 0x48, 0xffffffe9, 0xffffffe7, }, new uint [] {0x6a, 0x4a, 0xffffffe8, 0xffffffeb, }, 
1644                         new uint [] {0x6b, 0x4b, 0xffffffd2, 0xffffffc9, }, new uint [] {0x6c, 0x4c, 0xffffffca, 0xffffffc8, }, 
1645                         new uint [] {0x3b, 0x3a, 0xffffffc7, 0xffffffab, }, new uint [] {0x27, 0x22, 0xffffffa7, 0x2e, }, 
1646                         new uint [] {0x5c, 0x7c, 0xffffffa3, 0xffffffa5, }, new uint [] {0x7a, 0x5a, 0xffffffbc, 0x28, }, 
1647                         new uint [] {0x78, 0x58, 0xffffffbb, 0x29, }, new uint [] {0x63, 0x43, 0xffffffe1, 0xffffffa9, }, 
1648                         new uint [] {0x76, 0x56, 0xffffffcd, 0xffffffce, }, new uint [] {0x62, 0x42, 0xffffffda, }, 
1649                         new uint [] {0x6e, 0x4e, 0xffffffd7, 0xffffffec, }, new uint [] {0x6d, 0x4d, 0xffffffb7, 0x3f, }, 
1650                         new uint [] {0x2c, 0x3c, 0xffffffc1, 0xffffffb2, }, new uint [] {0x2e, 0x3e, 0xffffffe3, 0xffffffcc, }, 
1651                         new uint [] {0x2f, 0x3f, 0xffffffbd, 0xffffffc6, }, new uint [] {}, 
1652                         new uint [] {},                 });
1653                 table [63] = new KeyboardLayout (1043, "Dutch keyboard layout", 0, 0, new uint [][] {
1654                         new uint [] {0x40, 0xffffffa7, }, new uint [] {0x31, 0x21, }, 
1655                         new uint [] {0x32, 0x22, }, new uint [] {0x33, 0x23, }, 
1656                         new uint [] {0x34, 0x24, }, new uint [] {0x35, 0x25, }, 
1657                         new uint [] {0x36, 0x26, }, new uint [] {0x37, 0x5f, }, 
1658                         new uint [] {0x38, 0x28, }, new uint [] {0x39, 0x29, }, 
1659                         new uint [] {0x30, 0x27, }, new uint [] {0x2f, 0x3f, }, 
1660                         new uint [] {0xffffffb0, 0x7e, }, new uint [] {0x71, 0x51, }, 
1661                         new uint [] {0x77, 0x57, }, new uint [] {0x65, 0x45, }, 
1662                         new uint [] {0x72, 0x52, }, new uint [] {0x74, 0x54, }, 
1663                         new uint [] {0x79, 0x59, }, new uint [] {0x75, 0x55, }, 
1664                         new uint [] {0x69, 0x49, }, new uint [] {0x6f, 0x4f, }, 
1665                         new uint [] {0x70, 0x50, }, new uint [] {0xffffffa8, 0x7e, }, 
1666                         new uint [] {0x2a, 0x7c, }, new uint [] {0x61, 0x41, }, 
1667                         new uint [] {0x73, 0x53, }, new uint [] {0x64, 0x44, }, 
1668                         new uint [] {0x66, 0x46, }, new uint [] {0x67, 0x47, }, 
1669                         new uint [] {0x68, 0x48, }, new uint [] {0x6a, 0x4a, }, 
1670                         new uint [] {0x6b, 0x4b, }, new uint [] {0x6c, 0x4c, }, 
1671                         new uint [] {0x2b, 0xffffffb1, }, new uint [] {0x27, 0x60, }, 
1672                         new uint [] {0x3c, 0x3e, }, new uint [] {0x7a, 0x5a, }, 
1673                         new uint [] {0x78, 0x58, }, new uint [] {0x63, 0x43, }, 
1674                         new uint [] {0x76, 0x56, }, new uint [] {0x62, 0x42, }, 
1675                         new uint [] {0x6e, 0x4e, }, new uint [] {0x6d, 0x4d, }, 
1676                         new uint [] {0x2c, 0x3b, }, new uint [] {0x2e, 0x3a, }, 
1677                         new uint [] {0x2d, 0x3d, }, new uint [] {0x5b, 0x5d, }, 
1678                         new uint [] {},                 });
1679
1680
1681                 rsxw.AddResource ("keyboard_table", table);
1682
1683                 short [][] scan_table = new short [][] {
1684                         main_key_scan_qwerty, main_key_scan_dvorak, main_key_scan_abnt_qwerty,
1685                         main_key_scan_qwerty_jp106, main_key_scan_vnc
1686                 };
1687                 rsxw.AddResource ("scan_table", scan_table);
1688
1689                 VirtualKeys [][] vkeys = new VirtualKeys [][] {
1690                         main_key_vkey_qwerty, main_key_vkey_qwertz, main_key_vkey_dvorak,
1691                         main_key_vkey_qwertz_105, main_key_vkey_azerty, main_key_vkey_qwerty_v2,
1692                         main_key_vkey_abnt_qwerty, main_key_vkey_qwerty_jp106, main_key_vkey_vnc
1693                 };
1694                 int [][] vkey_table = new int [vkeys.Length][];
1695                 for (int i = 0; i < vkeys.Length; i++) {
1696                         int [] cp = new int [vkeys [i].Length];
1697                         for (int r = 0; r < vkeys [i].Length; r++)
1698                                 cp [r] = (int) vkeys [i][r];
1699                         vkey_table [i] = cp;
1700                 }
1701                 
1702                 rsxw.AddResource ("vkey_table", vkey_table);
1703                 
1704                 rsxw.Close ();
1705         }
1706
1707         private static readonly short [] main_key_scan_vnc = new short []
1708                 {
1709                         0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x1A,0x1B,0x27,0x28,0x29,0x33,0x34,0x35,0x2B,
1710                         0x1E,0x30,0x2E,0x20,0x12,0x21,0x22,0x23,0x17,0x24,0x25,0x26,0x32,0x31,0x18,0x19,0x10,0x13,0x1F,0x14,0x16,0x2F,0x11,0x2D,0x15,0x2C,
1711                         0x56
1712                 };
1713
1714         private static readonly short [] main_key_scan_qwerty_jp106 = new short []
1715         {
1716                 0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x29,
1717                 0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,
1718                 0x1E,0x1F,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x2B,
1719                 0x2C,0x2D,0x2E,0x2F,0x30,0x31,0x32,0x33,0x34,0x35,
1720                 0x56 /* the 102nd key (actually to the right of l-shift) */
1721         };
1722
1723         private static readonly VirtualKeys [] main_key_vkey_vnc = new VirtualKeys []
1724                 {
1725                         VirtualKeys.VK_1, VirtualKeys.VK_2, VirtualKeys.VK_3, VirtualKeys.VK_4, VirtualKeys.VK_5, VirtualKeys.VK_6, 
1726                         VirtualKeys.VK_7, VirtualKeys.VK_8, VirtualKeys.VK_9, VirtualKeys.VK_0, VirtualKeys.VK_OEM_MINUS, 
1727                         VirtualKeys.VK_OEM_PLUS, VirtualKeys.VK_OEM_4, VirtualKeys.VK_OEM_6, VirtualKeys.VK_OEM_1, 
1728                         VirtualKeys.VK_OEM_7, VirtualKeys.VK_OEM_3, VirtualKeys.VK_OEM_COMMA, VirtualKeys.VK_OEM_PERIOD, 
1729                         VirtualKeys.VK_OEM_2, VirtualKeys.VK_OEM_5, VirtualKeys.VK_A, VirtualKeys.VK_B, VirtualKeys.VK_C, 
1730                         VirtualKeys.VK_D, VirtualKeys.VK_E, VirtualKeys.VK_F, VirtualKeys.VK_G, VirtualKeys.VK_H, 
1731                         VirtualKeys.VK_I, VirtualKeys.VK_J, VirtualKeys.VK_K, VirtualKeys.VK_L, VirtualKeys.VK_M, 
1732                         VirtualKeys.VK_N, VirtualKeys.VK_O, VirtualKeys.VK_P, VirtualKeys.VK_Q, VirtualKeys.VK_R, 
1733                         VirtualKeys.VK_S, VirtualKeys.VK_T, VirtualKeys.VK_U, VirtualKeys.VK_V, VirtualKeys.VK_W, 
1734                         VirtualKeys.VK_X, VirtualKeys.VK_Y, VirtualKeys.VK_Z, VirtualKeys.VK_OEM_102
1735                 };
1736
1737                 private static readonly short [] main_key_scan_qwerty = new short []
1738                 {
1739                         /* this is my (102-key) keyboard layout, sorry if it doesn't quite match yours */
1740                         /* `    1    2    3    4    5    6    7    8    9    0    -    = */
1741                         0x29,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,
1742                         /* q    w    e    r    t    y    u    i    o    p    [    ] */
1743                         0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,
1744                         /* a    s    d    f    g    h    j    k    l    ;    '    \ */
1745                         0x1E,0x1F,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x2B,
1746                         /* z    x    c    v    b    n    m    ,    .    / */
1747                         0x2C,0x2D,0x2E,0x2F,0x30,0x31,0x32,0x33,0x34,0x35,
1748                         0x56 /* the 102nd key (actually to the right of l-shift) */
1749                 };
1750
1751                 private static readonly short [] main_key_scan_dvorak = new short []
1752                 {
1753                         /* `    1    2    3    4    5    6    7    8    9    0    [    ] */
1754                         0x29,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x1A,0x1B,
1755                         /* '    ,    .    p    y    f    g    c    r    l    /    = */
1756                         0x28,0x33,0x34,0x19,0x15,0x21,0x22,0x2E,0x13,0x26,0x35,0x0D,
1757                         /* a    o    e    u    i    d    h    t    n    s    -    \ */
1758                         0x1E,0x18,0x12,0x16,0x17,0x20,0x23,0x14,0x31,0x1F,0x0C,0x2B,
1759                         /* ;    q    j    k    x    b    m    w    v    z */
1760                         0x27,0x10,0x24,0x25,0x2D,0x30,0x32,0x11,0x2F,0x2C,
1761                         0x56 /* the 102nd key (actually to the right of l-shift) */
1762                 };
1763
1764         private static readonly short [] main_key_scan_abnt_qwerty = new short [] 
1765         {
1766                 0x29,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,
1767                 0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,
1768                 0x1E,0x1F,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x2B,
1769                 0x5e,0x2C,0x2D,0x2E,0x2F,0x30,0x31,0x32,0x33,0x34,0x35,
1770                 0x56,0x35,
1771         };
1772
1773         private static readonly VirtualKeys [] main_key_vkey_qwerty = new VirtualKeys []
1774         {
1775                 // NOTE: this layout must concur with the scan codes layout above
1776                 VirtualKeys.VK_OEM_3, VirtualKeys.VK_1, VirtualKeys.VK_2, VirtualKeys.VK_3, VirtualKeys.VK_4, 
1777                 VirtualKeys.VK_5, VirtualKeys.VK_6, VirtualKeys.VK_7, VirtualKeys.VK_8, VirtualKeys.VK_9, 
1778                 VirtualKeys.VK_0, VirtualKeys.VK_OEM_MINUS, VirtualKeys.VK_OEM_PLUS,  VirtualKeys.VK_Q, 
1779                 VirtualKeys.VK_W, VirtualKeys.VK_E, VirtualKeys.VK_R, VirtualKeys.VK_T, VirtualKeys.VK_Y, 
1780                 VirtualKeys.VK_U, VirtualKeys.VK_I, VirtualKeys.VK_O, VirtualKeys.VK_P, VirtualKeys.VK_OEM_4, 
1781                 VirtualKeys.VK_OEM_6, VirtualKeys.VK_A, VirtualKeys.VK_S, VirtualKeys.VK_D, VirtualKeys.VK_F, 
1782                 VirtualKeys.VK_G, VirtualKeys.VK_H, VirtualKeys.VK_J, VirtualKeys.VK_K, VirtualKeys.VK_L, 
1783                 VirtualKeys.VK_OEM_1, VirtualKeys.VK_OEM_7, VirtualKeys.VK_OEM_5, VirtualKeys.VK_Z, 
1784                 VirtualKeys.VK_X, VirtualKeys.VK_C, VirtualKeys.VK_V, VirtualKeys.VK_B, VirtualKeys.VK_N, 
1785                 VirtualKeys.VK_M, VirtualKeys.VK_OEM_COMMA, VirtualKeys.VK_OEM_PERIOD, VirtualKeys.VK_OEM_2, 
1786                 VirtualKeys.VK_OEM_102 // the 102nd key (actually to the right of l-shift)
1787         };
1788
1789         private static readonly VirtualKeys [] main_key_vkey_qwertz = new VirtualKeys []
1790         {
1791                 VirtualKeys.VK_OEM_3, VirtualKeys.VK_1, VirtualKeys.VK_2, VirtualKeys.VK_3, VirtualKeys.VK_4, 
1792                 VirtualKeys.VK_5, VirtualKeys.VK_6, VirtualKeys.VK_7, VirtualKeys.VK_8, VirtualKeys.VK_9, 
1793                 VirtualKeys.VK_0, VirtualKeys.VK_OEM_MINUS, VirtualKeys.VK_OEM_PLUS,
1794                 VirtualKeys.VK_Q, VirtualKeys.VK_W, VirtualKeys.VK_E, VirtualKeys.VK_R, VirtualKeys.VK_T, VirtualKeys.VK_Z,
1795                 VirtualKeys.VK_U, VirtualKeys.VK_I, VirtualKeys.VK_O, VirtualKeys.VK_P, VirtualKeys.VK_OEM_4, 
1796                 VirtualKeys.VK_OEM_6, VirtualKeys.VK_A, VirtualKeys.VK_S, VirtualKeys.VK_D, VirtualKeys.VK_F, 
1797                 VirtualKeys.VK_G, VirtualKeys.VK_H, VirtualKeys.VK_J, VirtualKeys.VK_K, VirtualKeys.VK_L, 
1798                 VirtualKeys.VK_OEM_1, VirtualKeys.VK_OEM_7, VirtualKeys.VK_OEM_5, VirtualKeys.VK_Y,
1799                 VirtualKeys.VK_X, VirtualKeys.VK_C, VirtualKeys.VK_V, VirtualKeys.VK_B, VirtualKeys.VK_N, 
1800                 VirtualKeys.VK_M, VirtualKeys.VK_OEM_COMMA, VirtualKeys.VK_OEM_PERIOD, VirtualKeys.VK_OEM_2, 
1801                 VirtualKeys.VK_OEM_102 // the 102nd key (actually to the right of l-shift)
1802         };
1803
1804         private static readonly VirtualKeys [] main_key_vkey_dvorak = new VirtualKeys []
1805         {
1806                 // NOTE: this layout must concur with the scan codes layout above
1807                 VirtualKeys.VK_OEM_3, VirtualKeys.VK_1, VirtualKeys.VK_2, VirtualKeys.VK_3, VirtualKeys.VK_4,
1808                 VirtualKeys.VK_5, VirtualKeys.VK_6, VirtualKeys.VK_7, VirtualKeys.VK_8, VirtualKeys.VK_9,
1809                 VirtualKeys.VK_0, VirtualKeys.VK_OEM_4, VirtualKeys.VK_OEM_6, VirtualKeys.VK_OEM_7,
1810                 VirtualKeys.VK_OEM_COMMA, VirtualKeys.VK_OEM_PERIOD, VirtualKeys.VK_P, VirtualKeys.VK_Y,
1811                 VirtualKeys.VK_F, VirtualKeys.VK_G, VirtualKeys.VK_C, VirtualKeys.VK_R, VirtualKeys.VK_L,
1812                 VirtualKeys.VK_OEM_2, VirtualKeys.VK_OEM_PLUS, VirtualKeys.VK_A, VirtualKeys.VK_O,
1813                 VirtualKeys.VK_E, VirtualKeys.VK_U, VirtualKeys.VK_I, VirtualKeys.VK_D, VirtualKeys.VK_H,
1814                 VirtualKeys.VK_T, VirtualKeys.VK_N, VirtualKeys.VK_S, VirtualKeys.VK_OEM_MINUS, VirtualKeys.VK_OEM_5, 
1815                 VirtualKeys.VK_OEM_1, VirtualKeys.VK_Q, VirtualKeys.VK_J, VirtualKeys.VK_K, VirtualKeys.VK_X,
1816                 VirtualKeys.VK_B, VirtualKeys.VK_M, VirtualKeys.VK_W, VirtualKeys.VK_V, VirtualKeys.VK_Z,
1817                 VirtualKeys.VK_OEM_102 // the 102nd key (actually to the right of l-shift)
1818         };
1819
1820         private static readonly VirtualKeys [] main_key_vkey_azerty = new VirtualKeys []
1821         {
1822                 // NOTE: this layout must concur with the scan codes layout above
1823                 VirtualKeys.VK_OEM_7, VirtualKeys.VK_1, VirtualKeys.VK_2, VirtualKeys.VK_3, VirtualKeys.VK_4,
1824                 VirtualKeys.VK_5, VirtualKeys.VK_6, VirtualKeys.VK_7, VirtualKeys.VK_8, VirtualKeys.VK_9,
1825                 VirtualKeys.VK_0, VirtualKeys.VK_OEM_4, VirtualKeys.VK_OEM_PLUS, VirtualKeys.VK_A, VirtualKeys.VK_Z,
1826                 VirtualKeys.VK_E, VirtualKeys.VK_R, VirtualKeys.VK_T, VirtualKeys.VK_Y, VirtualKeys.VK_U,
1827                 VirtualKeys.VK_I, VirtualKeys.VK_O, VirtualKeys.VK_P, VirtualKeys.VK_OEM_6, VirtualKeys.VK_OEM_1, 
1828                 VirtualKeys.VK_Q, VirtualKeys.VK_S, VirtualKeys.VK_D, VirtualKeys.VK_F, VirtualKeys.VK_G,
1829                 VirtualKeys.VK_H, VirtualKeys.VK_J, VirtualKeys.VK_K, VirtualKeys.VK_L, VirtualKeys.VK_M,
1830                 VirtualKeys.VK_OEM_3, VirtualKeys.VK_OEM_5, VirtualKeys.VK_W, VirtualKeys.VK_X, VirtualKeys.VK_C,
1831                 VirtualKeys.VK_V, VirtualKeys.VK_B, VirtualKeys.VK_N, VirtualKeys.VK_OEM_COMMA, VirtualKeys.VK_OEM_PERIOD,
1832                 VirtualKeys.VK_OEM_2, VirtualKeys.VK_OEM_8, 
1833                 VirtualKeys.VK_OEM_102 // the 102nd key (actually to the right of l-shift)
1834         };
1835
1836
1837         //// WRONG
1838         private static readonly VirtualKeys [] main_key_vkey_qwerty_jp106 = new VirtualKeys []
1839         {
1840                 // NOTE: this layout must concur with the scan codes layout above
1841                 VirtualKeys.VK_OEM_7, VirtualKeys.VK_1, VirtualKeys.VK_2, VirtualKeys.VK_3, VirtualKeys.VK_4,
1842                 VirtualKeys.VK_5, VirtualKeys.VK_6, VirtualKeys.VK_7, VirtualKeys.VK_8, VirtualKeys.VK_9,
1843                 VirtualKeys.VK_0, VirtualKeys.VK_OEM_4, VirtualKeys.VK_OEM_PLUS, VirtualKeys.VK_A, VirtualKeys.VK_Z,
1844                 VirtualKeys.VK_E, VirtualKeys.VK_R, VirtualKeys.VK_T, VirtualKeys.VK_Y, VirtualKeys.VK_U,
1845                 VirtualKeys.VK_I, VirtualKeys.VK_O, VirtualKeys.VK_P, VirtualKeys.VK_OEM_6, VirtualKeys.VK_OEM_1, 
1846                 VirtualKeys.VK_Q, VirtualKeys.VK_S, VirtualKeys.VK_D, VirtualKeys.VK_F, VirtualKeys.VK_G,
1847                 VirtualKeys.VK_H, VirtualKeys.VK_J, VirtualKeys.VK_K, VirtualKeys.VK_L, VirtualKeys.VK_M,
1848                 VirtualKeys.VK_OEM_3, VirtualKeys.VK_OEM_5, VirtualKeys.VK_W, VirtualKeys.VK_X, VirtualKeys.VK_C,
1849                 VirtualKeys.VK_V, VirtualKeys.VK_B, VirtualKeys.VK_N, VirtualKeys.VK_OEM_COMMA, VirtualKeys.VK_OEM_PERIOD,
1850                 VirtualKeys.VK_OEM_2, VirtualKeys.VK_OEM_8, 
1851                 VirtualKeys.VK_OEM_ATTN,
1852                 VirtualKeys.VK_OEM_102, // the 102nd key (actually to the right of l-shift)
1853                 VirtualKeys.VK_OEM_COPY,
1854                 VirtualKeys.VK_OEM_AUTO,
1855                 VirtualKeys.VK_OEM_ENLW,
1856                 VirtualKeys.VK_OEM_BACKTAB,
1857         };
1858
1859         //// WRONG
1860         private static readonly VirtualKeys [] main_key_vkey_qwertz_105 = new VirtualKeys []
1861         {
1862                 // NOTE: this layout must concur with the scan codes layout above
1863                 VirtualKeys.VK_OEM_7, VirtualKeys.VK_1, VirtualKeys.VK_2, VirtualKeys.VK_3, VirtualKeys.VK_4,
1864                 VirtualKeys.VK_5, VirtualKeys.VK_6, VirtualKeys.VK_7, VirtualKeys.VK_8, VirtualKeys.VK_9,
1865                 VirtualKeys.VK_0, VirtualKeys.VK_OEM_4, VirtualKeys.VK_OEM_PLUS, VirtualKeys.VK_A, VirtualKeys.VK_Z,
1866                 VirtualKeys.VK_E, VirtualKeys.VK_R, VirtualKeys.VK_T, VirtualKeys.VK_Y, VirtualKeys.VK_U,
1867                 VirtualKeys.VK_I, VirtualKeys.VK_O, VirtualKeys.VK_P, VirtualKeys.VK_OEM_6, VirtualKeys.VK_OEM_1, 
1868                 VirtualKeys.VK_Q, VirtualKeys.VK_S, VirtualKeys.VK_D, VirtualKeys.VK_F, VirtualKeys.VK_G,
1869                 VirtualKeys.VK_H, VirtualKeys.VK_J, VirtualKeys.VK_K, VirtualKeys.VK_L, VirtualKeys.VK_M,
1870                 VirtualKeys.VK_OEM_3, VirtualKeys.VK_OEM_5, VirtualKeys.VK_W, VirtualKeys.VK_X, VirtualKeys.VK_C,
1871                 VirtualKeys.VK_V, VirtualKeys.VK_B, VirtualKeys.VK_N, VirtualKeys.VK_OEM_COMMA, VirtualKeys.VK_OEM_PERIOD,
1872                 VirtualKeys.VK_OEM_2, VirtualKeys.VK_OEM_8, 
1873                 VirtualKeys.VK_OEM_102 // the 102nd key (actually to the right of l-shift)
1874         };
1875
1876         //// WRONG
1877         private static readonly VirtualKeys [] main_key_vkey_qwerty_v2 = new VirtualKeys []
1878         {
1879                 // NOTE: this layout must concur with the scan codes layout above
1880                 VirtualKeys.VK_OEM_7, VirtualKeys.VK_1, VirtualKeys.VK_2, VirtualKeys.VK_3, VirtualKeys.VK_4,
1881                 VirtualKeys.VK_5, VirtualKeys.VK_6, VirtualKeys.VK_7, VirtualKeys.VK_8, VirtualKeys.VK_9,
1882                 VirtualKeys.VK_0, VirtualKeys.VK_OEM_4, VirtualKeys.VK_OEM_PLUS, VirtualKeys.VK_A, VirtualKeys.VK_Z,
1883                 VirtualKeys.VK_E, VirtualKeys.VK_R, VirtualKeys.VK_T, VirtualKeys.VK_Y, VirtualKeys.VK_U,
1884                 VirtualKeys.VK_I, VirtualKeys.VK_O, VirtualKeys.VK_P, VirtualKeys.VK_OEM_6, VirtualKeys.VK_OEM_1, 
1885                 VirtualKeys.VK_Q, VirtualKeys.VK_S, VirtualKeys.VK_D, VirtualKeys.VK_F, VirtualKeys.VK_G,
1886                 VirtualKeys.VK_H, VirtualKeys.VK_J, VirtualKeys.VK_K, VirtualKeys.VK_L, VirtualKeys.VK_M,
1887                 VirtualKeys.VK_OEM_3, VirtualKeys.VK_OEM_5, VirtualKeys.VK_W, VirtualKeys.VK_X, VirtualKeys.VK_C,
1888                 VirtualKeys.VK_V, VirtualKeys.VK_B, VirtualKeys.VK_N, VirtualKeys.VK_OEM_COMMA, VirtualKeys.VK_OEM_PERIOD,
1889                 VirtualKeys.VK_OEM_2, VirtualKeys.VK_OEM_8, 
1890                 VirtualKeys.VK_OEM_102 // the 102nd key (actually to the right of l-shift)
1891         };
1892
1893         private static readonly VirtualKeys [] main_key_vkey_abnt_qwerty = new VirtualKeys []
1894         {
1895                 // NOTE: this layout must concur with the scan codes layout above
1896                 VirtualKeys.VK_OEM_7, VirtualKeys.VK_1, VirtualKeys.VK_2, VirtualKeys.VK_3, VirtualKeys.VK_4, 
1897                 VirtualKeys.VK_5, VirtualKeys.VK_6, VirtualKeys.VK_7, VirtualKeys.VK_8, VirtualKeys.VK_9, 
1898                 VirtualKeys.VK_0, VirtualKeys.VK_OEM_MINUS, VirtualKeys.VK_OEM_PLUS,  VirtualKeys.VK_Q, 
1899                 VirtualKeys.VK_W, VirtualKeys.VK_E, VirtualKeys.VK_R, VirtualKeys.VK_T, VirtualKeys.VK_Y, 
1900                 VirtualKeys.VK_U, VirtualKeys.VK_I, VirtualKeys.VK_O, VirtualKeys.VK_P, VirtualKeys.VK_OEM_3, 
1901                 VirtualKeys.VK_OEM_4, VirtualKeys.VK_A, VirtualKeys.VK_S, VirtualKeys.VK_D, VirtualKeys.VK_F, 
1902                 VirtualKeys.VK_G, VirtualKeys.VK_H, VirtualKeys.VK_J, VirtualKeys.VK_K, VirtualKeys.VK_L, 
1903                 VirtualKeys.VK_OEM_8, VirtualKeys.VK_OEM_102, VirtualKeys.VK_OEM_6, VirtualKeys.VK_Z, 
1904                 VirtualKeys.VK_X, VirtualKeys.VK_C, VirtualKeys.VK_V, VirtualKeys.VK_B, VirtualKeys.VK_N, 
1905                 VirtualKeys.VK_M, VirtualKeys.VK_OEM_COMMA, VirtualKeys.VK_OEM_PERIOD, VirtualKeys.VK_OEM_1, 
1906                 VirtualKeys.VK_OEM_2, VirtualKeys.VK_OEM_5 
1907         };
1908         /*
1909         private static readonly VirtualKeys [] main_key_vkey_qwerty_jp = new VirtualKeys []
1910         {
1911                 VirtualKeys.VK_1, VirtualKeys.VK_2, VirtualKeys.VK_3, VirtualKeys.VK_4, 
1912                 VirtualKeys.VK_5, VirtualKeys.VK_6, VirtualKeys.VK_7, VirtualKeys.VK_8, VirtualKeys.VK_9,
1913                 VirtualKeys.VK_0, VirtualKeys.VK_OEM_MINUS, VirtualKeys.VK_OEM_PLUS,VirtualKeys.VK_OEM_3,
1914                 VirtualKeys.VK_Q, VirtualKeys.VK_W, VirtualKeys.VK_E, VirtualKeys.VK_R, VirtualKeys.VK_T
1915                 VirtualKeys.VK_Y, VirtualKeys.VK_U, VirtualKeys.VK_I, VirtualKeys.VK_O, VirtualKeys.VK_P
1916                 VirtualKeys.VK_OEM_4,VirtualKeys.VK_OEM_6,
1917                 VirtualKeys.VK_A, VirtualKeys.VK_S, VirtualKeys.VK_D, VirtualKeys.VK_F, 
1918                 VirtualKeys.VK_G, VirtualKeys.VK_H, VirtualKeys.VK_J, VirtualKeys.VK_K, VirtualKeys.VK_L, 
1919                 VirtualKeys.VK_OEM_1, VirtualKeys.VK_OEM_7, VirtualKeys.VK_OEM_5, VirtualKeys.VK_Z, 
1920                 VirtualKeys.VK_X, VirtualKeys.VK_C, VirtualKeys.VK_V, VirtualKeys.VK_B, VirtualKeys.VK_N, 
1921                 VirtualKeys.VK_M, VirtualKeys.VK_OEM_COMMA, VirtualKeys.VK_OEM_PERIOD, VirtualKeys.VK_OEM_2, 
1922                 VirtualKeys.VK_OEM_102
1923                 };*/
1924
1925         internal enum VirtualKeys {
1926                 VK_LBUTTON              = 0x01,
1927                 VK_RBUTTON              = 0x02,
1928                 VK_CANCEL               = 0x03,
1929                 VK_MBUTTON              = 0x04,
1930                 VK_XBUTTON1             = 0x05,
1931                 VK_XBUTTON2             = 0x06,
1932                 VK_BACK                 = 0x08,
1933                 VK_TAB                  = 0x09,
1934                 VK_CLEAR                = 0x0C,
1935                 VK_RETURN               = 0x0D,
1936                 VK_SHIFT                = 0x10,
1937                 VK_CONTROL              = 0x11,
1938                 VK_MENU                 = 0x12,
1939                 VK_PAUSE                = 0x13,
1940                 VK_CAPITAL              = 0x14,
1941                 VK_ESCAPE               = 0x1B,
1942                 VK_SPACE                = 0x20,
1943                 VK_PRIOR                = 0x21,
1944                 VK_NEXT                 = 0x22,
1945                 VK_END                  = 0x23,
1946                 VK_HOME                 = 0x24,
1947                 VK_LEFT                 = 0x25,
1948                 VK_UP                   = 0x26,
1949                 VK_RIGHT                = 0x27,
1950                 VK_DOWN                 = 0x28,
1951                 VK_SELECT               = 0x29,
1952                 VK_PRINT                = 0x2A,
1953                 VK_EXECUTE              = 0x2B,
1954                 VK_SNAPSHOT             = 0x2C,
1955                 VK_INSERT               = 0x2D,
1956                 VK_DELETE               = 0x2E,
1957                 VK_HELP                 = 0x2F,
1958                 VK_0                    = 0x30,
1959                 VK_1                    = 0x31,
1960                 VK_2                    = 0x32,
1961                 VK_3                    = 0x33,
1962                 VK_4                    = 0x34,
1963                 VK_5                    = 0x35,
1964                 VK_6                    = 0x36,
1965                 VK_7                    = 0x37,
1966                 VK_8                    = 0x38,
1967                 VK_9                    = 0x39,
1968                 VK_A                    = 0x41,
1969                 VK_B                    = 0x42,
1970                 VK_C                    = 0x43,
1971                 VK_D                    = 0x44,
1972                 VK_E                    = 0x45,
1973                 VK_F                    = 0x46,
1974                 VK_G                    = 0x47,
1975                 VK_H                    = 0x48,
1976                 VK_I                    = 0x49,
1977                 VK_J                    = 0x4A,
1978                 VK_K                    = 0x4B,
1979                 VK_L                    = 0x4C,
1980                 VK_M                    = 0x4D,
1981                 VK_N                    = 0x4E,
1982                 VK_O                    = 0x4F,
1983                 VK_P                    = 0x50,
1984                 VK_Q                    = 0x51,
1985                 VK_R                    = 0x52,
1986                 VK_S                    = 0x53,
1987                 VK_T                    = 0x54,
1988                 VK_U                    = 0x55,
1989                 VK_V                    = 0x56,
1990                 VK_W                    = 0x57,
1991                 VK_X                    = 0x58,
1992                 VK_Y                    = 0x59,
1993                 VK_Z                    = 0x5A,
1994                 VK_LWIN                 = 0x5B,
1995                 VK_RWIN                 = 0x5C,
1996                 VK_APPS                 = 0x5D,
1997                 VK_NUMPAD0              = 0x60,
1998                 VK_NUMPAD1              = 0x61,
1999                 VK_NUMPAD2              = 0x62,
2000                 VK_NUMPAD3              = 0x63,
2001                 VK_NUMPAD4              = 0x64,
2002                 VK_NUMPAD5              = 0x65,
2003                 VK_NUMPAD6              = 0x66,
2004                 VK_NUMPAD7              = 0x67,
2005                 VK_NUMPAD8              = 0x68,
2006                 VK_NUMPAD9              = 0x69,
2007                 VK_MULTIPLY             = 0x6A,
2008                 VK_ADD                  = 0x6B,
2009                 VK_SEPARATOR            = 0x6C,
2010                 VK_SUBTRACT             = 0x6D,
2011                 VK_DECIMAL              = 0x6E,
2012                 VK_DIVIDE               = 0x6F,
2013                 VK_F1                   = 0x70,
2014                 VK_F2                   = 0x71,
2015                 VK_F3                   = 0x72,
2016                 VK_F4                   = 0x73,
2017                 VK_F5                   = 0x74,
2018                 VK_F6                   = 0x75,
2019                 VK_F7                   = 0x76,
2020                 VK_F8                   = 0x77,
2021                 VK_F9                   = 0x78,
2022                 VK_F10                  = 0x79,
2023                 VK_F11                  = 0x7A,
2024                 VK_F12                  = 0x7B,
2025                 VK_F13                  = 0x7C,
2026                 VK_F14                  = 0x7D,
2027                 VK_F15                  = 0x7E,
2028                 VK_F16                  = 0x7F,
2029                 VK_F17                  = 0x80,
2030                 VK_F18                  = 0x81,
2031                 VK_F19                  = 0x82,
2032                 VK_F20                  = 0x83,
2033                 VK_F21                  = 0x84,
2034                 VK_F22                  = 0x85,
2035                 VK_F23                  = 0x86,
2036                 VK_F24                  = 0x87,
2037                 VK_NUMLOCK              = 0x90,
2038                 VK_SCROLL               = 0x91,
2039                 VK_LSHIFT               = 0xA0,   
2040                 VK_RSHIFT               = 0xA1,   
2041                 VK_LCONTROL             = 0xA2,   
2042                 VK_RCONTROL             = 0xA3,   
2043                 VK_LMENU                = 0xA4,   
2044                 VK_RMENU                = 0xA5,
2045                 VK_OEM_1                = 0xBA,
2046                 VK_OEM_PLUS             = 0xBB,
2047                 VK_OEM_COMMA            = 0xBC,
2048                 VK_OEM_MINUS            = 0xBD,
2049                 VK_OEM_PERIOD           = 0xBE,
2050                 VK_OEM_2                = 0xBF, 
2051                 VK_OEM_3                = 0xC0,
2052                 VK_OEM_4                = 0xDB,
2053                 VK_OEM_5                = 0xDC,
2054                 VK_OEM_6                = 0xDD,
2055                 VK_OEM_7                = 0xDE,
2056                 VK_OEM_8                = 0xDF,
2057                 VK_OEM_AX               = 0xE1,
2058                 VK_OEM_102              = 0xE2,
2059                 VK_ICO_HELP             = 0xE3,
2060                 VK_ICO_00               = 0xE4,
2061                 VK_PROCESSKEY           = 0xE5,
2062                 VK_OEM_ATTN             = 0xF0,
2063                 VK_OEM_COPY             = 0xF2,
2064                 VK_OEM_AUTO             = 0xF3,
2065                 VK_OEM_ENLW             = 0xF4,
2066                 VK_OEM_BACKTAB          = 0xF5,
2067                 VK_ATTN                 = 0xF6,
2068                 VK_CRSEL                = 0xF7,
2069                 VK_EXSEL                = 0xF8,
2070                 VK_EREOF                = 0xF9,
2071                 VK_PLAY                 = 0xFA,
2072                 VK_ZOOM                 = 0xFB,
2073                 VK_NONAME               = 0xFC,
2074                 VK_PA1                  = 0xFD,
2075                 VK_OEM_CLEAR            = 0xFE,
2076         }
2077 }
2078