summaryrefslogtreecommitdiff
path: root/share/zkb/latin1.xml
Unidiff
Diffstat (limited to 'share/zkb/latin1.xml') (more/less context) (ignore whitespace changes)
-rw-r--r--share/zkb/latin1.xml1927
1 files changed, 1927 insertions, 0 deletions
diff --git a/share/zkb/latin1.xml b/share/zkb/latin1.xml
new file mode 100644
index 0000000..ec57746
--- a/dev/null
+++ b/share/zkb/latin1.xml
@@ -0,0 +1,1927 @@
1<keymap>
2
3<!--
4Zaurus Keyboard definition for Latin1 characters.
5================================================
6This keyboard should allow the entry of all characters used in latin
7languages like French or Spanish.
8
9The following rules are implemented:
10- Right Shift activate dead keys that allows to compose accentuated characters.
11- Keep Right Shift or press Left Shift to change case of letter
12- Space can be used to abort a key composition and return to Normal state, printing
13the accent.
14
15- Keys not defined are inherited from parent mapping.
16
17Key composition
18===============
19Use the Right Shift with one of the following keys to compose accentuated
20characters.
21 Key Action (Mnemonic)
22 / Accute accent (same slant)
23 ' Grave accent (no backslash!)
24 , Cedilla (a comma under the C)
25 V Circumflex accent (reversed circumflex)
26 J Ligature (Join letters)
27 B Trema (Near circumflex)
28 N Tilde (Same shape on N) ******* Bound to M due to a bug in the definition!
29 I Inversed (Inversed !)
30
31All accents are in the same area, around Space bar.
32
33
34Keyboard navigation (not implemented yet)
35===================
36To be put into common.xml. Use either Right of Left Shift:
37 <-Home
38 ->End
39 ^PageUp
40 vPageDown
41
42
43Report bugs or comments to Pierre Métras <admin@alterna.tv>
44Version 0.1 - 20020901
45-->
46
47<!-- The base is English mapping -->
48<include file="en.xml"/>
49
50
51<state name="RShift-Accute" parent="RShift"/>
52<state name="RShift-Accute-Lower" parent="Normal"/>
53<state name="RShift-Caps-Accute" parent="Caps"/>
54<state name="RShift-Caps-Accute-Upper" parent="RShift-Caps"/>
55
56<state name="RShift-Grave" parent="RShift"/>
57<state name="RShift-Grave-Lower" parent="Normal"/>
58<state name="RShift-Caps-Grave" parent="Caps"/>
59<state name="RShift-Caps-Grave-Upper" parent="RShift-Caps"/>
60
61<state name="RShift-Circumflex" parent="RShift"/>
62<state name="RShift-Circumflex-Lower" parent="Normal"/>
63<state name="RShift-Caps-Circumflex" parent="Caps"/>
64<state name="RShift-Caps-Circumflex-Upper" parent="RShift-Caps"/>
65
66<state name="RShift-Cedilla" parent="RShift"/>
67<state name="RShift-Cedilla-Lower" parent="Normal"/>
68<state name="RShift-Caps-Cedilla" parent="Caps"/>
69<state name="RShift-Caps-Cedilla-Upper" parent="RShift-Caps"/>
70
71<state name="RShift-Ligature" parent="RShift"/>
72<state name="RShift-Ligature-Lower" parent="Normal"/>
73<state name="RShift-Caps-Ligature" parent="Caps"/>
74<state name="RShift-Caps-Ligature-Upper" parent="RShift-Caps"/>
75
76<state name="RShift-Trema" parent="RShift"/>
77<state name="RShift-Trema-Lower" parent="Normal"/>
78<state name="RShift-Caps-Trema" parent="Caps"/>
79<state name="RShift-Caps-Trema-Upper" parent="RShift-Caps"/>
80
81<state name="RShift-Tilde" parent="RShift"/>
82<state name="RShift-Tilde-Lower" parent="Normal"/>
83<state name="RShift-Caps-Tilde" parent="Caps"/>
84<state name="RShift-Caps-Tilde-Upper" parent="RShift-Caps"/>
85
86<state name="RShift-Inversed" parent="RShift"/>
87<state name="RShift-Caps-Inversed" parent="Caps"/>
88
89
90
91<!-- TO BE PLACED INTO COMMON -->
92<!-- START: EXTENDED KEY NAVIGATION -->
93<state name="LShift">
94 <map keycode="Left" pressed="true">
95 <event keycode="Home" unicode="-1" pressed="true" autorepeat="true"/>
96 </map>
97 <map keycode="Left" pressed="false">
98 <event keycode="Home" unicode="-1" pressed="false"/>
99 </map>
100
101 <map keycode="Up" pressed="true">
102 <event keycode="PageUp" unicode="-1" pressed="true" autorepeat="true"/>
103 </map>
104 <map keycode="Up" pressed="false">
105 <event keycode="PageUp" unicode="-1" pressed="false"/>
106 </map>
107
108 <map keycode="Right" pressed="true">
109 <event keycode="End" unicode="-1" pressed="true" autorepeat="true"/>
110 </map>
111 <map keycode="Right" pressed="false">
112 <event keycode="End" unicode="-1" pressed="false"/>
113 </map>
114
115 <map keycode="Down" pressed="true">
116 <event keycode="PageDown" unicode="-1" pressed="true" autorepeat="true"/>
117 </map>
118 <map keycode="Down" pressed="false">
119 <event keycode="PageDown" unicode="-1" pressed="false"/>
120 </map>
121</state>
122<state name="RShift">
123 <map keycode="Left" pressed="true">
124 <event keycode="Home" unicode="-1" pressed="true" autorepeat="true"/>
125 </map>
126 <map keycode="Left" pressed="false">
127 <event keycode="Home" unicode="-1" pressed="false"/>
128 </map>
129
130 <map keycode="Up" pressed="true">
131 <event keycode="PageUp" unicode="-1" pressed="true" autorepeat="true"/>
132 </map>
133 <map keycode="Up" pressed="false">
134 <event keycode="PageUp" unicode="-1" pressed="false"/>
135 </map>
136
137 <map keycode="Right" pressed="true">
138 <event keycode="End" unicode="-1" pressed="true" autorepeat="true"/>
139 </map>
140 <map keycode="Right" pressed="false">
141 <event keycode="End" unicode="-1" pressed="false"/>
142 </map>
143
144 <map keycode="Down" pressed="true">
145 <event keycode="PageDown" unicode="-1" pressed="true" autorepeat="true"/>
146 </map>
147 <map keycode="Down" pressed="false">
148 <event keycode="PageDown" unicode="-1" pressed="false"/>
149 </map>
150</state>
151<!-- END: EXTENDED KEY NAVIGATION -->
152
153
154
155<!-- RShift activate dead keys -->
156<state name="RShift">
157 <map keycode="Slash" pressed="true">
158 <next-state name="RShift-Accute"/>
159 </map>
160 <map keycode="Apostrophe" pressed="true">
161 <next-state name="RShift-Grave"/>
162 </map>
163 <map keycode="Comma" pressed="true">
164 <next-state name="RShift-Cedilla"/>
165 </map>
166 <map keycode="J" pressed="true">
167 <next-state name="RShift-Ligature"/>
168 </map>
169 <map keycode="V" pressed="true">
170 <next-state name="RShift-Circumflex"/>
171 </map>
172 <map keycode="B" pressed="true">
173 <next-state name="RShift-Trema"/>
174 </map>
175 <map keycode="M" pressed="true">
176 <next-state name="RShift-Tilde"/>
177 </map>
178 <map keycode="I" pressed="true">
179 <next-state name="RShift-Inversed"/>
180 </map>
181</state>
182
183
184<!-- RShift activate dead keys in CAPS mode -->
185<state name="RShift-Caps">
186 <map keycode="Slash" pressed="true">
187 <next-state name="RShift-Caps-Accute"/>
188 </map>
189 <map keycode="Apostrophe" pressed="true">
190 <next-state name="RShift-Caps-Grave"/>
191 </map>
192 <map keycode="Comma" pressed="true">
193 <next-state name="RShift-Caps-Cedilla"/>
194 </map>
195 <map keycode="J" pressed="true">
196 <next-state name="RShift-Caps-Ligature"/>
197 </map>
198 <map keycode="V" pressed="true">
199 <next-state name="RShift-Caps-Circumflex"/>
200 </map>
201 <map keycode="B" pressed="true">
202 <next-state name="RShift-Caps-Trema"/>
203 </map>
204 <map keycode="M" pressed="true">
205 <next-state name="RShift-Caps-Tilde"/>
206 </map>
207 <map keycode="I" pressed="true">
208 <next-state name="RShift-Caps-Inversed"/>
209 </map>
210</state>
211
212
213<!-- Accute Accentuated Upper-Case Characters: Á, É... because we still press Shift -->
214<state name="RShift-Accute">
215 <!-- RS + (/) + A = Á -->
216 <map keycode="A" pressed="true">
217 <event keycode="A" unicode="0xC1" pressed="true" modifiers="Shift" autorepeat="true"/>
218 </map>
219 <map keycode="A" pressed="false">
220 <event keycode="A" unicode="0xC1" pressed="false" modifiers="Shift"/>
221 <next-state name="Normal"/>
222 </map>
223
224 <!-- RS + (/) + E = É -->
225 <map keycode="E" pressed="true">
226 <event keycode="E" unicode="0xC9" pressed="true" modifiers="Shift" autorepeat="true"/>
227 </map>
228 <map keycode="E" pressed="false">
229 <event keycode="E" unicode="0xC9" pressed="false" modifiers="Shift"/>
230 <next-state name="Normal"/>
231 </map>
232
233 <!-- RS + (/) + I = Í -->
234 <map keycode="I" pressed="true">
235 <event keycode="I" unicode="0xCD" pressed="true" modifiers="Shift" autorepeat="true"/>
236 </map>
237 <map keycode="I" pressed="false">
238 <event keycode="I" unicode="0xCD" pressed="false" modifiers="Shift"/>
239 <next-state name="Normal"/>
240 </map>
241
242 <!-- RS + (/) + O = Ó -->
243 <map keycode="O" pressed="true">
244 <event keycode="O" unicode="0xD3" pressed="true" modifiers="Shift" autorepeat="true"/>
245 </map>
246 <map keycode="O" pressed="false">
247 <event keycode="O" unicode="0xD3" pressed="false" modifiers="Shift"/>
248 <next-state name="Normal"/>
249 </map>
250
251 <!-- RS + (/) + U = Ú -->
252 <map keycode="U" pressed="true">
253 <event keycode="U" unicode="0xDA" pressed="true" modifiers="Shift" autorepeat="true"/>
254 </map>
255 <map keycode="U" pressed="false">
256 <event keycode="U" unicode="0xDA" pressed="false" modifiers="Shift"/>
257 <next-state name="Normal"/>
258 </map>
259
260 <!-- RS + (/) + Y = Ý -->
261 <map keycode="Y" pressed="true">
262 <event keycode="Y" unicode="0xDD" pressed="true" modifiers="Shift" autorepeat="true"/>
263 </map>
264 <map keycode="Y" pressed="false">
265 <event keycode="Y" unicode="0xDD" pressed="false" modifiers="Shift"/>
266 <next-state name="Normal"/>
267 </map>
268
269 <!-- Release shift to do lower-case -->
270 <map keycode="Right Shift" pressed="false">
271 <next-state name="RShift-Accute-Lower"/>
272 </map>
273 <map keycode="Left Shift" pressed="false">
274 <event keycode="Shift" unicode="-1" pressed="false"/>
275 <next-state name="RShift-Accute-Lower"/>
276 </map>
277
278 <!-- Abort operation: print ´ -->
279 <map keycode="Space" pressed="true">
280 <event keycode="Slash" unicode="0xB4" pressed="true" autorepeat="false"/>
281 </map>
282 <map keycode="Space" pressed="false">
283 <event keycode="Slash" unicode="0xB4" pressed="false"/>
284 <next-state name="Normal"/>
285 </map>
286</state>
287
288
289<!-- Accute Accentuated Lower-Case Characters: á, é... because we have released RShift -->
290<state name="RShift-Accute-Lower">
291 <!-- RS + (/) + A = á -->
292 <map keycode="A" pressed="true">
293 <event keycode="A" unicode="0xE1" pressed="true" autorepeat="true"/>
294 </map>
295 <map keycode="A" pressed="false">
296 <event keycode="A" unicode="0xE1" pressed="false"/>
297 <next-state name="Normal"/>
298 </map>
299
300 <!-- RS + (/) + E = é -->
301 <map keycode="E" pressed="true">
302 <event keycode="E" unicode="0xE9" pressed="true" autorepeat="true"/>
303 </map>
304 <map keycode="E" pressed="false">
305 <event keycode="E" unicode="0xE9" pressed="false"/>
306 <next-state name="Normal"/>
307 </map>
308
309 <!-- RS + (/) + I = í -->
310 <map keycode="I" pressed="true">
311 <event keycode="I" unicode="0xED" pressed="true" autorepeat="true"/>
312 </map>
313 <map keycode="I" pressed="false">
314 <event keycode="I" unicode="0xED" pressed="false"/>
315 <next-state name="Normal"/>
316 </map>
317
318 <!-- RS + (/) + O = ó -->
319 <map keycode="O" pressed="true">
320 <event keycode="O" unicode="0xF3" pressed="true" autorepeat="true"/>
321 </map>
322 <map keycode="O" pressed="false">
323 <event keycode="O" unicode="0xF3" pressed="false"/>
324 <next-state name="Normal"/>
325 </map>
326
327 <!-- RS + (/) + U = ú -->
328 <map keycode="U" pressed="true">
329 <event keycode="U" unicode="0xFA" pressed="true" autorepeat="true"/>
330 </map>
331 <map keycode="U" pressed="false">
332 <event keycode="U" unicode="0xFA" pressed="false"/>
333 <next-state name="Normal"/>
334 </map>
335
336 <!-- RS + (/) + Y = ý -->
337 <map keycode="Y" pressed="true">
338 <event keycode="Y" unicode="0xFD" pressed="true" autorepeat="true"/>
339 </map>
340 <map keycode="Y" pressed="false">
341 <event keycode="Y" unicode="0xFD" pressed="false"/>
342 <next-state name="Normal"/>
343 </map>
344
345 <!-- Simple shift second time goes Upper-Case -->
346 <map keycode="Right Shift" pressed="true">
347 <next-state name="RShift-Accute"/>
348 </map>
349 <map keycode="Left Shift" pressed="true">
350 <event keycode="Shift" unicode="-1" pressed="true" modifiers="Shift"/>
351 <next-state name="RShift-Accute"/>
352 </map>
353
354 <!-- Abort operation: print ´ -->
355 <map keycode="Space" pressed="true">
356 <event keycode="Slash" unicode="0xB4" pressed="true" autorepeat="false"/>
357 </map>
358 <map keycode="Space" pressed="false">
359 <event keycode="Slash" unicode="0xB4" pressed="false"/>
360 <next-state name="Normal"/>
361 </map>
362</state>
363
364
365<!-- Accute Accentuated Lower-Case Characters: á, é... because we still press Shift and we are in Caps -->
366<state name="RShift-Caps-Accute">
367 <!-- Caps + RS + (/) + A = á -->
368 <map keycode="A" pressed="true">
369 <event keycode="A" unicode="0xE1" pressed="true" autorepeat="true"/>
370 </map>
371 <map keycode="A" pressed="false">
372 <event keycode="A" unicode="0xE1" pressed="false"/>
373 <next-state name="Caps"/>
374 </map>
375
376 <!-- Caps + RS + (/) + E = é -->
377 <map keycode="E" pressed="true">
378 <event keycode="E" unicode="0xE9" pressed="true" autorepeat="true"/>
379 </map>
380 <map keycode="E" pressed="false">
381 <event keycode="E" unicode="0xE9" pressed="false"/>
382 <next-state name="Caps"/>
383 </map>
384
385 <!-- Caps + RS + (/) + I = í -->
386 <map keycode="I" pressed="true">
387 <event keycode="I" unicode="0xED" pressed="true" autorepeat="true"/>
388 </map>
389 <map keycode="I" pressed="false">
390 <event keycode="I" unicode="0xED" pressed="false"/>
391 <next-state name="Caps"/>
392 </map>
393
394 <!-- Caps + RS + (/) + O = ó -->
395 <map keycode="O" pressed="true">
396 <event keycode="O" unicode="0xF3" pressed="true" autorepeat="true"/>
397 </map>
398 <map keycode="O" pressed="false">
399 <event keycode="O" unicode="0xF3" pressed="false"/>
400 <next-state name="Caps"/>
401 </map>
402
403 <!-- Caps + RS + (/) + U = ú -->
404 <map keycode="U" pressed="true">
405 <event keycode="U" unicode="0xFA" pressed="true" autorepeat="true"/>
406 </map>
407 <map keycode="U" pressed="false">
408 <event keycode="U" unicode="0xFA" pressed="false"/>
409 <next-state name="Caps"/>
410 </map>
411
412 <!-- Caps + RS + (/) + Y = ý -->
413 <map keycode="Y" pressed="true">
414 <event keycode="Y" unicode="0xFD" pressed="true" autorepeat="true"/>
415 </map>
416 <map keycode="Y" pressed="false">
417 <event keycode="Y" unicode="0xFD" pressed="false"/>
418 <next-state name="Caps"/>
419 </map>
420
421 <!-- Release shift to go upper-case -->
422 <map keycode="Right Shift" pressed="false">
423 <next-state name="RShift-Caps-Accute-Upper"/>
424 </map>
425 <map keycode="Left Shift" pressed="false">
426 <event keycode="Shift" unicode="-1" pressed="false"/>
427 <next-state name="RShift-Caps-Accute-Upper"/>
428 </map>
429
430 <!-- Abort operation: print ´ -->
431 <map keycode="Space" pressed="true">
432 <event keycode="Slash" unicode="0xB4" pressed="true" autorepeat="false"/>
433 </map>
434 <map keycode="Space" pressed="false">
435 <event keycode="Slash" unicode="0xB4" pressed="false"/>
436 <next-state name="Caps"/>
437 </map>
438</state>
439
440
441<!-- Accute Accentuated Upper-Case Characters: Á, É... because we have released RShift but we are in Caps -->
442<state name="RShift-Caps-Accute-Upper">
443 <!-- Caps + RS + (/) + A = Á -->
444 <map keycode="A" pressed="true">
445 <event keycode="A" unicode="0xC1" pressed="true" modifiers="Shift" autorepeat="true"/>
446 </map>
447 <map keycode="A" pressed="false">
448 <event keycode="A" unicode="0xC1" pressed="false" modifiers="Shift"/>
449 <next-state name="Caps"/>
450 </map>
451
452 <!-- Caps + RS + (/) + E = É -->
453 <map keycode="E" pressed="true">
454 <event keycode="E" unicode="0xC9" pressed="true" modifiers="Shift" autorepeat="true"/>
455 </map>
456 <map keycode="E" pressed="false">
457 <event keycode="E" unicode="0xC9" pressed="false" modifiers="Shift"/>
458 <next-state name="Caps"/>
459 </map>
460
461 <!-- Caps + RS + (/) + I = Í -->
462 <map keycode="I" pressed="true">
463 <event keycode="I" unicode="0xCD" pressed="true" modifiers="Shift" autorepeat="true"/>
464 </map>
465 <map keycode="I" pressed="false">
466 <event keycode="I" unicode="0xCD" pressed="false" modifiers="Shift"/>
467 <next-state name="Caps"/>
468 </map>
469
470 <!-- Caps + RS + (/) + O = Ó -->
471 <map keycode="O" pressed="true">
472 <event keycode="O" unicode="0xD3" pressed="true" modifiers="Shift" autorepeat="true"/>
473 </map>
474 <map keycode="O" pressed="false">
475 <event keycode="O" unicode="0xD3" pressed="false" modifiers="Shift"/>
476 <next-state name="Caps"/>
477 </map>
478
479 <!-- Caps + RS + (/) + U = Ú -->
480 <map keycode="U" pressed="true">
481 <event keycode="U" unicode="0xDA" pressed="true" modifiers="Shift" autorepeat="true"/>
482 </map>
483 <map keycode="U" pressed="false">
484 <event keycode="U" unicode="0xDA" pressed="false" modifiers="Shift"/>
485 <next-state name="Caps"/>
486 </map>
487
488 <!-- Caps + RS + (/) + Y = Ý -->
489 <map keycode="Y" pressed="true">
490 <event keycode="Y" unicode="0xDD" pressed="true" modifiers="Shift" autorepeat="true"/>
491 </map>
492 <map keycode="Y" pressed="false">
493 <event keycode="Y" unicode="0xDD" pressed="false" modifiers="Shift"/>
494 <next-state name="Caps"/>
495 </map>
496
497 <!-- Simple shift second time goes Lower-Case -->
498 <map keycode="Right Shift" pressed="true">
499 <next-state name="RShift-Caps-Accute"/>
500 </map>
501 <map keycode="Left Shift" pressed="true">
502 <event keycode="Shift" unicode="-1" pressed="true" modifiers="Shift"/>
503 <next-state name="RShift-Caps-Accute"/>
504 </map>
505
506 <!-- Abort operation: print ´ -->
507 <map keycode="Space" pressed="true">
508 <event keycode="Slash" unicode="0xB4" pressed="true" autorepeat="false"/>
509 </map>
510 <map keycode="Space" pressed="false">
511 <event keycode="Slash" unicode="0xB4" pressed="false"/>
512 <next-state name="Caps"/>
513 </map>
514</state>
515
516
517
518
519<!-- Grave Accentuated Upper-Case Characters: À, È, Ì... because we still press Shift -->
520<state name="RShift-Grave">
521 <!-- RS + (') + A = À -->
522 <map keycode="A" pressed="true">
523 <event keycode="A" unicode="0xC0" pressed="true" modifiers="Shift" autorepeat="true"/>
524 </map>
525 <map keycode="A" pressed="false">
526 <event keycode="A" unicode="0xC0" pressed="false" modifiers="Shift"/>
527 <next-state name="Normal"/>
528 </map>
529
530 <!-- RS + (') + E = È -->
531 <map keycode="E" pressed="true">
532 <event keycode="E" unicode="0xC8" pressed="true" modifiers="Shift" autorepeat="true"/>
533 </map>
534 <map keycode="E" pressed="false">
535 <event keycode="E" unicode="0xC8" pressed="false" modifiers="Shift"/>
536 <next-state name="Normal"/>
537 </map>
538
539 <!-- RS + (') + I = Ì -->
540 <map keycode="I" pressed="true">
541 <event keycode="I" unicode="0xCC" pressed="true" modifiers="Shift" autorepeat="true"/>
542 </map>
543 <map keycode="I" pressed="false">
544 <event keycode="I" unicode="0xCC" pressed="false" modifiers="Shift"/>
545 <next-state name="Normal"/>
546 </map>
547
548 <!-- RS + (') + O = Ò -->
549 <map keycode="O" pressed="true">
550 <event keycode="O" unicode="0xD2" pressed="true" modifiers="Shift" autorepeat="true"/>
551 </map>
552 <map keycode="O" pressed="false">
553 <event keycode="O" unicode="0xD2" pressed="false" modifiers="Shift"/>
554 <next-state name="Normal"/>
555 </map>
556
557 <!-- RS + (') + U = Ù -->
558 <map keycode="U" pressed="true">
559 <event keycode="U" unicode="0xD9" pressed="true" modifiers="Shift" autorepeat="true"/>
560 </map>
561 <map keycode="U" pressed="false">
562 <event keycode="U" unicode="0xD9" pressed="false" modifiers="Shift"/>
563 <next-state name="Normal"/>
564 </map>
565
566 <!-- Release shift to do lower-case -->
567 <map keycode="Right Shift" pressed="false">
568 <next-state name="RShift-Grave-Lower"/>
569 </map>
570 <map keycode="Left Shift" pressed="false">
571 <event keycode="Shift" unicode="-1" pressed="false"/>
572 <next-state name="RShift-Grave-Lower"/>
573 </map>
574
575 <!-- Abort operation: print ` -->
576 <map keycode="Space" pressed="true">
577 <event keycode="Apostrophe" unicode="0x60" pressed="true" autorepeat="false"/>
578 </map>
579 <map keycode="Space" pressed="false">
580 <event keycode="Apostrophe" unicode="0x60" pressed="false"/>
581 <next-state name="Normal"/>
582 </map>
583</state>
584
585
586<!-- Grave Accentuated Lower-Case Characters: à, è, ì... because we have released RShift -->
587<state name="RShift-Grave-Lower">
588 <!-- RS + (') + A = à -->
589 <map keycode="A" pressed="true">
590 <event keycode="A" unicode="0xE0" pressed="true" autorepeat="true"/>
591 </map>
592 <map keycode="A" pressed="false">
593 <event keycode="A" unicode="0xE0" pressed="false"/>
594 <next-state name="Normal"/>
595 </map>
596
597 <!-- RS + (') + E = è -->
598 <map keycode="E" pressed="true">
599 <event keycode="E" unicode="0xE8" pressed="true" autorepeat="true"/>
600 </map>
601 <map keycode="E" pressed="false">
602 <event keycode="E" unicode="0xE8" pressed="false"/>
603 <next-state name="Normal"/>
604 </map>
605
606 <!-- RS + (') + I = ì -->
607 <map keycode="I" pressed="true">
608 <event keycode="I" unicode="0xEC" pressed="true" autorepeat="true"/>
609 </map>
610 <map keycode="I" pressed="false">
611 <event keycode="I" unicode="0xEC" pressed="false"/>
612 <next-state name="Normal"/>
613 </map>
614
615 <!-- RS + (') + O = ò -->
616 <map keycode="O" pressed="true">
617 <event keycode="O" unicode="0xF2" pressed="true" autorepeat="true"/>
618 </map>
619 <map keycode="O" pressed="false">
620 <event keycode="O" unicode="0xF2" pressed="false"/>
621 <next-state name="Normal"/>
622 </map>
623
624 <!-- RS + (') + U = ù -->
625 <map keycode="U" pressed="true">
626 <event keycode="U" unicode="0xF9" pressed="true" autorepeat="true"/>
627 </map>
628 <map keycode="U" pressed="false">
629 <event keycode="U" unicode="0xF9" pressed="false"/>
630 <next-state name="Normal"/>
631 </map>
632
633 <!-- Simple shift second time goes Upper-Case -->
634 <map keycode="Right Shift" pressed="true">
635 <next-state name="RShift-Grave"/>
636 </map>
637 <map keycode="Left Shift" pressed="true">
638 <event keycode="Shift" unicode="-1" pressed="true" modifiers="Shift"/>
639 <next-state name="RShift-Grave"/>
640 </map>
641
642 <!-- Abort operation: print ` -->
643 <map keycode="Space" pressed="true">
644 <event keycode="Apostrophe" unicode="0x60" pressed="true" autorepeat="false"/>
645 </map>
646 <map keycode="Space" pressed="false">
647 <event keycode="Apostrophe" unicode="0x60" pressed="false"/>
648 <next-state name="Normal"/>
649 </map>
650</state>
651
652
653<!-- Grave Accentuated Lower-Case Characters: à, è... because we still press Shift and we are in Caps -->
654<state name="RShift-Caps-Grave">
655 <!-- Caps + RS + (') + A = à -->
656 <map keycode="A" pressed="true">
657 <event keycode="A" unicode="0xE0" pressed="true" autorepeat="true"/>
658 </map>
659 <map keycode="A" pressed="false">
660 <event keycode="A" unicode="0xE0" pressed="false"/>
661 <next-state name="Caps"/>
662 </map>
663
664 <!-- Caps + RS + (') + E = è -->
665 <map keycode="E" pressed="true">
666 <event keycode="E" unicode="0xE8" pressed="true" autorepeat="true"/>
667 </map>
668 <map keycode="E" pressed="false">
669 <event keycode="E" unicode="0xE8" pressed="false"/>
670 <next-state name="Caps"/>
671 </map>
672
673 <!-- Caps + RS + (') + I = ì -->
674 <map keycode="I" pressed="true">
675 <event keycode="I" unicode="0xEC" pressed="true" autorepeat="true"/>
676 </map>
677 <map keycode="I" pressed="false">
678 <event keycode="I" unicode="0xEC" pressed="false"/>
679 <next-state name="Caps"/>
680 </map>
681
682 <!-- Caps + RS + (') + O = ò -->
683 <map keycode="O" pressed="true">
684 <event keycode="O" unicode="0xF2" pressed="true" autorepeat="true"/>
685 </map>
686 <map keycode="O" pressed="false">
687 <event keycode="O" unicode="0xF2" pressed="false"/>
688 <next-state name="Caps"/>
689 </map>
690
691 <!-- Caps + RS + (') + U = ú -->
692 <map keycode="U" pressed="true">
693 <event keycode="U" unicode="0xF9" pressed="true" autorepeat="true"/>
694 </map>
695 <map keycode="U" pressed="false">
696 <event keycode="U" unicode="0xF9" pressed="false"/>
697 <next-state name="Caps"/>
698 </map>
699
700 <!-- Release shift to go upper-case -->
701 <map keycode="Right Shift" pressed="false">
702 <next-state name="RShift-Caps-Grave-Upper"/>
703 </map>
704 <map keycode="Left Shift" pressed="false">
705 <event keycode="Shift" unicode="-1" pressed="false"/>
706 <next-state name="RShift-Caps-Grave-Upper"/>
707 </map>
708
709 <!-- Abort operation: print ` -->
710 <map keycode="Space" pressed="true">
711 <event keycode="Apostrophe" unicode="0x60" pressed="true" autorepeat="false"/>
712 </map>
713 <map keycode="Space" pressed="false">
714 <event keycode="Apostrophe" unicode="0x60" pressed="false"/>
715 <next-state name="Caps"/>
716 </map>
717</state>
718
719
720<!-- Grave Accentuated Upper-Case Characters: À, È, Ì... because we have released RShift and we are in Caps -->
721<state name="RShift-Caps-Grave-Upper">
722 <!-- Caps + RS + (') + A = À -->
723 <map keycode="A" pressed="true">
724 <event keycode="A" unicode="0xC0" pressed="true" modifiers="Shift" autorepeat="true"/>
725 </map>
726 <map keycode="A" pressed="false">
727 <event keycode="A" unicode="0xC0" pressed="false" modifiers="Shift"/>
728 <next-state name="Caps"/>
729 </map>
730
731 <!-- Caps + RS + (') + E = È -->
732 <map keycode="E" pressed="true">
733 <event keycode="E" unicode="0xC8" pressed="true" modifiers="Shift" autorepeat="true"/>
734 </map>
735 <map keycode="E" pressed="false">
736 <event keycode="E" unicode="0xC8" pressed="false" modifiers="Shift"/>
737 <next-state name="Caps"/>
738 </map>
739
740 <!-- Caps + RS + (') + I = Ì -->
741 <map keycode="I" pressed="true">
742 <event keycode="I" unicode="0xCC" pressed="true" modifiers="Shift" autorepeat="true"/>
743 </map>
744 <map keycode="I" pressed="false">
745 <event keycode="I" unicode="0xCC" pressed="false" modifiers="Shift"/>
746 <next-state name="Caps"/>
747 </map>
748
749 <!-- Caps + RS + (') + O = Ò -->
750 <map keycode="O" pressed="true">
751 <event keycode="O" unicode="0xD2" pressed="true" modifiers="Shift" autorepeat="true"/>
752 </map>
753 <map keycode="O" pressed="false">
754 <event keycode="O" unicode="0xD2" pressed="false" modifiers="Shift"/>
755 <next-state name="Caps"/>
756 </map>
757
758 <!-- Caps + RS + (') + U = Ù -->
759 <map keycode="U" pressed="true">
760 <event keycode="U" unicode="0xD9" pressed="true" modifiers="Shift" autorepeat="true"/>
761 </map>
762 <map keycode="U" pressed="false">
763 <event keycode="U" unicode="0xD9" pressed="false" modifiers="Shift"/>
764 <next-state name="Caps"/>
765 </map>
766
767 <!-- Simple shift second time goes Lower-Case -->
768 <map keycode="Right Shift" pressed="true">
769 <next-state name="RShift-Caps-Grave"/>
770 </map>
771 <map keycode="Left Shift" pressed="true">
772 <event keycode="Shift" unicode="-1" pressed="true" modifiers="Shift"/>
773 <next-state name="RShift-Caps-Grave"/>
774 </map>
775
776 <!-- Abort operation: print ` -->
777 <map keycode="Space" pressed="true">
778 <event keycode="Apostrophe" unicode="0x60" pressed="true" autorepeat="false"/>
779 </map>
780 <map keycode="Space" pressed="false">
781 <event keycode="Apostrophe" unicode="0x60" pressed="false"/>
782 <next-state name="Caps"/>
783 </map>
784</state>
785
786
787
788
789<!-- Circumflex Accentuated Upper-Case Characters: Â, Ê, Î... because we still press Shift -->
790<state name="RShift-Circumflex">
791 <!-- RS + (V) + A = Â -->
792 <map keycode="A" pressed="true">
793 <event keycode="A" unicode="0xC2" pressed="true" modifiers="Shift" autorepeat="true"/>
794 </map>
795 <map keycode="A" pressed="false">
796 <event keycode="A" unicode="0xC2" pressed="false" modifiers="Shift"/>
797 <next-state name="Normal"/>
798 </map>
799
800 <!-- RS + (V) + E = Ê -->
801 <map keycode="E" pressed="true">
802 <event keycode="E" unicode="0xCA" pressed="true" modifiers="Shift" autorepeat="true"/>
803 </map>
804 <map keycode="E" pressed="false">
805 <event keycode="E" unicode="0xCA" pressed="false" modifiers="Shift"/>
806 <next-state name="Normal"/>
807 </map>
808
809 <!-- RS + (V) + I = Î -->
810 <map keycode="I" pressed="true">
811 <event keycode="I" unicode="0xCE" pressed="true" modifiers="Shift" autorepeat="true"/>
812 </map>
813 <map keycode="I" pressed="false">
814 <event keycode="I" unicode="0xCE" pressed="false" modifiers="Shift"/>
815 <next-state name="Normal"/>
816 </map>
817
818 <!-- RS + (V) + O = Ô -->
819 <map keycode="O" pressed="true">
820 <event keycode="O" unicode="0xD4" pressed="true" modifiers="Shift" autorepeat="true"/>
821 </map>
822 <map keycode="O" pressed="false">
823 <event keycode="O" unicode="0xD4" pressed="false" modifiers="Shift"/>
824 <next-state name="Normal"/>
825 </map>
826
827 <!-- RS + (V) + U = Û -->
828 <map keycode="U" pressed="true">
829 <event keycode="U" unicode="0xDB" pressed="true" modifiers="Shift" autorepeat="true"/>
830 </map>
831 <map keycode="U" pressed="false">
832 <event keycode="U" unicode="0xDB" pressed="false" modifiers="Shift"/>
833 <next-state name="Normal"/>
834 </map>
835
836 <!-- Release shift to do lower-case -->
837 <map keycode="Right Shift" pressed="false">
838 <next-state name="RShift-Circumflex-Lower"/>
839 </map>
840 <map keycode="Left Shift" pressed="false">
841 <event keycode="Shift" unicode="-1" pressed="false"/>
842 <next-state name="RShift-Circumflex-Lower"/>
843 </map>
844
845 <!-- Abort operation: print ^ -->
846 <map keycode="Space" pressed="true">
847 <event keycode="V" unicode="0x5E" pressed="true" autorepeat="false"/>
848 </map>
849 <map keycode="Space" pressed="false">
850 <event keycode="V" unicode="0x5E" pressed="false"/>
851 <next-state name="Normal"/>
852 </map>
853</state>
854
855
856<!-- Circumflex Accentuated Lower-Case Characters: â, ê, î... because we have released RShift -->
857<state name="RShift-Circumflex-Lower">
858 <!-- RS + (V) + A = â -->
859 <map keycode="A" pressed="true">
860 <event keycode="A" unicode="0xE2" pressed="true" autorepeat="true"/>
861 </map>
862 <map keycode="A" pressed="false">
863 <event keycode="A" unicode="0xE2" pressed="false"/>
864 <next-state name="Normal"/>
865 </map>
866
867 <!-- RS + (V) + E = ê -->
868 <map keycode="E" pressed="true">
869 <event keycode="E" unicode="0xEA" pressed="true" autorepeat="true"/>
870 </map>
871 <map keycode="E" pressed="false">
872 <event keycode="E" unicode="0xEA" pressed="false"/>
873 <next-state name="Normal"/>
874 </map>
875
876 <!-- RS + (V) + I = î -->
877 <map keycode="I" pressed="true">
878 <event keycode="I" unicode="0xEE" pressed="true" autorepeat="true"/>
879 </map>
880 <map keycode="I" pressed="false">
881 <event keycode="I" unicode="0xEE" pressed="false"/>
882 <next-state name="Normal"/>
883 </map>
884
885 <!-- RS + (V) + O = ô -->
886 <map keycode="O" pressed="true">
887 <event keycode="O" unicode="0xF4" pressed="true" autorepeat="true"/>
888 </map>
889 <map keycode="O" pressed="false">
890 <event keycode="O" unicode="0xF4" pressed="false"/>
891 <next-state name="Normal"/>
892 </map>
893
894 <!-- RS + (V) + U = û -->
895 <map keycode="U" pressed="true">
896 <event keycode="U" unicode="0xFB" pressed="true" autorepeat="true"/>
897 </map>
898 <map keycode="U" pressed="false">
899 <event keycode="U" unicode="0xFB" pressed="false"/>
900 <next-state name="Normal"/>
901 </map>
902
903 <!-- Simple shift second time goes Upper-Case -->
904 <map keycode="Right Shift" pressed="true">
905 <next-state name="RShift-Circumflex"/>
906 </map>
907 <map keycode="Left Shift" pressed="true">
908 <event keycode="Shift" unicode="-1" pressed="true" modifiers="Shift"/>
909 <next-state name="RShift-Circumflex"/>
910 </map>
911
912 <!-- Abort operation: print ^ -->
913 <map keycode="Space" pressed="true">
914 <event keycode="V" unicode="0x5E" pressed="true" autorepeat="false"/>
915 </map>
916 <map keycode="Space" pressed="false">
917 <event keycode="V" unicode="0x5E" pressed="false"/>
918 <next-state name="Normal"/>
919 </map>
920</state>
921
922
923<!-- Circumflex Accentuated Lower-Case Characters: â, ê... because we still press Shift and we are in Caps -->
924<state name="RShift-Caps-Circumflex">
925 <!-- Caps + RS + (V) + A = â -->
926 <map keycode="A" pressed="true">
927 <event keycode="A" unicode="0xE2" pressed="true" autorepeat="true"/>
928 </map>
929 <map keycode="A" pressed="false">
930 <event keycode="A" unicode="0xE2" pressed="false"/>
931 <next-state name="Caps"/>
932 </map>
933
934 <!-- Caps + RS + (V) + E = ê -->
935 <map keycode="E" pressed="true">
936 <event keycode="E" unicode="0xEA" pressed="true" autorepeat="true"/>
937 </map>
938 <map keycode="E" pressed="false">
939 <event keycode="E" unicode="0xEA" pressed="false"/>
940 <next-state name="Caps"/>
941 </map>
942
943 <!-- Caps + RS + (V) + I = î -->
944 <map keycode="I" pressed="true">
945 <event keycode="I" unicode="0xEE" pressed="true" autorepeat="true"/>
946 </map>
947 <map keycode="I" pressed="false">
948 <event keycode="I" unicode="0xEE" pressed="false"/>
949 <next-state name="Caps"/>
950 </map>
951
952 <!-- Caps + RS + (V) + O = ô -->
953 <map keycode="O" pressed="true">
954 <event keycode="O" unicode="0xF4" pressed="true" autorepeat="true"/>
955 </map>
956 <map keycode="O" pressed="false">
957 <event keycode="O" unicode="0xF4" pressed="false"/>
958 <next-state name="Caps"/>
959 </map>
960
961 <!-- Caps + RS + (V) + U = û -->
962 <map keycode="U" pressed="true">
963 <event keycode="U" unicode="0xFB" pressed="true" autorepeat="true"/>
964 </map>
965 <map keycode="U" pressed="false">
966 <event keycode="U" unicode="0xFB" pressed="false"/>
967 <next-state name="Caps"/>
968 </map>
969
970 <!-- Release shift to go upper-case -->
971 <map keycode="Right Shift" pressed="false">
972 <next-state name="RShift-Caps-Circumflex-Upper"/>
973 </map>
974 <map keycode="Left Shift" pressed="false">
975 <event keycode="Shift" unicode="-1" pressed="false"/>
976 <next-state name="RShift-Caps-Circumflex-Upper"/>
977 </map>
978
979 <!-- Abort operation: print ^ -->
980 <map keycode="Space" pressed="true">
981 <event keycode="V" unicode="0x5E" pressed="true" autorepeat="false"/>
982 </map>
983 <map keycode="Space" pressed="false">
984 <event keycode="V" unicode="0x5E" pressed="false"/>
985 <next-state name="Caps"/>
986 </map>
987</state>
988
989
990<!-- Circumflex Accentuated Upper-Case Characters: Â, Ê, Î... because we have released RShift and we are in Caps -->
991<state name="RShift-Caps-Circumflex-Upper">
992 <!-- Caps + RS + (V) + A = Â -->
993 <map keycode="A" pressed="true">
994 <event keycode="A" unicode="0xC2" pressed="true" modifiers="Shift" autorepeat="true"/>
995 </map>
996 <map keycode="A" pressed="false">
997 <event keycode="A" unicode="0xC2" pressed="false" modifiers="Shift"/>
998 <next-state name="Caps"/>
999 </map>
1000
1001 <!-- Caps + RS + (V) + E = Ê -->
1002 <map keycode="E" pressed="true">
1003 <event keycode="E" unicode="0xCA" pressed="true" modifiers="Shift" autorepeat="true"/>
1004 </map>
1005 <map keycode="E" pressed="false">
1006 <event keycode="E" unicode="0xCA" pressed="false" modifiers="Shift"/>
1007 <next-state name="Caps"/>
1008 </map>
1009
1010 <!-- Caps + RS + (V) + I = Î -->
1011 <map keycode="I" pressed="true">
1012 <event keycode="I" unicode="0xCE" pressed="true" modifiers="Shift" autorepeat="true"/>
1013 </map>
1014 <map keycode="I" pressed="false">
1015 <event keycode="I" unicode="0xCE" pressed="false" modifiers="Shift"/>
1016 <next-state name="Caps"/>
1017 </map>
1018
1019 <!-- Caps + RS + (V) + O = Ô -->
1020 <map keycode="O" pressed="true">
1021 <event keycode="O" unicode="0xD4" pressed="true" modifiers="Shift" autorepeat="true"/>
1022 </map>
1023 <map keycode="O" pressed="false">
1024 <event keycode="O" unicode="0xD4" pressed="false" modifiers="Shift"/>
1025 <next-state name="Caps"/>
1026 </map>
1027
1028 <!-- Caps + RS + (V) + U = Û -->
1029 <map keycode="U" pressed="true">
1030 <event keycode="U" unicode="0xDB" pressed="true" modifiers="Shift" autorepeat="true"/>
1031 </map>
1032 <map keycode="U" pressed="false">
1033 <event keycode="U" unicode="0xDB" pressed="false" modifiers="Shift"/>
1034 <next-state name="Caps"/>
1035 </map>
1036
1037 <!-- Simple shift second time goes Lower-Case -->
1038 <map keycode="Right Shift" pressed="true">
1039 <next-state name="RShift-Caps-Circumflex"/>
1040 </map>
1041 <map keycode="Left Shift" pressed="true">
1042 <event keycode="Shift" unicode="-1" pressed="true" modifiers="Shift"/>
1043 <next-state name="RShift-Caps-Circumflex"/>
1044 </map>
1045
1046 <!-- Abort operation: print ^ -->
1047 <map keycode="Space" pressed="true">
1048 <event keycode="V" unicode="0x5E" pressed="true" autorepeat="false"/>
1049 </map>
1050 <map keycode="Space" pressed="false">
1051 <event keycode="V" unicode="0x5E" pressed="false"/>
1052 <next-state name="Caps"/>
1053 </map>
1054</state>
1055
1056
1057
1058
1059<!-- Cedilla Upper-Case Characters: Ç... because we still press Shift -->
1060<state name="RShift-Cedilla">
1061 <!-- RS + (,) + C = Ç -->
1062 <map keycode="C" pressed="true">
1063 <event keycode="C" unicode="0xC7" pressed="true" modifiers="Shift" autorepeat="true"/>
1064 </map>
1065 <map keycode="C" pressed="false">
1066 <event keycode="C" unicode="0xC7" pressed="false" modifiers="Shift"/>
1067 <next-state name="Normal"/>
1068 </map>
1069
1070 <!-- Release shift to do lower-case -->
1071 <map keycode="Right Shift" pressed="false">
1072 <next-state name="RShift-Cedilla-Lower"/>
1073 </map>
1074 <map keycode="Left Shift" pressed="false">
1075 <event keycode="Shift" unicode="-1" pressed="false"/>
1076 <next-state name="RShift-Cedilla-Lower"/>
1077 </map>
1078
1079 <!-- Abort operation: print ¸ -->
1080 <map keycode="Space" pressed="true">
1081 <event keycode="Comma" unicode="0xB8" pressed="true" autorepeat="false"/>
1082 </map>
1083 <map keycode="Space" pressed="false">
1084 <event keycode="Comma" unicode="0xB8" pressed="false"/>
1085 <next-state name="Normal"/>
1086 </map>
1087</state>
1088
1089
1090<!-- Cedilla Lower-Case Characters: ç... because we have released RShift -->
1091<state name="RShift-Cedilla-Lower">
1092 <!-- RS + (,) + C = ç -->
1093 <map keycode="C" pressed="true">
1094 <event keycode="C" unicode="0xE7" pressed="true" autorepeat="true"/>
1095 </map>
1096 <map keycode="C" pressed="false">
1097 <event keycode="C" unicode="0xE7" pressed="false"/>
1098 <next-state name="Normal"/>
1099 </map>
1100
1101 <!-- Simple shift second time goes Upper-Case -->
1102 <map keycode="Right Shift" pressed="true">
1103 <next-state name="RShift-Cedilla"/>
1104 </map>
1105 <map keycode="Left Shift" pressed="true">
1106 <event keycode="Shift" unicode="-1" pressed="true" modifiers="Shift"/>
1107 <next-state name="RShift-Cedilla"/>
1108 </map>
1109
1110 <!-- Abort operation: print ¸ -->
1111 <map keycode="Space" pressed="true">
1112 <event keycode="Comma" unicode="0xB8" pressed="true" autorepeat="false"/>
1113 </map>
1114 <map keycode="Space" pressed="false">
1115 <event keycode="Comma" unicode="0xB8" pressed="false"/>
1116 <next-state name="Normal"/>
1117 </map>
1118</state>
1119
1120
1121<!-- Cedilla Lower-Case Characters: ç... because we still press Shift and we are in Caps -->
1122<state name="RShift-Caps-Cedilla">
1123 <!-- Caps + RS + (,) + C = ç -->
1124 <map keycode="C" pressed="true">
1125 <event keycode="C" unicode="0xE7" pressed="true" autorepeat="true"/>
1126 </map>
1127 <map keycode="C" pressed="false">
1128 <event keycode="C" unicode="0xE7" pressed="false"/>
1129 <next-state name="Caps"/>
1130 </map>
1131
1132 <!-- Release shift to go upper-case -->
1133 <map keycode="Right Shift" pressed="false">
1134 <next-state name="RShift-Caps-Cedilla-Upper"/>
1135 </map>
1136 <map keycode="Left Shift" pressed="false">
1137 <event keycode="Shift" unicode="-1" pressed="false"/>
1138 <next-state name="RShift-Caps-Cedilla-Upper"/>
1139 </map>
1140
1141 <!-- Abort operation: print ¸ -->
1142 <map keycode="Space" pressed="true">
1143 <event keycode="Comma" unicode="0xB8" pressed="true" autorepeat="false"/>
1144 </map>
1145 <map keycode="Space" pressed="false">
1146 <event keycode="Comma" unicode="0xB8" pressed="false"/>
1147 <next-state name="Caps"/>
1148 </map>
1149</state>
1150
1151
1152<!-- Cedilla Upper-Case Characters: Ç... because we have released RShift but we are in Caps -->
1153<state name="RShift-Caps-Cedilla-Upper">
1154 <!-- Caps + RS + (,) + C = Ç -->
1155 <map keycode="C" pressed="true">
1156 <event keycode="C" unicode="0xC7" pressed="true" modifiers="Shift" autorepeat="true"/>
1157 </map>
1158 <map keycode="C" pressed="false">
1159 <event keycode="C" unicode="0xC7" pressed="false" modifiers="Shift"/>
1160 <next-state name="Caps"/>
1161 </map>
1162
1163 <!-- Simple shift second time goes Lower-Case -->
1164 <map keycode="Right Shift" pressed="true">
1165 <next-state name="RShift-Caps-Cedilla"/>
1166 </map>
1167 <map keycode="Left Shift" pressed="true">
1168 <event keycode="Shift" unicode="-1" pressed="true" modifiers="Shift"/>
1169 <next-state name="RShift-Caps-Cedilla"/>
1170 </map>
1171
1172 <!-- Abort operation: print ¸ -->
1173 <map keycode="Space" pressed="true">
1174 <event keycode="Comma" unicode="0xB8" pressed="true" autorepeat="false"/>
1175 </map>
1176 <map keycode="Space" pressed="false">
1177 <event keycode="Comma" unicode="0xB8" pressed="false"/>
1178 <next-state name="Caps"/>
1179 </map>
1180</state>
1181
1182
1183
1184
1185<!-- Ligatured Upper-Case Characters: Æ, Œ ... because we still press Shift -->
1186<state name="RShift-Ligature">
1187 <!-- RS + (J) + A = Æ -->
1188 <map keycode="A" pressed="true">
1189 <event keycode="A" unicode="0xC6" pressed="true" modifiers="Shift" autorepeat="true"/>
1190 </map>
1191 <map keycode="A" pressed="false">
1192 <event keycode="A" unicode="0xC6" pressed="false" modifiers="Shift"/>
1193 <next-state name="Normal"/>
1194 </map>
1195
1196 <!-- RS + (J) + O = Π-->
1197 <map keycode="O" pressed="true">
1198 <event keycode="O" unicode="0x152" pressed="true" modifiers="Shift" autorepeat="true"/>
1199 </map>
1200 <map keycode="O" pressed="false">
1201 <event keycode="O" unicode="0x152" pressed="false" modifiers="Shift"/>
1202 <next-state name="Normal"/>
1203 </map>
1204
1205 <!-- Release shift to do lower-case -->
1206 <map keycode="Right Shift" pressed="false">
1207 <next-state name="RShift-Ligature-Lower"/>
1208 </map>
1209 <map keycode="Left Shift" pressed="false">
1210 <event keycode="Shift" unicode="-1" pressed="false"/>
1211 <next-state name="RShift-Ligature-Lower"/>
1212 </map>
1213
1214 <!-- Abort operation: print J -->
1215 <map keycode="Space" pressed="true">
1216 <event keycode="J" unicode="0x4A" pressed="true" autorepeat="false"/>
1217 </map>
1218 <map keycode="Space" pressed="false">
1219 <event keycode="J" unicode="0x4A" pressed="false"/>
1220 <next-state name="Normal"/>
1221 </map>
1222</state>
1223
1224
1225<!-- Ligatured Lower-Case Characters: æ, œ... because we have released RShift -->
1226<state name="RShift-Ligature-Lower">
1227 <!-- RS + (J) + A = æ -->
1228 <map keycode="A" pressed="true">
1229 <event keycode="A" unicode="0xE6" pressed="true" autorepeat="true"/>
1230 </map>
1231 <map keycode="A" pressed="false">
1232 <event keycode="A" unicode="0xE6" pressed="false"/>
1233 <next-state name="Normal"/>
1234 </map>
1235
1236 <!-- RS + (J) + O = œ -->
1237 <map keycode="O" pressed="true">
1238 <event keycode="O" unicode="0x153" pressed="true" autorepeat="true"/>
1239 </map>
1240 <map keycode="O" pressed="false">
1241 <event keycode="O" unicode="0x153" pressed="false"/>
1242 <next-state name="Normal"/>
1243 </map>
1244
1245 <!-- Simple shift second time goes Upper-Case -->
1246 <map keycode="Right Shift" pressed="true">
1247 <next-state name="RShift-Ligature"/>
1248 </map>
1249 <map keycode="Left Shift" pressed="true">
1250 <event keycode="Shift" unicode="-1" pressed="true" modifiers="Shift"/>
1251 <next-state name="RShift-Ligature"/>
1252 </map>
1253
1254 <!-- Abort operation: print j -->
1255 <map keycode="Space" pressed="true">
1256 <event keycode="J" unicode="0x6A" pressed="true" autorepeat="false"/>
1257 </map>
1258 <map keycode="Space" pressed="false">
1259 <event keycode="J" unicode="0x6A" pressed="false"/>
1260 <next-state name="Normal"/>
1261 </map>
1262</state>
1263
1264
1265<!-- Ligatured Lower-Case Characters: æ, œ... because we still press Shift and we are in Caps -->
1266<state name="RShift-Caps-Ligature">
1267 <!-- Caps + RS + (J) + A = æ -->
1268 <map keycode="A" pressed="true">
1269 <event keycode="A" unicode="0xE6" pressed="true" autorepeat="true"/>
1270 </map>
1271 <map keycode="A" pressed="false">
1272 <event keycode="A" unicode="0xE6" pressed="false"/>
1273 <next-state name="Caps"/>
1274 </map>
1275
1276 <!-- Caps + RS + (J) + O = œ -->
1277 <map keycode="O" pressed="true">
1278 <event keycode="O" unicode="0x153" pressed="true" autorepeat="true"/>
1279 </map>
1280 <map keycode="O" pressed="false">
1281 <event keycode="O" unicode="0x153" pressed="false"/>
1282 <next-state name="Caps"/>
1283 </map>
1284
1285 <!-- Release shift to go upper-case -->
1286 <map keycode="Right Shift" pressed="false">
1287 <next-state name="RShift-Caps-Ligature-Upper"/>
1288 </map>
1289 <map keycode="Left Shift" pressed="false">
1290 <event keycode="Shift" unicode="-1" pressed="false"/>
1291 <next-state name="RShift-Caps-Ligature-Upper"/>
1292 </map>
1293
1294 <!-- Abort operation: print j -->
1295 <map keycode="Space" pressed="true">
1296 <event keycode="J" unicode="0x6A" pressed="true" autorepeat="false"/>
1297 </map>
1298 <map keycode="Space" pressed="false">
1299 <event keycode="J" unicode="0x6A" pressed="false"/>
1300 <next-state name="Caps"/>
1301 </map>
1302</state>
1303
1304
1305<!-- Ligatured Upper-Case Characters: Æ, Œ... because we have released RShift but we are in Caps -->
1306<state name="RShift-Caps-Ligature-Upper">
1307 <!-- Caps + RS + (J) + A = Æ -->
1308 <map keycode="A" pressed="true">
1309 <event keycode="A" unicode="0xC6" pressed="true" modifiers="Shift" autorepeat="true"/>
1310 </map>
1311 <map keycode="A" pressed="false">
1312 <event keycode="A" unicode="0xC6" pressed="false" modifiers="Shift"/>
1313 <next-state name="Caps"/>
1314 </map>
1315
1316 <!-- Caps + RS + (J) + O = Π-->
1317 <map keycode="O" pressed="true">
1318 <event keycode="O" unicode="0x152" pressed="true" modifiers="Shift" autorepeat="true"/>
1319 </map>
1320 <map keycode="O" pressed="false">
1321 <event keycode="O" unicode="0x152" pressed="false" modifiers="Shift"/>
1322 <next-state name="Caps"/>
1323 </map>
1324
1325 <!-- Simple shift second time goes Lower-Case -->
1326 <map keycode="Right Shift" pressed="true">
1327 <next-state name="RShift-Caps-Ligature"/>
1328 </map>
1329 <map keycode="Left Shift" pressed="true">
1330 <event keycode="Shift" unicode="-1" pressed="true" modifiers="Shift"/>
1331 <next-state name="RShift-Caps-Ligature"/>
1332 </map>
1333
1334 <!-- Abort operation: print J -->
1335 <map keycode="Space" pressed="true">
1336 <event keycode="J" unicode="0x4A" pressed="true" autorepeat="false"/>
1337 </map>
1338 <map keycode="Space" pressed="false">
1339 <event keycode="J" unicode="0x4A" pressed="false"/>
1340 <next-state name="Caps"/>
1341 </map>
1342</state>
1343
1344
1345
1346
1347<!-- Trema Accentuated Upper-Case Characters: Ä, Ë... because we still press Shift -->
1348<state name="RShift-Trema">
1349 <!-- RS + (B) + A = Ä -->
1350 <map keycode="A" pressed="true">
1351 <event keycode="A" unicode="0xC4" pressed="true" modifiers="Shift" autorepeat="true"/>
1352 </map>
1353 <map keycode="A" pressed="false">
1354 <event keycode="A" unicode="0xC4" pressed="false" modifiers="Shift"/>
1355 <next-state name="Normal"/>
1356 </map>
1357
1358 <!-- RS + (B) + E = Ë -->
1359 <map keycode="E" pressed="true">
1360 <event keycode="E" unicode="0xCB" pressed="true" modifiers="Shift" autorepeat="true"/>
1361 </map>
1362 <map keycode="E" pressed="false">
1363 <event keycode="E" unicode="0xCB" pressed="false" modifiers="Shift"/>
1364 <next-state name="Normal"/>
1365 </map>
1366
1367 <!-- RS + (B) + I = Ï -->
1368 <map keycode="I" pressed="true">
1369 <event keycode="I" unicode="0xCF" pressed="true" modifiers="Shift" autorepeat="true"/>
1370 </map>
1371 <map keycode="I" pressed="false">
1372 <event keycode="I" unicode="0xCF" pressed="false" modifiers="Shift"/>
1373 <next-state name="Normal"/>
1374 </map>
1375
1376 <!-- RS + (B) + O = Ö -->
1377 <map keycode="O" pressed="true">
1378 <event keycode="O" unicode="0xD6" pressed="true" modifiers="Shift" autorepeat="true"/>
1379 </map>
1380 <map keycode="O" pressed="false">
1381 <event keycode="O" unicode="0xD6" pressed="false" modifiers="Shift"/>
1382 <next-state name="Normal"/>
1383 </map>
1384
1385 <!-- RS + (B) + U = Ü -->
1386 <map keycode="U" pressed="true">
1387 <event keycode="U" unicode="0xDC" pressed="true" modifiers="Shift" autorepeat="true"/>
1388 </map>
1389 <map keycode="U" pressed="false">
1390 <event keycode="U" unicode="0xDC" pressed="false" modifiers="Shift"/>
1391 <next-state name="Normal"/>
1392 </map>
1393
1394 <!-- Release shift to do lower-case -->
1395 <map keycode="Right Shift" pressed="false">
1396 <next-state name="RShift-Trema-Lower"/>
1397 </map>
1398 <map keycode="Left Shift" pressed="false">
1399 <event keycode="Shift" unicode="-1" pressed="false"/>
1400 <next-state name="RShift-Trema-Lower"/>
1401 </map>
1402
1403 <!-- Abort operation: print ¨ -->
1404 <map keycode="Space" pressed="true">
1405 <event keycode="B" unicode="0xA8" pressed="true" autorepeat="false"/>
1406 </map>
1407 <map keycode="Space" pressed="false">
1408 <event keycode="B" unicode="0xA8" pressed="false"/>
1409 <next-state name="Normal"/>
1410 </map>
1411</state>
1412
1413
1414<!-- Trema Accentuated Lower-Case Characters: ä, ë... because we have released RShift -->
1415<state name="RShift-Trema-Lower">
1416 <!-- RS + (B) + A = ä -->
1417 <map keycode="A" pressed="true">
1418 <event keycode="A" unicode="0xE4" pressed="true" autorepeat="true"/>
1419 </map>
1420 <map keycode="A" pressed="false">
1421 <event keycode="A" unicode="0xE4" pressed="false"/>
1422 <next-state name="Normal"/>
1423 </map>
1424
1425 <!-- RS + (B) + E = ë -->
1426 <map keycode="E" pressed="true">
1427 <event keycode="E" unicode="0xEB" pressed="true" autorepeat="true"/>
1428 </map>
1429 <map keycode="E" pressed="false">
1430 <event keycode="E" unicode="0xEB" pressed="false"/>
1431 <next-state name="Normal"/>
1432 </map>
1433
1434 <!-- RS + (B) + I = ï -->
1435 <map keycode="I" pressed="true">
1436 <event keycode="I" unicode="0xEF" pressed="true" autorepeat="true"/>
1437 </map>
1438 <map keycode="I" pressed="false">
1439 <event keycode="I" unicode="0xEF" pressed="false"/>
1440 <next-state name="Normal"/>
1441 </map>
1442
1443 <!-- RS + (B) + O = ö -->
1444 <map keycode="O" pressed="true">
1445 <event keycode="O" unicode="0xF6" pressed="true" autorepeat="true"/>
1446 </map>
1447 <map keycode="O" pressed="false">
1448 <event keycode="O" unicode="0xF6" pressed="false"/>
1449 <next-state name="Normal"/>
1450 </map>
1451
1452 <!-- RS + (B) + U = ü -->
1453 <map keycode="U" pressed="true">
1454 <event keycode="U" unicode="0xFC" pressed="true" autorepeat="true"/>
1455 </map>
1456 <map keycode="U" pressed="false">
1457 <event keycode="U" unicode="0xFC" pressed="false"/>
1458 <next-state name="Normal"/>
1459 </map>
1460
1461 <!-- RS + (B) + Y = ÿ -->
1462 <map keycode="Y" pressed="true">
1463 <event keycode="Y" unicode="0xFF" pressed="true" autorepeat="true"/>
1464 </map>
1465 <map keycode="Y" pressed="false">
1466 <event keycode="Y" unicode="0xFF" pressed="false"/>
1467 <next-state name="Normal"/>
1468 </map>
1469
1470 <!-- Simple shift second time goes Upper-Case -->
1471 <map keycode="Right Shift" pressed="true">
1472 <next-state name="RShift-Trema"/>
1473 </map>
1474 <map keycode="Left Shift" pressed="true">
1475 <event keycode="Shift" unicode="-1" pressed="true" modifiers="Shift"/>
1476 <next-state name="RShift-Trema"/>
1477 </map>
1478
1479 <!-- Abort operation: print ¨ -->
1480 <map keycode="Space" pressed="true">
1481 <event keycode="B" unicode="0xA8" pressed="true" autorepeat="false"/>
1482 </map>
1483 <map keycode="Space" pressed="false">
1484 <event keycode="B" unicode="0xA8" pressed="false"/>
1485 <next-state name="Normal"/>
1486 </map>
1487</state>
1488
1489
1490<!-- Trema Accentuated Lower-Case Characters: ä, ë... because we still press Shift and we are in Caps -->
1491<state name="RShift-Caps-Trema">
1492 <!-- Caps + RS + (B) + A = ä -->
1493 <map keycode="A" pressed="true">
1494 <event keycode="A" unicode="0xE4" pressed="true" autorepeat="true"/>
1495 </map>
1496 <map keycode="A" pressed="false">
1497 <event keycode="A" unicode="0xE4" pressed="false"/>
1498 <next-state name="Caps"/>
1499 </map>
1500
1501 <!-- Caps + RS + (B) + E = ë -->
1502 <map keycode="E" pressed="true">
1503 <event keycode="E" unicode="0xEB" pressed="true" autorepeat="true"/>
1504 </map>
1505 <map keycode="E" pressed="false">
1506 <event keycode="E" unicode="0xEB" pressed="false"/>
1507 <next-state name="Caps"/>
1508 </map>
1509
1510 <!-- Caps + RS + (B) + I = ï -->
1511 <map keycode="I" pressed="true">
1512 <event keycode="I" unicode="0xEF" pressed="true" autorepeat="true"/>
1513 </map>
1514 <map keycode="I" pressed="false">
1515 <event keycode="I" unicode="0xEF" pressed="false"/>
1516 <next-state name="Caps"/>
1517 </map>
1518
1519 <!-- Caps + RS + (B) + O = ö -->
1520 <map keycode="O" pressed="true">
1521 <event keycode="O" unicode="0xF6" pressed="true" autorepeat="true"/>
1522 </map>
1523 <map keycode="O" pressed="false">
1524 <event keycode="O" unicode="0xF6" pressed="false"/>
1525 <next-state name="Caps"/>
1526 </map>
1527
1528 <!-- Caps + RS + (B) + U = ü -->
1529 <map keycode="U" pressed="true">
1530 <event keycode="U" unicode="0xFC" pressed="true" autorepeat="true"/>
1531 </map>
1532 <map keycode="U" pressed="false">
1533 <event keycode="U" unicode="0xFC" pressed="false"/>
1534 <next-state name="Caps"/>
1535 </map>
1536
1537 <!-- Caps + RS + (B) + Y = ÿ -->
1538 <map keycode="Y" pressed="true">
1539 <event keycode="Y" unicode="0xFF" pressed="true" autorepeat="true"/>
1540 </map>
1541 <map keycode="Y" pressed="false">
1542 <event keycode="Y" unicode="0xFF" pressed="false"/>
1543 <next-state name="Caps"/>
1544 </map>
1545
1546 <!-- Release shift to go upper-case -->
1547 <map keycode="Right Shift" pressed="false">
1548 <next-state name="RShift-Caps-Trema-Upper"/>
1549 </map>
1550 <map keycode="Left Shift" pressed="false">
1551 <event keycode="Shift" unicode="-1" pressed="false"/>
1552 <next-state name="RShift-Caps-Trema-Upper"/>
1553 </map>
1554
1555 <!-- Abort operation: print ¨ -->
1556 <map keycode="Space" pressed="true">
1557 <event keycode="B" unicode="0xA8" pressed="true" autorepeat="false"/>
1558 </map>
1559 <map keycode="Space" pressed="false">
1560 <event keycode="B" unicode="0xA8" pressed="false"/>
1561 <next-state name="Caps"/>
1562 </map>
1563</state>
1564
1565
1566<!-- Trema Accentuated Upper-Case Characters: Ä, Ë... because we have released RShift but we are in Caps -->
1567<state name="RShift-Caps-Trema-Upper">
1568 <!-- Caps + RS + (B) + A = Ä -->
1569 <map keycode="A" pressed="true">
1570 <event keycode="A" unicode="0xC4" pressed="true" modifiers="Shift" autorepeat="true"/>
1571 </map>
1572 <map keycode="A" pressed="false">
1573 <event keycode="A" unicode="0xC4" pressed="false" modifiers="Shift"/>
1574 <next-state name="Caps"/>
1575 </map>
1576
1577 <!-- Caps + RS + (B) + E = Ë -->
1578 <map keycode="E" pressed="true">
1579 <event keycode="E" unicode="0xCB" pressed="true" modifiers="Shift" autorepeat="true"/>
1580 </map>
1581 <map keycode="E" pressed="false">
1582 <event keycode="E" unicode="0xCB" pressed="false" modifiers="Shift"/>
1583 <next-state name="Caps"/>
1584 </map>
1585
1586 <!-- Caps + RS + (B) + I = Ï -->
1587 <map keycode="I" pressed="true">
1588 <event keycode="I" unicode="0xCF" pressed="true" modifiers="Shift" autorepeat="true"/>
1589 </map>
1590 <map keycode="I" pressed="false">
1591 <event keycode="I" unicode="0xCF" pressed="false" modifiers="Shift"/>
1592 <next-state name="Caps"/>
1593 </map>
1594
1595 <!-- Caps + RS + (B) + O = Ö -->
1596 <map keycode="O" pressed="true">
1597 <event keycode="O" unicode="0xD6" pressed="true" modifiers="Shift" autorepeat="true"/>
1598 </map>
1599 <map keycode="O" pressed="false">
1600 <event keycode="O" unicode="0xD6" pressed="false" modifiers="Shift"/>
1601 <next-state name="Caps"/>
1602 </map>
1603
1604 <!-- Caps + RS + (B) + U = Ü -->
1605 <map keycode="U" pressed="true">
1606 <event keycode="U" unicode="0xDC" pressed="true" modifiers="Shift" autorepeat="true"/>
1607 </map>
1608 <map keycode="U" pressed="false">
1609 <event keycode="U" unicode="0xDC" pressed="false" modifiers="Shift"/>
1610 <next-state name="Caps"/>
1611 </map>
1612
1613 <!-- Simple shift second time goes Lower-Case -->
1614 <map keycode="Right Shift" pressed="true">
1615 <next-state name="RShift-Caps-Trema"/>
1616 </map>
1617 <map keycode="Left Shift" pressed="true">
1618 <event keycode="Shift" unicode="-1" pressed="true" modifiers="Shift"/>
1619 <next-state name="RShift-Caps-Trema"/>
1620 </map>
1621
1622 <!-- Abort operation: print ¨ -->
1623 <map keycode="Space" pressed="true">
1624 <event keycode="B" unicode="0xA8" pressed="true" autorepeat="false"/>
1625 </map>
1626 <map keycode="Space" pressed="false">
1627 <event keycode="B" unicode="0xA8" pressed="false"/>
1628 <next-state name="Caps"/>
1629 </map>
1630</state>
1631
1632
1633
1634
1635<!-- Tilde Upper-Case Characters: Ã, Ñ... because we still press Shift -->
1636<state name="RShift-Tilde">
1637 <!-- RS + (N) + A = Ã -->
1638 <map keycode="A" pressed="true">
1639 <event keycode="A" unicode="0xC3" pressed="true" modifiers="Shift" autorepeat="true"/>
1640 </map>
1641 <map keycode="A" pressed="false">
1642 <event keycode="A" unicode="0xC3" pressed="false" modifiers="Shift"/>
1643 <next-state name="Normal"/>
1644 </map>
1645
1646 <!-- RS + (N) + N = Ñ -->
1647 <map keycode="N" pressed="true">
1648 <event keycode="N" unicode="0xD1" pressed="true" modifiers="Shift" autorepeat="true"/>
1649 </map>
1650 <map keycode="N" pressed="false">
1651 <event keycode="N" unicode="0xD1" pressed="false" modifiers="Shift"/>
1652 <next-state name="Normal"/>
1653 </map>
1654
1655 <!-- RS + (N) + O = Õ -->
1656 <map keycode="O" pressed="true">
1657 <event keycode="O" unicode="0xD5" pressed="true" modifiers="Shift" autorepeat="true"/>
1658 </map>
1659 <map keycode="O" pressed="false">
1660 <event keycode="O" unicode="0xD5" pressed="false" modifiers="Shift"/>
1661 <next-state name="Normal"/>
1662 </map>
1663
1664 <!-- Release shift to do lower-case -->
1665 <map keycode="Right Shift" pressed="false">
1666 <next-state name="RShift-Tilde-Lower"/>
1667 </map>
1668 <map keycode="Left Shift" pressed="false">
1669 <event keycode="Shift" unicode="-1" pressed="false"/>
1670 <next-state name="RShift-Tilde-Lower"/>
1671 </map>
1672
1673 <!-- Abort operation: print ~ -->
1674 <map keycode="Space" pressed="true">
1675 <event keycode="N" unicode="0x7E" pressed="true" autorepeat="false"/>
1676 </map>
1677 <map keycode="Space" pressed="false">
1678 <event keycode="N" unicode="0x7E" pressed="false"/>
1679 <next-state name="Normal"/>
1680 </map>
1681</state>
1682
1683
1684<!-- Tilde Lower-Case Characters: ã, ñ, õ... because we have released RShift -->
1685<state name="RShift-Tilde-Lower">
1686 <!-- RS + (N) + A = ã -->
1687 <map keycode="A" pressed="true">
1688 <event keycode="A" unicode="0xE3" pressed="true" autorepeat="true"/>
1689 </map>
1690 <map keycode="A" pressed="false">
1691 <event keycode="A" unicode="0xE3" pressed="false"/>
1692 <next-state name="Normal"/>
1693 </map>
1694
1695 <!-- RS + (N) + N = ñ -->
1696 <map keycode="N" pressed="true">
1697 <event keycode="N" unicode="0xF1" pressed="true" autorepeat="true"/>
1698 </map>
1699 <map keycode="N" pressed="false">
1700 <event keycode="N" unicode="0xF1" pressed="false"/>
1701 <next-state name="Normal"/>
1702 </map>
1703
1704 <!-- RS + (N) + O = õ -->
1705 <map keycode="O" pressed="true">
1706 <event keycode="O" unicode="0xF5" pressed="true" autorepeat="true"/>
1707 </map>
1708 <map keycode="O" pressed="false">
1709 <event keycode="O" unicode="0xF5" pressed="false"/>
1710 <next-state name="Normal"/>
1711 </map>
1712
1713 <!-- Simple shift second time goes Upper-Case -->
1714 <map keycode="Right Shift" pressed="true">
1715 <next-state name="RShift-Tilde"/>
1716 </map>
1717 <map keycode="Left Shift" pressed="true">
1718 <event keycode="Shift" unicode="-1" pressed="true" modifiers="Shift"/>
1719 <next-state name="RShift-Tilde"/>
1720 </map>
1721
1722 <!-- Abort operation: print ¨ -->
1723 <map keycode="Space" pressed="true">
1724 <event keycode="B" unicode="0xA8" pressed="true" autorepeat="false"/>
1725 </map>
1726 <map keycode="Space" pressed="false">
1727 <event keycode="B" unicode="0xA8" pressed="false"/>
1728 <next-state name="Normal"/>
1729 </map>
1730</state>
1731
1732
1733<!-- Tilde Lower-Case Characters: ã, ñ, õ... because we still press Shift and we are in Caps -->
1734<state name="RShift-Caps-Tilde">
1735 <!-- Caps + RS + (N) + A = ã -->
1736 <map keycode="A" pressed="true">
1737 <event keycode="A" unicode="0xE3" pressed="true" autorepeat="true"/>
1738 </map>
1739 <map keycode="A" pressed="false">
1740 <event keycode="A" unicode="0xE3" pressed="false"/>
1741 <next-state name="Caps"/>
1742 </map>
1743
1744 <!-- Caps + RS + (N) + N = ñ -->
1745 <map keycode="N" pressed="true">
1746 <event keycode="N" unicode="0xF1" pressed="true" autorepeat="true"/>
1747 </map>
1748 <map keycode="N" pressed="false">
1749 <event keycode="N" unicode="0xF1" pressed="false"/>
1750 <next-state name="Caps"/>
1751 </map>
1752
1753 <!-- Caps + RS + (N) + O = õ -->
1754 <map keycode="O" pressed="true">
1755 <event keycode="O" unicode="0xF5" pressed="true" autorepeat="true"/>
1756 </map>
1757 <map keycode="O" pressed="false">
1758 <event keycode="O" unicode="0xF5" pressed="false"/>
1759 <next-state name="Caps"/>
1760 </map>
1761
1762 <!-- Release shift to go upper-case -->
1763 <map keycode="Right Shift" pressed="false">
1764 <next-state name="RShift-Caps-Tilde-Upper"/>
1765 </map>
1766 <map keycode="Left Shift" pressed="false">
1767 <event keycode="Shift" unicode="-1" pressed="false"/>
1768 <next-state name="RShift-Caps-Tilde-Upper"/>
1769 </map>
1770
1771 <!-- Abort operation: print ~ -->
1772 <map keycode="Space" pressed="true">
1773 <event keycode="N" unicode="0x7E" pressed="true" autorepeat="false"/>
1774 </map>
1775 <map keycode="Space" pressed="false">
1776 <event keycode="N" unicode="0x7E" pressed="false"/>
1777 <next-state name="Caps"/>
1778 </map>
1779</state>
1780
1781
1782<!-- Tilde Upper-Case Characters: Ã, Ñ, Õ... because we have released RShift but we are in Caps -->
1783<state name="RShift-Caps-Tilde-Upper">
1784 <!-- Caps + RS + (N) + A = Ã -->
1785 <map keycode="A" pressed="true">
1786 <event keycode="A" unicode="0xC3" pressed="true" modifiers="Shift" autorepeat="true"/>
1787 </map>
1788 <map keycode="A" pressed="false">
1789 <event keycode="A" unicode="0xC3" pressed="false" modifiers="Shift"/>
1790 <next-state name="Caps"/>
1791 </map>
1792
1793 <!-- Caps + RS + (N) + N = Ñ -->
1794 <map keycode="N" pressed="true">
1795 <event keycode="N" unicode="0xD1" pressed="true" modifiers="Shift" autorepeat="true"/>
1796 </map>
1797 <map keycode="N" pressed="false">
1798 <event keycode="N" unicode="0xD1" pressed="false" modifiers="Shift"/>
1799 <next-state name="Caps"/>
1800 </map>
1801
1802 <!-- Caps + RS + (N) + O = Õ -->
1803 <map keycode="O" pressed="true">
1804 <event keycode="O" unicode="0xD5" pressed="true" modifiers="Shift" autorepeat="true"/>
1805 </map>
1806 <map keycode="O" pressed="false">
1807 <event keycode="O" unicode="0xD5" pressed="false" modifiers="Shift"/>
1808 <next-state name="Caps"/>
1809 </map>
1810
1811 <!-- Simple shift second time goes Lower-Case -->
1812 <map keycode="Right Shift" pressed="true">
1813 <next-state name="RShift-Caps-Tilde"/>
1814 </map>
1815 <map keycode="Left Shift" pressed="true">
1816 <event keycode="Shift" unicode="-1" pressed="true" modifiers="Shift"/>
1817 <next-state name="RShift-Caps-Tilde"/>
1818 </map>
1819
1820 <!-- Abort operation: print ~ -->
1821 <map keycode="Space" pressed="true">
1822 <event keycode="N" unicode="0x7E" pressed="true" autorepeat="false"/>
1823 </map>
1824 <map keycode="Space" pressed="false">
1825 <event keycode="N" unicode="0x7E" pressed="false"/>
1826 <next-state name="Caps"/>
1827 </map>
1828</state>
1829
1830
1831
1832
1833<!-- Inversed Characters: ¡, ¿... -->
1834<state name="RShift-Inversed">
1835 <!-- RS + (I) + A = ¡ -->
1836 <map keycode="A" pressed="true">
1837 <event keycode="A" unicode="0xA1" pressed="true" modifiers="Shift" autorepeat="true"/>
1838 </map>
1839 <map keycode="A" pressed="false">
1840 <event keycode="A" unicode="0xA1" pressed="false" modifiers="Shift"/>
1841 <next-state name="Normal"/>
1842 </map>
1843
1844 <!-- RS + (I) + / = ¿ -->
1845 <map keycode="Slash" pressed="true">
1846 <event keycode="Slash" unicode="0xBF" pressed="true" modifiers="Shift" autorepeat="true"/>
1847 </map>
1848 <map keycode="N" pressed="false">
1849 <event keycode="N" unicode="0xBF" pressed="false" modifiers="Shift"/>
1850 <next-state name="Normal"/>
1851 </map>
1852
1853 <!-- Shift has no action -->
1854 <map keycode="Right Shift" pressed="true">
1855 <next-state name="RShift-Inversed"/>
1856 </map>
1857 <map keycode="Right Shift" pressed="false">
1858 <next-state name="RShift-Inversed"/>
1859 </map>
1860 <map keycode="Left Shift" pressed="true">
1861 <event keycode="Shift" unicode="-1" pressed="true" modifiers="Shift"/>
1862 <next-state name="RShift-Inversed"/>
1863 </map>
1864 <map keycode="Left Shift" pressed="false">
1865 <event keycode="Shift" unicode="-1" pressed="false"/>
1866 <next-state name="RShift-Inversed"/>
1867 </map>
1868
1869 <!-- Abort operation: print ¬ -->
1870 <map keycode="Space" pressed="true">
1871 <event keycode="I" unicode="0xAC" pressed="true" autorepeat="false"/>
1872 </map>
1873 <map keycode="Space" pressed="false">
1874 <event keycode="I" unicode="0xAC" pressed="false"/>
1875 <next-state name="Normal"/>
1876 </map>
1877</state>
1878
1879
1880<!-- Inversed Characters: ¡, ¿... -->
1881<state name="RShift-Caps-Inversed">
1882 <!-- Caps + RS + (I) + A = ¡ -->
1883 <map keycode="A" pressed="true">
1884 <event keycode="A" unicode="0xA1" pressed="true" autorepeat="true"/>
1885 </map>
1886 <map keycode="A" pressed="false">
1887 <event keycode="A" unicode="0xA1" pressed="false"/>
1888 <next-state name="Caps"/>
1889 </map>
1890
1891 <!-- Caps + RS + (I) + / = ¿ -->
1892 <map keycode="Slash" pressed="true">
1893 <event keycode="Slash" unicode="0xBF" pressed="true" autorepeat="true"/>
1894 </map>
1895 <map keycode="Slash" pressed="false">
1896 <event keycode="Slash" unicode="0xBF" pressed="false"/>
1897 <next-state name="Caps"/>
1898 </map>
1899
1900 <!-- Shift has no effect -->
1901 <map keycode="Right Shift" pressed="true">
1902 <next-state name="RShift-Caps-Inversed"/>
1903 </map>
1904 <map keycode="Right Shift" pressed="false">
1905 <next-state name="RShift-Caps-Inversed"/>
1906 </map>
1907 <map keycode="Left Shift" pressed="true">
1908 <event keycode="Shift" unicode="-1" pressed="true" modifiers="Shift"/>
1909 <next-state name="RShift-Caps-Inversed"/>
1910 </map>
1911 <map keycode="Left Shift" pressed="false">
1912 <event keycode="Shift" unicode="-1" pressed="false"/>
1913 <next-state name="RShift-Caps-Inversed"/>
1914 </map>
1915
1916 <!-- Abort operation: print ¬ -->
1917 <map keycode="Space" pressed="true">
1918 <event keycode="I" unicode="0xAC" pressed="true" autorepeat="false"/>
1919 </map>
1920 <map keycode="Space" pressed="false">
1921 <event keycode="I" unicode="0xAC" pressed="false"/>
1922 <next-state name="Caps"/>
1923 </map>
1924</state>
1925
1926
1927</keymap>