root/windows/autohotkey/Source/Keys-Neo.ahk @ 872

Revision 872, 34.5 KB (checked in by martin_r, 5 years ago)

Compose-Automatisierung für den AHK

Line 
1/*
2  Die eigentliche NEO-Belegung und der Hauptteil des AHK-Treibers.
3
4  Reihe 1
5*/
6
7neo_tot1:
8  noCaps = 1
9  EbeneAktualisieren()
10  if (Ebene = 1) and !CheckDeadUni("c1",0x0302)
11    deadUni(0x02C6, "dead_circumflex", "c1") ; Zirkumflex, tot
12  else if (Ebene = 2) and !CheckDeadUni("c2",0x030C)
13    deadUni(0x02C7, "dead_caron", "c2") ; Caron, tot
14  else if (Ebene = 3) and !CheckDeadUni("c3",0x0306)
15    deadUni(0x02D8, "dead_breve", "c3") ; Brevis, tot
16  ;CompKey := PriorCompKey
17return
18
19neo_1:
20  noCaps=1
21  EbeneAktualisieren()
22  if Ebene12 and !(CheckDeadUni("c1",0x00B9) ; Hochgestellte 1
23                or CheckDeadUni("c5",0x2081)) ; Tiefgestellte 1
24    OutputChar12(1,"�",1,"degree")
25  else if (Ebene = 3)
26    SendUnicodeChar(0x00B9, "onesuperior") ; Hochgestellte 1
27  else if (Ebene = 4)
28    SendUnicodeChar(0x2022, "enfilledcircbullet") ; Bullet
29  else if (Ebene = 5)
30    SendUnicodeChar(0x2081, "U2081") ; Tiefgestellte 1
31  else if (Ebene = 6)
32    SendUnicodeChar(0x00AC, "notsign") ; Nicht-Symbol
33return
34
35neo_2:
36  noCaps = 1
37  EbeneAktualisieren()
38  if (Ebene = 1 and !(CheckDeadUni("c1",0x00B2) ; Hochgestellte 2
39                   or CheckDeadUni("c5",0x2082))) ; Tiefgestellte 2
40    OutputChar(2,2)
41  else if (Ebene = 2)
42    SendUnicodeChar(0x2116, "numerosign") ; Numero
43  else if (Ebene = 3)
44    SendUnicodeChar(0x00B2, "twosuperior") ; Hochgestellte 2
45  else if (Ebene = 4)
46    SendUnicodeChar(0x2023, "U2023") ; Aufz�hlungspfeil
47  else if (Ebene = 5)
48    SendUnicodeChar(0x2082, "U2082") ; Tiefgestellte 2
49  else if (Ebene = 6)
50    SendUnicodeChar(0x2228, "logicalor") ; Logisches Oder
51return
52
53neo_3:
54  noCaps = 1
55  EbeneAktualisieren()
56  if Ebene12 and !(CheckDeadUni("c1",0x00B3) ; Hochgestellte 3
57                or CheckDeadUni("c5",0x2083)) ; Tiefgestellte 3
58    OutputChar12(3,"�",3,"section")
59  else if (Ebene = 3)
60    SendUnicodeChar(0x00B3, "threesuperior") ; Hochgestellte 3
61  else if (Ebene = 4)
62    SendUnicodeChar(0x266B, "U226B") ; 2 Achtelnoten
63  else if (Ebene = 5)
64    SendUnicodeChar(0x2083, "U2083") ; Tiefgestellte 3
65  else if (Ebene = 6)
66    SendUnicodeChar(0x2227, "logicaland") ; Logisches Und
67return
68
69neo_4:
70  noCaps = 1
71  EbeneAktualisieren()
72  if (Ebene = 1) and !(CheckDeadUni("c1",0x2074) ; Hochgestellte 4
73                    or CheckDeadUni("c5",0x2084)) ; Tiefgestellte 4
74    OutputChar(4,4)
75  else if (Ebene = 2)
76    SendUnicodeChar(0x00BB, "guillemotright") ; Double guillemot right
77  else if (Ebene = 3)
78    OutputChar("�", "U230A") ; Single guillemot right
79  else if (Ebene = 4)
80    OutputChar("{PgUp}", "Prior") ; Bild auf
81  else if (Ebene = 5)
82    SendUnicodeChar(0x2113, "U2213") ; Script small L
83  else if (Ebene = 6)
84    SendUnicodeChar(0x22A5, "uptack") ; Senkrecht
85return
86
87neo_5:
88  noCaps = 1
89  EbeneAktualisieren()
90  if (Ebene = 1) and !(CheckDeadUni("c1",0x2075) ; Hochgestellte 5
91                    or CheckDeadUni("c5",0x2085)) ; Tiefgestellte 5
92    OutputChar(5,5)
93  else if (Ebene = 2)
94    SendUnicodeChar(0x00AB, "guillemotleft") ; Double guillemot left
95  else if (Ebene = 3)
96    OutputChar("�", "U2039") ; Single guillemot left
97  else if (Ebene = 5)
98    SendUnicodeChar(0x0AF8, "femalesymbol") ; Kreuz (Dagger)
99  else if (Ebene = 6)
100    SendUnicodeChar(0x2221, "U2221") ; Winkel
101return
102
103neo_6:
104  noCaps = 1
105  EbeneAktualisieren()
106  if (Ebene = 1) and !(CheckDeadUni("c1",0x2076) ; Hochgestellte 6
107                    or CheckDeadUni("c5",0x2086)) ; Tiefgestellte 6
108    OutputChar(6,6)
109  else if (Ebene = 2)
110    SendUnicodeChar(0x20AC, "EuroSign")
111  else if (Ebene = 3)
112    OutputChar("�", "cent")
113  else if (Ebene = 4)
114    OutputChar("�", "sterling")
115  else if (Ebene = 5)
116    SendUnicodeChar(0x0AF7, "malesymbol")
117  else if (Ebene = 6)
118    SendUnicodeChar(0x2225, "U2225") ; parallel
119return
120
121neo_7:
122  noCaps = 1
123  EbeneAktualisieren()
124  if Ebene12 and !(CheckDeadUni("c1",0x2077) ; Hochgestellte 7
125                or CheckDeadUni("c5",0x2087)) ; Tiefgestellte 7
126    OutputChar12(7,"$",7,"dollar")
127  else if (Ebene = 3)
128    OutputChar("�", "yen")
129  else if (Ebene = 4)
130    OutputChar("�", "currency")
131  else if (Ebene = 5)
132    SendUnicodeChar(0x03BA, "Greek_kappa") ; greek small letter kappa
133  else if (Ebene = 6)
134    SendUnicodeChar(0x2209, "notelementof") ; nicht Element von
135return
136
137neo_8:
138  noCaps = 1
139  EbeneAktualisieren()
140  if Ebene12 and !(CheckDeadUni("c1",0x2078) ; Hochgestellte 8
141            or CheckDeadUni("c5",0x2088)) ; Tiefgestellte 8
142    OutputChar12(8,"�",8,"doublelowquotemark")
143  else if (Ebene = 3)
144    OutputChar("�", "singlelowquotemark")
145  else if (Ebene = 4)
146    OutputChar("{NumpadDiv}", "KP_Divide")
147  else if (Ebene = 5)
148    SendUnicodeChar(0x27E8, "U27E8") ; bra (�ffnende spitze Klammer)
149  else if (Ebene = 6)
150    SendUnicodeChar(0x2204, "U2204") ; es existiert nicht
151return
152
153neo_9:
154  noCaps = 1
155  EbeneAktualisieren()
156  if Ebene12 and !(CheckDeadUni("c1",0x2079) ; Hochgestellte 9
157      or CheckDeadUni("c5",0x2089)) ; Tiefgestellte 9
158    OutputChar12(9,"�",9,"leftdoublequotemark")
159  else if (Ebene = 3)
160    OutputChar("�", "leftsinglequotemark")
161  else if (Ebene = 4)
162    OutputChar("{NumpadMult}", "KP_Multiply")
163  else if (Ebene = 5)
164    SendUnicodeChar(0x27E9, "U27E9") ; ket (schlie�ende spitze Klammer)
165  else if (Ebene = 6)
166    SendUnicodeChar(0x2226, "U2226") ; nicht parallel
167return
168
169neo_0:
170  noCaps = 1
171  EbeneAktualisieren()
172  if Ebene12 and !(CheckDeadUni("c1",0x2070) ; Hochgestellte 0
173      or CheckDeadUni("c5",0x2080)) ; Tiefgestellte 0
174    OutputChar12(0,"�",0,"rightdoublequotemark")
175   else if (Ebene = 3)
176     OutputChar("�", "rightsingleqoutemark")
177   else if (Ebene = 4)
178     OutputChar("{NumpadSub}", "minus") ; s. Mail vom Sun, 14 Sep 2008 00:33:47 +0200
179   else if (Ebene = 6)
180     SendUnicodeChar(0x2205, "emptyset") ; leere Menge
181return
182
183neo_strich:
184  noCaps = 1
185  EbeneAktualisieren()
186  if (Ebene = 1)
187    OutputChar("-", "minus") ; Bindestrich-Minus
188  else if (Ebene = 2)
189    SendUnicodeChar(0x2013, "endash") ; Gedankenstrich
190  else if (Ebene = 3)
191    SendUnicodeChar(0x2014, "emdash") ; Englischer Gedankenstrich (Geviertstrich)
192  else if (Ebene = 5)
193    SendUnicodeChar(0x2011, "U2011") ; gesch�tzter Bindestrich (Bindestrich ohne Zeilenumbruch)
194  else if (Ebene = 6)
195    SendUnicodeChar(0x00AD, "hyphen") ; weicher Bindestrich
196return
197
198neo_tot2:
199  noCaps = 1
200  EbeneAktualisieren()
201  if (Ebene = 1) and !CheckDeadUni("a1",0x0301)
202    deadAsc("{�}{space}", "dead_acute", "a1") ; Akut, tot
203  else if (Ebene = 2) and !CheckDeadUni("a2",0x0300)
204    deadAsc("``{space}", "dead_grave", "a2") ; Gravis, tot
205  else if (Ebene = 3) and !CheckDeadUni("a3",0x0327)
206    deadAsc("�", "dead_cedilla", "a3") ; Cedilla, tot
207  else if (Ebene = 4) and !CheckDeadUni("a4",0x0307)
208    deadUni(0x02D9, "dead_abovedot", "a4") ; Punkt oben
209  else if (Ebene = 5) and !CheckDeadUni("a5",0x0328)
210    deadUni(0x02DB, "dead_ogonek", "a5") ; Ogonek
211  else if (Ebene = 6) and !CheckDeadUni("a6",0x030A)
212    deadUni(0x02DA, "dead_abovering", "a6") ; Ring oben
213  CompKey := PriorCompKey
214return
215
216
217/*
218
219  Reihe 2
220
221*/
222
223neo_x:
224  EbeneAktualisieren()
225  if Ebene12
226    OutputChar12("x","X","x","X")
227  else if (Ebene = 3)
228    SendUnicodeChar(0x2026, "ellipsis") ; Ellipse horizontal
229  else if (Ebene = 4)
230    SendUnicodeChar(0x22EE, "U22EE") ; Ellipse vertikal
231  else if (Ebene = 5)
232    SendUnicodeChar(0x03BE, "Greek_xi") ; xi
233  else if (Ebene = 6)
234    SendUnicodeChar(0x039E, "Greek_XI") ; Xi
235return
236
237neo_v:
238  EbeneAktualisieren()
239  if (Ebene12 and !(CheckDeadUni12("c6",0x1E7F,0x1E7E)))
240    OutputChar12("v","V","v","V")
241  else if (Ebene = 3)
242    OutputChar("_","underscore")
243  else if (Ebene = 4) and (!lernModus or lernModus_neo_Backspace)
244    OutputChar("{Backspace}", "BackSpace")
245  else if (Ebene = 6)
246    SendUnicodeChar(0x2259, "U2259") ; estimates/entspricht
247return
248
249neo_l:
250  EbeneAktualisieren()
251  if (Ebene12 and !(CheckDeadUni12("a1",0x013A,0x0139)
252                 or CheckDeadUni12("a3",0x013C,0x013B)
253                 or CheckDeadUni12("c2",0x013E,0x013D)
254                 or CheckDeadUni12("c4",0x0140,0x013F)
255                 or CheckDeadUni12("c6",0x1E37,0x1E36)
256                 or CheckDeadUni12("t4",0x0142,0x0141)))
257    OutputChar12("l","L","l","L")
258  else if (Ebene = 3)
259    OutputChar("[", "bracketleft")
260  else if (Ebene = 4)
261    OutputChar("{Up}", "Up")
262  else if (Ebene = 5)
263    SendUnicodeChar(0x03BB, "Greek_lambda") ; lambda
264  else if (Ebene = 6)
265    SendUnicodeChar(0x039B, "Greek_LAMBDA") ; Lambda
266return
267
268neo_c:
269  EbeneAktualisieren()
270  if (Ebene12 and !(CheckDeadUni12("a1",0x0107,0x0106)
271                 or CheckDeadUni12("a3",0x00E7,0x00E6)
272                 or CheckDeadUni12("a4",0x010B,0x010A)
273                 or CheckDeadUni12("c1",0x0109,0x0108)
274                 or CheckDeadUni12("c2",0x010D,0x010C)))
275    OutputChar12("c","C","c","C")
276  else if (Ebene = 3)
277    OutputChar("]", "bracketright")
278  else if (Ebene = 4) and (!lernModus or lernModus_neo_Entf)
279    OutputChar("{Del}", "Delete")
280  else if (Ebene = 5)
281    SendUnicodeChar(0x03C7, "Greek_chi") ; chi
282  else if (Ebene = 6)
283    SendUnicodeChar(0x2102, "U2102") ; C (Komplexe Zahlen)]
284return
285
286neo_w:
287  EbeneAktualisieren()
288  if (Ebene12 and !(CheckDeadUni12("c1",0x0175,0x0174)))
289    OutputChar12("w","W","w","W")
290  else if (Ebene = 3)
291    SendUnicodeChar(0x005E, "asciicircum") ; Zirkumflex
292  else if (Ebene = 4)
293    OutputChar("{Insert}", "Insert") ; Einfg
294  else if (Ebene = 5)
295    SendUnicodeChar(0x03C9, "Greek_omega") ; omega
296  else if (Ebene = 6)
297    SendUnicodeChar(0x03A9, "Greek_OMEGA") ; Omega
298return
299
300neo_k:
301  EbeneAktualisieren()
302  if (Ebene12 and !(CheckDeadUni12("a3",0x0137,0x0136)
303                 or CheckDeadUni12("c6",0x1E33,0x1E32)))
304    OutputChar12("k","K","k","K")
305  else if (Ebene = 3)
306    OutputChar("{!}", "exclam")
307  else if (Ebene = 4)
308    OutputChar("�", "exclamdown")
309  else if (Ebene = 5)
310    SendUnicodeChar(0x03F0, "U03F0") ; kappa symbol (varkappa)
311  else if (Ebene = 6)
312    SendUnicodeChar(0x221A, "radical") ; Wurzel
313return
314
315neo_h:
316  EbeneAktualisieren()
317  if (Ebene12 and !(CheckDeadUni12("a4",0x1E23,0x1E22)
318                 or CheckDeadUni12("c1",0x0125,0x0124)
319                 or CheckDeadUni12("c5",0x0127,0x0126)
320                 or CheckDeadUni12("c6",0x1E25,0x1E24)))
321    OutputChar12("h","H","h","H")
322  else if ((Ebene = 3) and !(CheckDeadUni("t4",0x2264))) ; kleiner gleich
323    OutputChar("<", "less")
324  else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2077)
325                          or CheckDeadUni("t4",0x2087)))
326    OutputChar("{Numpad7}", "KP_7")
327  else if (Ebene = 5)
328    SendUnicodeChar(0x03C8, "Greek_psi") ; psi
329  else if (Ebene = 6)
330    SendUnicodeChar(0x03A8, "Greek_PSI") ; Psi
331return
332
333neo_g:
334  EbeneAktualisieren()
335  if (Ebene12 and !(CheckDeadUni12("a3",0x0123,0x0122)
336                 or CheckDeadUni12("a4",0x0121,0x0120)
337                 or CheckDeadUni12("c1",0x011D,0x011C)
338                 or CheckDeadUni12("c3",0x011F,0x011E)))
339    OutputChar12("g","G","g","G")
340  else if ((Ebene = 3) and !(CheckDeadUni("t4",0x2265))) ; gr��er gleich
341    OutputChar(">", "greater")
342  else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2078)
343                          or CheckDeadUni("t4",0x2088)))
344    OutputChar("{Numpad8}", "KP_8")
345  else if (Ebene = 5)
346    SendUnicodeChar(0x03B3, "Greek_gamma") ; gamma
347  else if (Ebene = 6)
348    SendUnicodeChar(0x0393, "Greek_GAMMA") ; Gamma
349return
350
351neo_f:
352  EbeneAktualisieren()
353  if (Ebene12 and !(CheckDeadUni12("a4",0x1E1F,0x1E1E)
354                 or CheckDeadUni12("t4",0x0192,0x0191)))
355    OutputChar12("f","F","f","F")
356  else if ((Ebene = 3) and !(CheckDeadUni("a6",0x2257) ; ring equal to
357                          or CheckDeadUni("c1",0x2259) ; entspricht
358                          or CheckDeadUni("c2",0x225A) ; EQUIANGULAR TO
359                          or CheckDeadUni("t2",0x2261) ; identisch
360                          or CheckDeadUni("t1",0x2245) ; ungef�hr gleich
361                          or CheckDeadUni("t4",0x2260))) ; ungleich
362    OutputChar("`=", "equal")
363  else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2079)
364                          or CheckDeadUni("t4",0x2089)))
365    OutputChar("{Numpad9}", "KP_9")
366  else if (Ebene = 5)
367    SendUnicodeChar(0x03C6, "Greek_phi") ; phi
368  else if (Ebene = 6)
369    SendUnicodeChar(0x03A6, "Greek_PHI") ; Phi
370return
371
372neo_q:
373  EbeneAktualisieren()
374  if (Ebene12)
375     OutputChar12("q","Q","q","Q")
376  else if (Ebene = 3)
377    OutputChar("{&}", "ampersand")
378  else if ((Ebene = 4) and !(CheckDeadUni("c1",0x207A)
379                          or CheckDeadUni("c5",0x208A)))
380    OutputChar("{NumPadAdd}", "plus") ; !!!
381  else if (Ebene = 5)
382     SendUnicodeChar(0x03D5, "U03D5") ; phi symbol (varphi)
383  else if (Ebene = 6)
384     SendUnicodeChar(0x211A, "U211A") ; Q (rationale Zahlen)
385return
386
387neo_sz:
388  EbeneAktualisieren()
389  if (Ebene = 1)
390    if LangSTastatur
391      OutputChar("s", "s")
392    else OutputChar("�", "ssharp")
393  else if (Ebene = 2)
394    SendUnicodeChar(0x1E9E, "U1E9E") ; versal-�
395  else if (Ebene = 3)
396    if LangSTastatur
397      OutputChar("�", "ssharp")
398    else SendUnicodeChar(0x017F, "17F") ; langes s
399  else if (Ebene = 5)
400    SendUnicodeChar(0x03C2, "Greek_finalsmallsigma") ; varsigma
401  else if (Ebene = 6)
402    SendUnicodeChar(0x2218, "jot") ; Verkn�pfungsoperator
403return
404
405
406neo_tot3:
407  noCaps = 1
408  EbeneAktualisieren()
409  if (Ebene = 1) and !CheckDeadUni("t1",0x0303)
410    deadUni(0x02DC, "dead_tilde", "t1") ; Tilde, tot
411  else if (Ebene = 2) and !CheckDeadUni("t2",0x0304)
412    deadUni(0x00AF, "dead_macron", "t2") ; Macron, tot
413  else if (Ebene = 3) and !CheckDeadUni("t3",0x0308)
414    deadUni(0x00A8, "dead_diaeresis", "t3") ; Di�rese
415  else if (Ebene = 4) and !CheckDeadUni("t4",0x0338)
416    deadUni(0x002F, "", "t4") ; Schr�gstrich, tot
417  else if (Ebene = 5) and !CheckDeadUni("t5",0x030B)
418    deadUni(0x02DD, "dead_doubleacute", "t5") ; Doppelakut
419  else if (Ebene = 6) and !CheckDeadUni("t6",0x0326)
420    deadUni(0x02CF, "", "t6") ; Komma drunter, tot
421return
422
423
424/*
425
426  Reihe 3
427
428*/
429
430neo_u:
431  EbeneAktualisieren()
432  if (Ebene12 and !(CheckDeadUni12("a1",0x00FA,0x00DA)
433                 or CheckDeadUni12("a2",0x00F9,0x00D9)
434                 or CheckDeadUni12("a5",0x0173,0x0172)
435                 or CheckDeadUni12("a6",0x016F,0x016E)
436                 or CheckDeadUni12("c1",0x00FB,0x00DB)
437                 or CheckDeadUni12("c2",0x01D4,0x01D3)
438                 or CheckDeadUni12("c3",0x016D,0x016C)
439                 or CheckDeadUni12("t1",0x0169,0x0168)
440                 or CheckDeadUni12("t2",0x016B,0x016A)
441                 or CheckDeadAsc12("t3","�","�")
442                 or CheckDeadUni12("t5",0x0171,0x0170)))
443    OutputChar12("u","U","u","U")
444  else if (Ebene = 3)
445    OutputChar("\", "backslash")
446  else if (Ebene = 4)
447    OutputChar("{Home}", "Home")
448  else if (Ebene = 6)
449    SendUnicodeChar(0x222E, "U222E") ; contour integral
450return
451
452neo_i:
453  EbeneAktualisieren()
454  if (Ebene12 and !(CheckDeadUni12("a1",0x00ED,0x00CD)
455                 or CheckDeadUni12("a2",0x00EC,0x00CC)
456                 or CheckDeadUni12("a4",0x012F,0x012E)
457                 or CheckDeadUni12("a5",0x0131,0x0130)
458                 or CheckDeadUni12("c1",0x00EE,0x00CE)
459                 or CheckDeadUni12("c2",0x01D0,0x01CF)
460                 or CheckDeadUni12("c3",0x012D,0x012C)
461                 or CheckDeadUni12("t1",0x0129,0x0128)
462                 or CheckDeadUni12("t2",0x012B,0x012A)
463                 or CheckDeadAsc12("t3","�","�")))
464    OutputChar12("i","I","i","I")
465  else if (Ebene = 3)
466    OutputChar("`/", "slash")
467  else if (Ebene = 4)
468    OutputChar("{Left}", "Left")
469  else if (Ebene = 5)
470    SendUnicodeChar(0x03B9, "Greek_iota") ; iota
471  else if (Ebene = 6)
472    SendUnicodeChar(0x222B, "integral") ; integral
473return
474
475neo_a:
476  EbeneAktualisieren()
477  if (Ebene12 and !(CheckDeadUni12("a1",0x00E1,0x00C1)
478                or CheckDeadUni12("a2",0x00E0,0x00C0)
479                or CheckDeadUni12("a5",0x0105,0x0104)
480                or CheckDeadAsc12("a6","�","�")
481                or CheckDeadUni12("c1",0x00E2,0x00C2)
482                or CheckDeadUni12("c2",0x01CE,0x01CD)
483                or CheckDeadUni12("c3",0x0103,0x0102)
484                or CheckDeadUni12("t1",0x00E3,0x00C3)
485                or CheckDeadUni12("t2",0x0101,0x0100)
486                or CheckDeadAsc12("t3","�","�")))
487    OutputChar12("a","A","a","A")
488  else if (Ebene = 3)
489    OutputChar("{{}", "braceleft")
490  else if (Ebene = 4)
491    OutputChar("{Down}", "Down")
492  else if (Ebene = 5)
493    SendUnicodeChar(0x03B1, "Greek_alpha") ; alpha
494  else if (Ebene = 6)
495    SendUnicodeChar(0x2200, "U2200") ; f�r alle
496return
497
498neo_e:
499  EbeneAktualisieren()
500  if (Ebene12 and !(CheckDeadUni12("a1",0x00E9,0x00C9)
501                 or CheckDeadUni12("a2",0x00E8,0x00C8)
502                 or CheckDeadUni12("a4",0x0117,0x0116)
503                 or CheckDeadUni12("a5",0x0119,0x0118)
504                 or CheckDeadUni12("c1",0x00EA,0x00CA)
505                 or CheckDeadUni12("c2",0x011B,0x011A)
506                 or CheckDeadUni12("c3",0x0115,0x0114)
507                 or CheckDeadUni12("t1",0x1EBD,0x1EBC)
508                 or CheckDeadUni12("t2",0x0113,0x0112)
509                 or CheckDeadAsc12("t3","�","�")))
510    OutputChar12("e","E","e","E")
511  else if (Ebene = 3)
512    OutputChar("{}}", "braceright")
513  else if (Ebene = 4)
514    OutputChar("{Right}", "Right")
515  else if (Ebene = 5)
516    SendUnicodeChar(0x03B5, "Greek_epsilon") ; epsilon
517  else if (Ebene = 6)
518    SendUnicodeChar(0x2203, "U2203") ; es existiert
519return
520
521neo_o:
522  EbeneAktualisieren()
523  if (Ebene12 and !(CheckDeadUni12("a1",0x00F3,0x00D3)
524                 or CheckDeadUni12("a2",0x00F2,0x00D2)
525                 or CheckDeadUni12("a5",0x01EB,0x01EA)
526                 or CheckDeadUni12("c1",0x00F4,0x00D4)
527                 or CheckDeadUni12("c2",0x01D2,0x01D1)
528                 or CheckDeadUni12("c3",0x014F,0x014E)
529                 or CheckDeadUni12("t1",0x00F5,0x00D5)
530                 or CheckDeadUni12("t2",0x014D,0x014C)
531                 or CheckDeadAsc12("t3","�","�")
532                 or CheckDeadUni12("t4",0x00F8,0x00D8)
533                 or CheckDeadUni12("t5",0x0151,0x0150)))
534    OutputChar12("o","O","o","O")
535  else if (Ebene = 3)
536    OutputChar("*", "asterisk")
537  else if (Ebene = 4)
538    OutputChar("{End}", "End")
539  else if (Ebene = 5)
540    SendUnicodeChar(0x03BF, "Greek_omicron") ; omicron
541  else if (Ebene = 6)
542    SendUnicodeChar(0x2208, "elementof") ; element of
543return
544
545neo_s:
546  EbeneAktualisieren()
547  if (Ebene12 and !(CheckDeadUni12("a1",0x015B,0x015A)
548                 or CheckDeadUni12("a3",0x015F,0x015E)
549                 or CheckDeadUni12("a4",0x1E61,0x1E60)
550                 or CheckDeadUni12("c1",0x015D,0x015C)
551                 or CheckDeadUni12("c2",0x0161,0x0160)
552                 or CheckDeadUni12("c6",0x1E63,0x1A62))) {
553    if LangSTastatur and (Ebene = 1)
554      SendUnicodeChar(0x017F, "17F") ; langes s
555    else OutputChar12("s","S","s","S")
556  } else if (Ebene = 3)
557    OutputChar("?", "question")
558  else if Ebene7 {
559    if LangSTastatur
560      OutputChar("s", "s")
561    else SendUnicodeChar(0x017F, "17F")
562  } else if (Ebene = 4)
563    OutputChar("�", "questiondown")
564  else if (Ebene = 5)
565    SendUnicodeChar(0x03C3, "Greek_sigma") ;sigma
566  else if (Ebene = 6)
567    SendUnicodeChar(0x03A3, "Greek_SIGMA") ;Sigma
568return
569
570neo_n:
571  EbeneAktualisieren()
572  if (Ebene12 and !(CheckDeadUni12("a1",0x0144,0x0143)
573                 or CheckDeadUni12("a3",0x0146,0x0145)
574                 or CheckDeadUni12("a4",0x1E45,0x1E44)
575                 or CheckDeadUni12("c2",0x0148,0x0147)
576                 or CheckDeadUni12("t1",0x00F1,0x00D1)))
577    OutputChar12("n","N","n","N")
578  else if (Ebene = 3)
579    OutputChar("(", "parenleft")
580  else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2074)
581                          or CheckDeadUni("t4",0x2084)))
582    OutputChar("{Numpad4}", "KP_4")
583  else if (Ebene = 5)
584    SendUnicodeChar(0x03BD, "Greek_nu") ; nu
585  else if (Ebene = 6)
586    SendUnicodeChar(0x2115, "U2115") ; N (nat�rliche Zahlen)
587return
588
589neo_r:
590  EbeneAktualisieren()
591  if (Ebene12 and !(CheckDeadUni12("a1",0x0155,0x0154)
592                 or CheckDeadUni12("a3",0x0157,0x0156)
593                 or CheckDeadUni12("a4",0x0E59,0x0E58)
594                 or CheckDeadUni12("c2",0x0159,0x0158)
595                 or CheckDeadUni12("t3",0x1E5B,0x1E5A)))
596    OutputChar12("r","R","r","R")
597  else if (Ebene = 3)
598    OutputChar(")", "parenright")
599  else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2075)
600                          or CheckDeadUni("t4",0x2085)))
601    OutputChar("{Numpad5}", "KP_5")
602  else if (Ebene = 5)
603    SendUnicodeChar(0x03F1, "U03F1") ; rho symbol (varrho)
604  else if (Ebene = 6)
605    SendUnicodeChar(0x211D, "U221D") ; R (reelle Zahlen)
606return
607
608neo_t:
609  EbeneAktualisieren()
610  if (Ebene12 and !(CheckDeadUni12("a3",0x0163,0x0162)
611                 or CheckDeadUni12("a4",0x1E6B,0x1E6A)
612                 or CheckDeadUni12("c2",0x0165,0x0164)
613                 or CheckDeadUni12("c5",0x0167,0x0166)
614                 or CheckDeadUni12("t4",0x1E6D,0x1E6C)
615                 or CheckDeadUni("t3",0x1E97)))
616    OutputChar12("t","T","t","T")
617  else if (Ebene = 3)
618    OutputChar("-", "minus") ; Bisstrich
619  else if (Ebene = 4) and !(CheckDeadUni("c1",0x2076)
620                          or CheckDeadUni("c5",0x2086))
621    OutputChar("{Numpad6}", "KP_6")
622  else if (Ebene = 5)
623    SendUnicodeChar(0x03C4, "Greek_tau") ; tau
624  else if (Ebene = 6)
625    SendUnicodeChar(0x2202, "partialderivative") ; partielle Ableitung
626return
627
628neo_d:
629   EbeneAktualisieren()
630   if (Ebene12 and !(CheckDeadUni12("a4",0x1E0B,0x1E0A)
631                  or CheckDeadUni12("c2",0x010F,0x010E)
632                  or CheckDeadUni12("t2",0x0111,0x0110)
633                  or CheckDeadUni12("t3",0x1E0D,0x1E0C)
634                  or CheckDeadUni12("t4",0x00F0,0x00D0)))
635     OutputChar12("d","D","d","D")
636   else if (Ebene = 3)
637     OutputChar(":", "colon")
638   else if (Ebene = 4)
639     OutputChar("`,", "comma")
640   else if (Ebene = 5)
641      SendUnicodeChar(0x03B4, "Greek_delta") ; delta
642   else if (Ebene = 6)
643      SendUnicodeChar(0x0394, "Greek_DELTA") ; Delta
644return
645
646neo_y:
647  EbeneAktualisieren()
648  if (Ebene12 and !(CheckDeadUni12("a1",0x00FD,0x00DD)
649                 or CheckDeadUni12("c1",0x0177,0x0176)
650                 or CheckDeadAsc12("t3","�","�")))
651    OutputChar12("y","Y","y","Y")
652  else if (Ebene = 3)
653    OutputChar("@", "at")
654  else if (Ebene = 4)
655    OutputChar(".", "period")
656  else if (Ebene = 5)
657    SendUnicodeChar(0x03C5, "Greek_upsilon") ; upsilon
658  else if (Ebene = 6)
659    SendUnicodeChar(0x2207, "nabla") ; nabla
660return
661
662/*
663
664  Reihe 4
665
666*/
667
668neo_�:
669  EbeneAktualisieren()
670  if (Ebene12 and !(CheckDeadUni12("a1",0x01D8,0x01D7)
671                 or CheckDeadUni12("a2",0x01DC,0x01DB)
672                 or CheckDeadUni12("c2",0x01DA,0x01D9)
673                 or CheckDeadUni12("t2",0x01D6,0x01D5)))
674    OutputChar12("�","�","udiaeresis","Udiaeresis")
675  else if (Ebene = 3)
676    if isMod2Locked
677      OutputChar("{Shift Up}{#}", "numbersign")
678    else OutputChar("{blind}{#}", "numbersign")
679  else if (Ebene = 4)
680    OutputChar("{Esc}", "Escape")
681  else if (Ebene = 6)
682    SendUnicodeChar(0x221D, "variation") ; proportional
683return
684
685neo_�:
686  EbeneAktualisieren()
687  if (Ebene12 and !(CheckDeadUni12("t2",0x022B,0x022A)))
688    OutputChar12("�","�","odiaeresis","Odiaeresis")
689  else if (Ebene = 3)
690    OutputChar("$", "dollar")
691  else if (Ebene = 4)
692    OutputChar("{Tab}", "Tab")
693  else if (Ebene = 6)
694    SendUnicodeChar(0x2111, "U2221") ; Fraktur I
695return
696
697neo_�:
698  EbeneAktualisieren()
699  if (Ebene12 and !(CheckDeadUni12("t2",0x01DF,0x01DE)))
700    OutputChar12("�","�","adiaeresis","Adiaeresis")
701  else if (Ebene = 3)
702    OutputChar("|", "bar")
703  else if (Ebene = 4)
704    OutputChar("{PgDn}", "Next")
705  else if (Ebene = 5)
706    SendUnicodeChar(0x03B7, "Greek_eta") ; eta
707  else if (Ebene = 6)
708    SendUnicodeChar(0x211C, "U221C") ; Fraktur R
709return
710
711neo_p:
712  EbeneAktualisieren()
713  if (Ebene12 and !(CheckDeadUni12("a4",0x1E57,0x1E56)))
714    OutputChar12("p","P","p","P")
715  else if ((Ebene = 3) and !(CheckDeadUni("t1",0x2248)))
716    OutputChar("~", "asciitilde")
717  else if (Ebene = 4)
718    OutputChar("{Enter}", "Return")
719  else if (Ebene = 5)
720    SendUnicodeChar(0x03C0, "Greek_pi") ; pi
721  else if (Ebene = 6)
722    SendUnicodeChar(0x03A0, "Greek_PI") ; Pi
723return
724
725neo_z:
726  EbeneAktualisieren()
727  if (Ebene12 and !(CheckDeadUni12("a1",0x017A,0x0179)
728                 or CheckDeadUni12("a4",0x017C,0x017B)
729                 or CheckDeadUni12("c2",0x017E,0x017D)
730                 or CheckDeadUni12("c6",0x1E93,0x1E92)))
731    OutputChar12("z","Z","z","Z")
732  else if (Ebene = 3)
733    OutputChar("``{space}", "grave") ; untot
734  else if (Ebene = 5)
735    SendUnicodeChar(0x03B6, "Greek_zeta") ; zeta
736  else if (Ebene = 6)
737    SendUnicodeChar(0x2124, "U2124") ; Z (ganze Zahlen)
738return
739
740neo_b:
741  EbeneAktualisieren()
742  if (Ebene12 and !(CheckDeadUni12("a4",0x1E03,0x1E02)))
743    OutputChar12("b","B","b","B")
744  else if (Ebene = 3)
745    if isMod2Locked
746      OutputChar("{Shift Up}{+}", "plus")
747    else OutputChar("{blind}{+}", "plus")
748  else if (Ebene = 4)
749    OutputChar(":", "colon")
750  else if (Ebene = 5)
751    SendUnicodeChar(0x03B2, "Greek_beta") ; beta
752  else if (Ebene = 6)
753    SendUnicodeChar(0x21D2, "implies") ; Doppel-Pfeil rechts
754return
755
756neo_m:
757  EbeneAktualisieren()
758  if (Ebene12 and !(CheckDeadUni12("a4",0x1E41,0x1E40)
759                 or CheckDeadUni12("c6",0x1E43,0x1E42)))
760    OutputChar12("m","M","m","M")
761  else if (Ebene = 3)
762    OutputChar("`%", "percent")
763  else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B9)
764                          or CheckDeadUni("t4",0x2081)))
765    OutputChar("{Numpad1}", "KP_1")
766  else if (Ebene = 5)
767    SendUnicodeChar(0x03BC, "Greek_mu") ; griechisch mu, micro w�re 0x00B5
768  else if (Ebene = 6)
769    SendUnicodeChar(0x21D4, "ifonlyif") ; doppelter Doppelpfeil (genau dann wenn)
770return
771
772neo_komma:
773  noCaps = 1
774  EbeneAktualisieren()
775  if (Ebene = 1)
776    OutputChar(",", "comma")
777  else if (Ebene = 3)
778    OutputChar(Chr(34), "quotedbl")
779  else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B2)
780                          or CheckDeadUni("c5",0x2082)))
781    OutputChar("{Numpad2}", "KP_2")
782  else if (Ebene = 5)
783    SendUnicodeChar(0x03C1, "Greek_rho") ; rho
784  else if (Ebene = 6)
785    SendUnicodeChar(0x21D0, "U21D0") ; Doppelpfeil links
786return
787
788neo_punkt:
789  noCaps = 1
790  EbeneAktualisieren()
791  if (Ebene = 1)
792    OutputChar(".", "period")
793  else if (Ebene = 3)
794    OutputChar("'", "apostrophe")
795  else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B3)
796                          or CheckDeadUni("t4",0x2083)))
797    OutputChar("{Numpad3}", "KP_3")
798  else if (Ebene = 5)
799    SendUnicodeChar(0x03D1, "U03D1") ; theta symbol (vartheta)
800  else if (Ebene = 6)
801    SendUnicodeChar(0x0398, "Greek_THETA") ; Theta
802return
803
804
805neo_j:
806  EbeneAktualisieren()
807  if (Ebene12 and !(CheckDeadUni12("c1",0x0135,0x0134)
808                 or CheckDeadUni("c2",0x01F0)))
809    OutputChar12("j","J","j","J")
810  else if (Ebene = 3)
811    OutputChar("`;", "semicolon")
812  else if (Ebene = 4)
813    OutputChar("`;", "semicolon")
814  else if (Ebene = 5)
815    SendUnicodeChar(0x03B8, "Greek_theta") ; theta
816  else if (Ebene = 6)
817    SendUnicodeChar(0x2261, "identical") ; identisch
818return
819
820/*
821
822  Numpad
823
824*/
825
826neo_NumLock:
827  EbeneAktualisieren()
828  if (Ebene = 1) ;�
829    OutputChar("`=", "equal")
830  if (Ebene = 3)
831    SendUnicodeChar(0x2248, "U2248") ; Fast gleich
832  if (Ebene = 2)
833    SendUnicodeChar(0x2260, "U2260") ; Ungleich zu
834return
835
836neo_NumpadDiv:
837  EbeneAktualisieren()
838  if Ebene12
839    OutputChar("{NumpadDiv}", "KP_Divide")
840  else if (Ebene = 4)
841    SendUnicodeChar(0x2215, "division") ; Slash
842  else if (Ebene = 3)
843    OutputChar("�", "U2044")
844return
845
846neo_NumpadMult:
847  EbeneAktualisieren()
848  if Ebene12
849    send {blind}{NumpadMult}
850  else if (Ebene = 3)
851    SendUnicodeChar(0x22C5, "multiply") ; Cdot
852  else if (Ebene = 4)
853    OutputChar("�", "U2219")
854return
855
856neo_NumpadSub:
857  EbeneAktualisieren()
858  if (Ebene12 and !(CheckDeadUni("c1",0x207B)
859                 or CheckDeadUni("t4",0x208B)))
860    send {blind}{NumpadSub}
861  else if (Ebene = 3) or (Ebene = 4)
862    SendUnicodeChar(0x2212, "U2212") ; Echtes Minus
863return
864
865neo_NumpadAdd:
866  EbeneAktualisieren()
867  if (Ebene12 and !(CheckDeadUni("c1",0x207A)
868                 or CheckDeadUni("c5",0x208A)))
869    send {blind}{NumpadAdd}
870  else if (Ebene = 3)
871    OutputChar("�", "plusminus")
872  else if (Ebene = 4)
873    SendUnicodeChar(0x2213, "U2213") ; Inverses �
874return
875
876neo_NumpadEnter:
877  send {blind}{NumpadEnter}
878return
879
880neo_Numpad7:
881  EbeneAktualisieren()
882  if (Ebene = 1)
883    OutputChar("{Numpad7}", "KP_7")
884  else if (Ebene = 2)
885    SendUnicodeChar(0x2020, "dagger") ; Kreuz
886  else if (Ebene = 3)
887    SendUnicodeChar(0x2195, "U2195") ; Hoch-Runter-Pfeil
888  else if (Ebene = 4)
889    send {blind}{NumpadHome}
890return
891
892neo_Numpad8:
893  EbeneAktualisieren()
894  if (Ebene = 1)
895    OutputChar("{Numpad8}", "KP_8")
896  else if (Ebene = 2)
897    SendUnicodeChar(0x2229, "intersection") ; Durchschnitt
898  else if (Ebene = 3)
899    SendUnicodeChar(0x2191, "uparrow") ; Hochpfeil
900  else if (Ebene = 4)
901    send {blind}{NumpadUp}
902return
903
904neo_Numpad9:
905  EbeneAktualisieren()
906  if (Ebene = 1)
907    OutputChar("{Numpad9}", "KP_9")
908  else if (Ebene = 2)
909    SendUnicodeChar(0x2297, "U2297") ; Tensorprodukt / Vektor in die Ebene zeigend
910  else if (Ebene = 3)
911    SendUnicodeChar(0x220D, "U220D") ; Kleines umgekehrtes Elementzeichen
912  else if (Ebene = 4)
913    send {blind}{NumpadPgUp}
914return
915
916neo_Numpad4:
917  EbeneAktualisieren()
918  if (Ebene = 1)
919    OutputChar("{Numpad4}", "KP_4")
920  else if (Ebene = 2)
921    SendUnicodeChar(0x2282, "includein") ; Teilmenge
922  else if (Ebene = 3)
923    SendUnicodeChar(0x2190, "leftarrow") ; Linkspfeil
924  else if (Ebene = 4)
925    send {blind}{NumpadLeft}
926return
927
928neo_Numpad5:
929  EbeneAktualisieren()
930  if (Ebene = 1)
931    OutputChar("{Numpad5}", "KP_5")
932  else if (Ebene = 2)
933    SendUnicodeChar(0x20AC, "EuroSign") ; Euro
934  else if (Ebene = 3)
935    SendUnicodeChar(0x221E, "infinity") ; Unendlich
936  else if (Ebene = 4) ; Beg
937      send {blind}{NumPadClear}
938return
939
940neo_Numpad6:
941  EbeneAktualisieren()
942  if (Ebene = 1)
943    OutputChar("{Numpad6}", "KP_6")
944  else if (Ebene = 2)
945    SendUnicodeChar(0x2283, "includes") ; Obermenge
946  else if (Ebene = 3)
947    SendUnicodeChar(0x2192, "rightarrow") ; Rechtspfeil
948  else if (Ebene = 4)
949    send {blind}{NumpadRight}
950return
951
952neo_Numpad1:
953  EbeneAktualisieren()
954  if (Ebene = 1)
955    OutputChar("{Numpad1}", "KP_1")
956  else if (Ebene = 2)
957    SendUnicodeChar(0x2714, "U2714") ; H�kchen
958  else if (Ebene = 3)
959    SendUnicodeChar(0x2194, "U2194") ; Links-Rechts-Pfeil
960  else if (Ebene = 4)
961    send {blind}{NumpadEnd}
962return
963
964neo_Numpad2:
965  EbeneAktualisieren()
966  if (Ebene = 1)
967    OutputChar("{Numpad2}", "KP_2")
968  else if (Ebene = 2)
969    SendUnicodeChar(0x222A, "union") ; Vereinigung
970  else if (Ebene = 3)
971    SendUnicodeChar(0x2192, "downarrow") ; Untenpfeil
972  else if (Ebene = 4)
973    send {blind}{NumpadDown}
974return
975
976neo_Numpad3:
977  EbeneAktualisieren()
978  if (Ebene = 1)
979    OutputChar("{Numpad3}", "KP_3")
980  else if (Ebene = 2)
981    SendUnicodeChar(0x2718, "U2718") ; Kreuzchen
982  else if (Ebene = 3)
983    SendUnicodeChar(0x21CC, "U21CC") ; Harpune
984  else if (Ebene = 4)
985    send {blind}{NumpadPgDn}
986return
987
988neo_Numpad0:
989  EbeneAktualisieren()
990  if (Ebene = 1)
991    OutputChar("{Numpad0}", "KP_0")
992  else if (Ebene = 2)
993    SendUnicodeChar(0x0025, "percent") ; Prozent
994  else if (Ebene = 3)
995    SendUnicodeChar(0x2030, "U2030") ; Promille
996  else if (Ebene = 4)
997    send {blind}{NumpadIns}
998return
999
1000neo_NumpadDot:
1001  EbeneAktualisieren()
1002  if (Ebene = 1)
1003    send {blind}{NumpadDot}
1004  else if (Ebene = 2)
1005    send `,
1006  else if (Ebene = 3)
1007    send {blind}.
1008  else if (Ebene = 4)
1009    send {blind}{NumpadDel}
1010return
1011
1012/*
1013
1014  Sondertasten
1015
1016*/
1017
1018*space::
1019  if einHandNeo
1020    spacepressed := 1
1021  else goto neo_SpaceUp
1022return
1023
1024*space up::
1025  if einHandNeo
1026    if keypressed {
1027     keypressed := 0
1028     spacepressed := 0
1029    } else goto neo_SpaceUp
1030  return
1031
1032neo_SpaceUp:
1033  EbeneAktualisieren()
1034  if (Ebene = 1) and !CheckDeadUni("t4",0x2010)  ; Echter Bindestrich
1035    OutputChar("{Space}", "Space")
1036  else if (Ebene = 2) or (Ebene = 3)
1037    Send {blind}{Space}
1038  else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2070)
1039                        or CheckDeadUni("c5",0x2080)))
1040   OutputChar("{Numpad0}", "KP_0")
1041  else if (Ebene = 5)
1042    SendUnicodeChar(0x00A0, "U00A0") ; gesch�tztes Leerzeichen
1043  else if (Ebene = 6)
1044    SendUnicodeChar(0x202F, "U202F") ; schmales gesch�tztes Leerzeichen
1045  DeadKey := ""
1046  CompKey := ""
1047  spacepressed := 0
1048  keypressed := 0
1049return
1050
1051/*
1052  Folgende Tasten sind nur aufgef�hrt, um DeadKey zu leeren.
1053  Irgendwie sieht das noch nicht sch�n aus. Vielleicht l�sst sich dieses
1054  Problem auch eleganter l�sen...
1055*/
1056
1057*Enter::
1058  if !lernModus or lernModus_std_Return {
1059    send {Blind}{Enter}
1060    DeadKey := ""
1061    CompKey := ""
1062  } return
1063
1064*Backspace::
1065  if !lernModus or lernModus_std_Backspace {
1066    send {Blind}{Backspace}
1067    DeadKey := ""
1068    CompKey := ""
1069  } return
1070
1071*Del::
1072  if !lernModus or lernModus_std_Entf
1073    send {Blind}{Del}
1074return
1075
1076*Ins::
1077  if !lernModus or lernModus_std_Einf
1078    send {Blind}{Ins}
1079return
1080
1081/*
1082Auf Mod3+Tab liegt Compose.
1083*/
1084
1085neo_tab:
1086  if (IsMod3Pressed()) {
1087    DeadKey := "comp"
1088    CompKey := ""
1089  } else {
1090    send {blind}{Tab}
1091    DeadKey := ""
1092    CompKey := ""
1093  } return
1094
1095*Home::
1096  if !lernModus or lernModus_std_Pos1 {
1097    send {Blind}{Home}
1098    DeadKey := ""
1099    CompKey := ""
1100  } return
1101
1102*End::
1103  if !lernModus or lernModus_std_Ende {
1104    send {Blind}{End}
1105    DeadKey := ""
1106    CompKey := ""
1107  } return
1108
1109*PgUp::
1110  if !lernModus or lernModus_std_PgUp {
1111    send {Blind}{PgUp}
1112    DeadKey := ""
1113    CompKey := ""
1114  } return
1115
1116*PgDn::
1117  if !lernModus or lernModus_std_PgDn {
1118    send {Blind}{PgDn}
1119    DeadKey := ""
1120    CompKey := ""
1121  } return
1122
1123*Up::
1124  if !lernModus or lernModus_std_Hoch {
1125    send {Blind}{Up}
1126    DeadKey := ""
1127    CompKey := ""
1128  } return
1129
1130*Down::
1131  if !lernModus or lernModus_std_Runter {
1132    send {Blind}{Down}
1133    DeadKey := ""
1134    CompKey := ""
1135  } return
1136
1137*Left::
1138  if !lernModus or lernModus_std_Links {
1139    send {Blind}{Left}
1140    DeadKey := ""
1141    CompKey := ""
1142  } return
1143
1144*Right::
1145  if !lernModus or lernModus_std_Rechts {
1146    send {Blind}{Right}
1147    DeadKey := ""
1148    CompKey := ""
1149  } return
Note: See TracBrowser for help on using the browser.