Heavy fix
[meinos.git] / keyboard_layouts / template.c
blobbba122a6660d878f5f47a7400e6e857116b71148
1 /*
2 meinOS - A unix-like x86 microkernel operating system
3 Copyright (C) 2008 Janosch Gräf <janosch.graef@gmx.net>
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
19 #include <stdio.h>
20 #include <wchar.h>
22 wchar_t keyboard_layout[0x100][4] = {
23 /* Scancode * Description *//* Characters */
24 /* 00 * */ { 0 , 0 , 0 , 0 },
25 /* 01 * */ { 0 , 0 , 0 , 0 },
26 /* 02 * */ { 0 , 0 , 0 , 0 },
27 /* 03 * */ { 0 , 0 , 0 , 0 },
28 /* 04 * */ { 0 , 0 , 0 , 0 },
29 /* 05 * */ { 0 , 0 , 0 , 0 },
30 /* 06 * */ { 0 , 0 , 0 , 0 },
31 /* 07 * */ { 0 , 0 , 0 , 0 },
32 /* 08 * */ { 0 , 0 , 0 , 0 },
33 /* 09 * */ { 0 , 0 , 0 , 0 },
34 /* 0A * */ { 0 , 0 , 0 , 0 },
35 /* 0B * */ { 0 , 0 , 0 , 0 },
36 /* 0C * */ { 0 , 0 , 0 , 0 },
37 /* 0D * */ { 0 , 0 , 0 , 0 },
38 /* 0E * */ { 0 , 0 , 0 , 0 },
39 /* 0F * */ { 0 , 0 , 0 , 0 },
40 /* 10 * */ { 0 , 0 , 0 , 0 },
41 /* 11 * */ { 0 , 0 , 0 , 0 },
42 /* 12 * */ { 0 , 0 , 0 , 0 },
43 /* 13 * */ { 0 , 0 , 0 , 0 },
44 /* 14 * */ { 0 , 0 , 0 , 0 },
45 /* 15 * */ { 0 , 0 , 0 , 0 },
46 /* 16 * */ { 0 , 0 , 0 , 0 },
47 /* 17 * */ { 0 , 0 , 0 , 0 },
48 /* 18 * */ { 0 , 0 , 0 , 0 },
49 /* 19 * */ { 0 , 0 , 0 , 0 },
50 /* 1A * */ { 0 , 0 , 0 , 0 },
51 /* 1B * */ { 0 , 0 , 0 , 0 },
52 /* 1C * */ { 0 , 0 , 0 , 0 },
53 /* 1D * */ { 0 , 0 , 0 , 0 },
54 /* 1E * */ { 0 , 0 , 0 , 0 },
55 /* 1F * */ { 0 , 0 , 0 , 0 },
56 /* 20 * */ { 0 , 0 , 0 , 0 },
57 /* 21 * */ { 0 , 0 , 0 , 0 },
58 /* 22 * */ { 0 , 0 , 0 , 0 },
59 /* 23 * */ { 0 , 0 , 0 , 0 },
60 /* 24 * */ { 0 , 0 , 0 , 0 },
61 /* 25 * */ { 0 , 0 , 0 , 0 },
62 /* 26 * */ { 0 , 0 , 0 , 0 },
63 /* 27 * */ { 0 , 0 , 0 , 0 },
64 /* 28 * */ { 0 , 0 , 0 , 0 },
65 /* 29 * */ { 0 , 0 , 0 , 0 },
66 /* 2A * */ { 0 , 0 , 0 , 0 },
67 /* 2B * */ { 0 , 0 , 0 , 0 },
68 /* 2C * */ { 0 , 0 , 0 , 0 },
69 /* 2D * */ { 0 , 0 , 0 , 0 },
70 /* 2E * */ { 0 , 0 , 0 , 0 },
71 /* 2F * */ { 0 , 0 , 0 , 0 },
72 /* 30 * */ { 0 , 0 , 0 , 0 },
73 /* 31 * */ { 0 , 0 , 0 , 0 },
74 /* 32 * */ { 0 , 0 , 0 , 0 },
75 /* 33 * */ { 0 , 0 , 0 , 0 },
76 /* 34 * */ { 0 , 0 , 0 , 0 },
77 /* 35 * */ { 0 , 0 , 0 , 0 },
78 /* 36 * */ { 0 , 0 , 0 , 0 },
79 /* 37 * */ { 0 , 0 , 0 , 0 },
80 /* 38 * */ { 0 , 0 , 0 , 0 },
81 /* 39 * */ { 0 , 0 , 0 , 0 },
82 /* 3A * */ { 0 , 0 , 0 , 0 },
83 /* 3B * */ { 0 , 0 , 0 , 0 },
84 /* 3C * */ { 0 , 0 , 0 , 0 },
85 /* 3D * */ { 0 , 0 , 0 , 0 },
86 /* 3E * */ { 0 , 0 , 0 , 0 },
87 /* 3F * */ { 0 , 0 , 0 , 0 },
88 /* 40 * */ { 0 , 0 , 0 , 0 },
89 /* 41 * */ { 0 , 0 , 0 , 0 },
90 /* 42 * */ { 0 , 0 , 0 , 0 },
91 /* 43 * */ { 0 , 0 , 0 , 0 },
92 /* 44 * */ { 0 , 0 , 0 , 0 },
93 /* 45 * */ { 0 , 0 , 0 , 0 },
94 /* 46 * */ { 0 , 0 , 0 , 0 },
95 /* 47 * */ { 0 , 0 , 0 , 0 },
96 /* 48 * */ { 0 , 0 , 0 , 0 },
97 /* 49 * */ { 0 , 0 , 0 , 0 },
98 /* 4A * */ { 0 , 0 , 0 , 0 },
99 /* 4B * */ { 0 , 0 , 0 , 0 },
100 /* 4C * */ { 0 , 0 , 0 , 0 },
101 /* 4D * */ { 0 , 0 , 0 , 0 },
102 /* 4E * */ { 0 , 0 , 0 , 0 },
103 /* 4F * */ { 0 , 0 , 0 , 0 },
104 /* 50 * */ { 0 , 0 , 0 , 0 },
105 /* 51 * */ { 0 , 0 , 0 , 0 },
106 /* 52 * */ { 0 , 0 , 0 , 0 },
107 /* 53 * */ { 0 , 0 , 0 , 0 },
108 /* 54 * */ { 0 , 0 , 0 , 0 },
109 /* 55 * */ { 0 , 0 , 0 , 0 },
110 /* 56 * */ { 0 , 0 , 0 , 0 },
111 /* 57 * */ { 0 , 0 , 0 , 0 },
112 /* 58 * */ { 0 , 0 , 0 , 0 },
113 /* 59 * */ { 0 , 0 , 0 , 0 },
114 /* 5A * */ { 0 , 0 , 0 , 0 },
115 /* 5B * */ { 0 , 0 , 0 , 0 },
116 /* 5C * */ { 0 , 0 , 0 , 0 },
117 /* 5D * */ { 0 , 0 , 0 , 0 },
118 /* 5E * */ { 0 , 0 , 0 , 0 },
119 /* 5F * */ { 0 , 0 , 0 , 0 },
120 /* 60 * */ { 0 , 0 , 0 , 0 },
121 /* 61 * */ { 0 , 0 , 0 , 0 },
122 /* 62 * */ { 0 , 0 , 0 , 0 },
123 /* 63 * */ { 0 , 0 , 0 , 0 },
124 /* 64 * */ { 0 , 0 , 0 , 0 },
125 /* 65 * */ { 0 , 0 , 0 , 0 },
126 /* 66 * */ { 0 , 0 , 0 , 0 },
127 /* 67 * */ { 0 , 0 , 0 , 0 },
128 /* 68 * */ { 0 , 0 , 0 , 0 },
129 /* 69 * */ { 0 , 0 , 0 , 0 },
130 /* 6A * */ { 0 , 0 , 0 , 0 },
131 /* 6B * */ { 0 , 0 , 0 , 0 },
132 /* 6C * */ { 0 , 0 , 0 , 0 },
133 /* 6D * */ { 0 , 0 , 0 , 0 },
134 /* 6E * */ { 0 , 0 , 0 , 0 },
135 /* 6F * */ { 0 , 0 , 0 , 0 },
136 /* 70 * */ { 0 , 0 , 0 , 0 },
137 /* 71 * */ { 0 , 0 , 0 , 0 },
138 /* 72 * */ { 0 , 0 , 0 , 0 },
139 /* 73 * */ { 0 , 0 , 0 , 0 },
140 /* 74 * */ { 0 , 0 , 0 , 0 },
141 /* 75 * */ { 0 , 0 , 0 , 0 },
142 /* 76 * */ { 0 , 0 , 0 , 0 },
143 /* 77 * */ { 0 , 0 , 0 , 0 },
144 /* 78 * */ { 0 , 0 , 0 , 0 },
145 /* 79 * */ { 0 , 0 , 0 , 0 },
146 /* 7A * */ { 0 , 0 , 0 , 0 },
147 /* 7B * */ { 0 , 0 , 0 , 0 },
148 /* 7C * */ { 0 , 0 , 0 , 0 },
149 /* 7D * */ { 0 , 0 , 0 , 0 },
150 /* 7E * */ { 0 , 0 , 0 , 0 },
151 /* 7F * */ { 0 , 0 , 0 , 0 },
152 /* 80 * */ { 0 , 0 , 0 , 0 },
153 /* 81 * */ { 0 , 0 , 0 , 0 },
154 /* 82 * */ { 0 , 0 , 0 , 0 },
155 /* 83 * */ { 0 , 0 , 0 , 0 },
156 /* 84 * */ { 0 , 0 , 0 , 0 },
157 /* 85 * */ { 0 , 0 , 0 , 0 },
158 /* 86 * */ { 0 , 0 , 0 , 0 },
159 /* 87 * */ { 0 , 0 , 0 , 0 },
160 /* 88 * */ { 0 , 0 , 0 , 0 },
161 /* 89 * */ { 0 , 0 , 0 , 0 },
162 /* 8A * */ { 0 , 0 , 0 , 0 },
163 /* 8B * */ { 0 , 0 , 0 , 0 },
164 /* 8C * */ { 0 , 0 , 0 , 0 },
165 /* 8D * */ { 0 , 0 , 0 , 0 },
166 /* 8E * */ { 0 , 0 , 0 , 0 },
167 /* 8F * */ { 0 , 0 , 0 , 0 },
168 /* 90 * */ { 0 , 0 , 0 , 0 },
169 /* 91 * */ { 0 , 0 , 0 , 0 },
170 /* 92 * */ { 0 , 0 , 0 , 0 },
171 /* 93 * */ { 0 , 0 , 0 , 0 },
172 /* 94 * */ { 0 , 0 , 0 , 0 },
173 /* 95 * */ { 0 , 0 , 0 , 0 },
174 /* 96 * */ { 0 , 0 , 0 , 0 },
175 /* 97 * */ { 0 , 0 , 0 , 0 },
176 /* 98 * */ { 0 , 0 , 0 , 0 },
177 /* 99 * */ { 0 , 0 , 0 , 0 },
178 /* 9A * */ { 0 , 0 , 0 , 0 },
179 /* 9B * */ { 0 , 0 , 0 , 0 },
180 /* 9C * */ { 0 , 0 , 0 , 0 },
181 /* 9D * */ { 0 , 0 , 0 , 0 },
182 /* 9E * */ { 0 , 0 , 0 , 0 },
183 /* 9F * */ { 0 , 0 , 0 , 0 },
184 /* A0 * */ { 0 , 0 , 0 , 0 },
185 /* A1 * */ { 0 , 0 , 0 , 0 },
186 /* A2 * */ { 0 , 0 , 0 , 0 },
187 /* A3 * */ { 0 , 0 , 0 , 0 },
188 /* A4 * */ { 0 , 0 , 0 , 0 },
189 /* A5 * */ { 0 , 0 , 0 , 0 },
190 /* A6 * */ { 0 , 0 , 0 , 0 },
191 /* A7 * */ { 0 , 0 , 0 , 0 },
192 /* A8 * */ { 0 , 0 , 0 , 0 },
193 /* A9 * */ { 0 , 0 , 0 , 0 },
194 /* AA * */ { 0 , 0 , 0 , 0 },
195 /* AB * */ { 0 , 0 , 0 , 0 },
196 /* AC * */ { 0 , 0 , 0 , 0 },
197 /* AD * */ { 0 , 0 , 0 , 0 },
198 /* AE * */ { 0 , 0 , 0 , 0 },
199 /* AF * */ { 0 , 0 , 0 , 0 },
200 /* B0 * */ { 0 , 0 , 0 , 0 },
201 /* B1 * */ { 0 , 0 , 0 , 0 },
202 /* B2 * */ { 0 , 0 , 0 , 0 },
203 /* B3 * */ { 0 , 0 , 0 , 0 },
204 /* B4 * */ { 0 , 0 , 0 , 0 },
205 /* B5 * */ { 0 , 0 , 0 , 0 },
206 /* B6 * */ { 0 , 0 , 0 , 0 },
207 /* B7 * */ { 0 , 0 , 0 , 0 },
208 /* B8 * */ { 0 , 0 , 0 , 0 },
209 /* B9 * */ { 0 , 0 , 0 , 0 },
210 /* BA * */ { 0 , 0 , 0 , 0 },
211 /* BB * */ { 0 , 0 , 0 , 0 },
212 /* BC * */ { 0 , 0 , 0 , 0 },
213 /* BD * */ { 0 , 0 , 0 , 0 },
214 /* BE * */ { 0 , 0 , 0 , 0 },
215 /* BF * */ { 0 , 0 , 0 , 0 },
216 /* C0 * */ { 0 , 0 , 0 , 0 },
217 /* C1 * */ { 0 , 0 , 0 , 0 },
218 /* C2 * */ { 0 , 0 , 0 , 0 },
219 /* C3 * */ { 0 , 0 , 0 , 0 },
220 /* C4 * */ { 0 , 0 , 0 , 0 },
221 /* C5 * */ { 0 , 0 , 0 , 0 },
222 /* C6 * */ { 0 , 0 , 0 , 0 },
223 /* C7 * */ { 0 , 0 , 0 , 0 },
224 /* C8 * */ { 0 , 0 , 0 , 0 },
225 /* C9 * */ { 0 , 0 , 0 , 0 },
226 /* CA * */ { 0 , 0 , 0 , 0 },
227 /* CB * */ { 0 , 0 , 0 , 0 },
228 /* CC * */ { 0 , 0 , 0 , 0 },
229 /* CD * */ { 0 , 0 , 0 , 0 },
230 /* CE * */ { 0 , 0 , 0 , 0 },
231 /* CF * */ { 0 , 0 , 0 , 0 },
232 /* D0 * */ { 0 , 0 , 0 , 0 },
233 /* D1 * */ { 0 , 0 , 0 , 0 },
234 /* D2 * */ { 0 , 0 , 0 , 0 },
235 /* D3 * */ { 0 , 0 , 0 , 0 },
236 /* D4 * */ { 0 , 0 , 0 , 0 },
237 /* D5 * */ { 0 , 0 , 0 , 0 },
238 /* D6 * */ { 0 , 0 , 0 , 0 },
239 /* D7 * */ { 0 , 0 , 0 , 0 },
240 /* D8 * */ { 0 , 0 , 0 , 0 },
241 /* D9 * */ { 0 , 0 , 0 , 0 },
242 /* DA * */ { 0 , 0 , 0 , 0 },
243 /* DB * */ { 0 , 0 , 0 , 0 },
244 /* DC * */ { 0 , 0 , 0 , 0 },
245 /* DD * */ { 0 , 0 , 0 , 0 },
246 /* DE * */ { 0 , 0 , 0 , 0 },
247 /* DF * */ { 0 , 0 , 0 , 0 },
248 /* E0 * */ { 0 , 0 , 0 , 0 },
249 /* E1 * */ { 0 , 0 , 0 , 0 },
250 /* E2 * */ { 0 , 0 , 0 , 0 },
251 /* E3 * */ { 0 , 0 , 0 , 0 },
252 /* E4 * */ { 0 , 0 , 0 , 0 },
253 /* E5 * */ { 0 , 0 , 0 , 0 },
254 /* E6 * */ { 0 , 0 , 0 , 0 },
255 /* E7 * */ { 0 , 0 , 0 , 0 },
256 /* E8 * */ { 0 , 0 , 0 , 0 },
257 /* E9 * */ { 0 , 0 , 0 , 0 },
258 /* EA * */ { 0 , 0 , 0 , 0 },
259 /* EB * */ { 0 , 0 , 0 , 0 },
260 /* EC * */ { 0 , 0 , 0 , 0 },
261 /* ED * */ { 0 , 0 , 0 , 0 },
262 /* EE * */ { 0 , 0 , 0 , 0 },
263 /* EF * */ { 0 , 0 , 0 , 0 },
264 /* F0 * */ { 0 , 0 , 0 , 0 },
265 /* F1 * */ { 0 , 0 , 0 , 0 },
266 /* F2 * */ { 0 , 0 , 0 , 0 },
267 /* F3 * */ { 0 , 0 , 0 , 0 },
268 /* F4 * */ { 0 , 0 , 0 , 0 },
269 /* F5 * */ { 0 , 0 , 0 , 0 },
270 /* F6 * */ { 0 , 0 , 0 , 0 },
271 /* F7 * */ { 0 , 0 , 0 , 0 },
272 /* F8 * */ { 0 , 0 , 0 , 0 },
273 /* F9 * */ { 0 , 0 , 0 , 0 },
274 /* FA * */ { 0 , 0 , 0 , 0 },
275 /* FB * */ { 0 , 0 , 0 , 0 },
276 /* FC * */ { 0 , 0 , 0 , 0 },
277 /* FD * */ { 0 , 0 , 0 , 0 },
278 /* FE * */ { 0 , 0 , 0 , 0 },
279 /* FF * */ { 0 , 0 , 0 , 0 }
283 int main() {
284 printf("meinOS-KL[<name>* ]"); // * <name> is a short name of the keyboard layout in lowercase letters
285 fwrite(keyboard_layout,1,sizeof(keyboard_layout),stdout);
286 return 0;