V2: keydefinitions_v2.2.ahk

Datei keydefinitions_v2.2.ahk, 20.7 KB (hinzugefügt von anonym, vor 3 Jahren)

keydefinitions zum deutlich verbesserten treiber

Zeile 
1; -*- encoding:utf-8 -*-
2
3thekeys() {
4global
5layoutstring:=""
6;   KeyCode       Ebene1  Ebene2  Ebene3  Ebene4  Ebene5  Ebene6  Ebene7* Ebene8*
7; Reihe 1
8EDS("029",0,"T__cflx","T__cron","T__turn","T__abdt","T__hook","T__bldt") ; circumflex
9EDS("002",0,"§","₁","¹","ª"      ,"₁","¬") ; §
10EDS("003",0,"°","₂","²","º"      ,"₂","∨") ; °
11EDS("004",0,"»","₃","³","№"      ,"₃","∧") ; »
12EDS("005",0,"«","⟂","‚","⋮"      ,"♀","⊥") ; «
13EDS("006",0,"—","♂","∞","·"      ,"♂","∡") ; —
14EDS("007",0,"£","♀","‘","£"      ,"⚥","∥") ; £
15EDS("008",0,"¥","¬","’","¤"      ,"ϰ","→") ; ¥
16EDS("009",0,"↦","∨","›",""       ,"⟨","∞") ; ↦
17EDS("00A",0,"„","∧","‹","S__NDiv","⟩","∝") ; „
18EDS("00B",0,"“","⟨","ℓ","S__NMul","₀","∅") ; “
19EDSK("00C",0,"”","⟩","¢","S__NSub","‑","­") ; ”
20EDS("00D",0,"T__grav","T__cedi","T__abrg","T__drss","T_dasia","T__mcrn") ; grave
21; Reihe 2
22EDSK("010",1,"j","J","…","S__PgUp","θ","Θ") ; j
23EDSK("011",1,"d","D","_","U000008","δ","Δ") ; d
24EDSK("012",1,"u","U","$","S____Up","", "⊂") ; u
25EDSK("013",1,"a","A","|","S___Del","α","∀") ; a
26EDSK("014",1,"x","X","^","S__PgDn","ξ","Ξ") ; x
27EDSK("015",1,"p","P","€","¡"      ,"π","Π") ; p
28EDSK("016",1,"h","H",">","S__N__4","ψ","Ψ") ; h
29EDSK("017",1,"l","L","<","S__N__5","λ","Λ") ; l
30EDSK("018",1,"m","M","=","S__N__6","⇔","⇔") ; m
31EDSK("019",1,"w","W",")","S__NAdd","φ","Φ") ; w
32EDSK("01A",1,"ß","ẞ","ſ","−"      ,"ς","∘") ; ß
33EDS("01B",0,"T__acut","T__tlde","T__strk","T__dbac","T_psili","T__brve") ; acute
34; Reihe 3
35EDSK("01E",1,"c","C","@","S__Home","χ","ℂ") ; c
36EDSK("01F",1,"t","T","\","S__Left","τ","∂") ; t
37EDSK("020",1,"i","I","{","S__Down","ι","∫") ; i
38EDSK("021",1,"e","E","[","S__Rght","ε","∃") ; e
39EDSK("022",1,"o","O","*","S___End","ο","∈") ; o
40EDSK("023",1,"b","B","?","¿"      ,"β","⇐") ; b
41EDSK("024",1,"n","N","!","S__N__1","ν","ℕ") ; n
42EDSK("025",1,"r","R","(","S__N__2","ρ","ℝ") ; r
43EDSK("026",1,"s","S","-","S__N__3","σ","Σ") ; s
44EDSK("027",1,"g","G","&","S__Ngot","γ","Γ") ; g
45EDSK("028",1,"q","Q",";","."      ,"ϕ","ℚ") ; q
46; Reihe 4
47EDSK("02C",1,"f","F","#","U00001B","φ","Φ") ; f
48EDSK("02D",1,"v","V","}","U000009","", "√") ; v
49EDSK("02E",1,"U00001B","ü","]","S___Ins","", "∪") ; ü
50EDSK("02F",1,"/","ä","~","U00000D","η","ℵ") ; ä
51EDSK("030",1,":","ö","``",""      ,"ϵ","∩") ; ö
52EDSK("031",1,"y","Y","+",":"      ,"υ","∇") ; y
53EDSK("032",1,"z","Z","%","S__N__7","ζ","ℤ") ; z
54EDSK("033",0,",","–","'","S__N__8","ϱ","⇒") ; ,
55EDSK("034",0,".","•","""","S__N__9","ϑ","↦") ; .
56EDSK("035",1,"k","K","→",";"      ,"κ","×") ; k
57neo20layoutstring := layoutstring
58; Numpad
59EDS("145",0,"U000009","U000009","=","≠","≈","≡") ; NumLock
60EDS("135",0,"S__NDiv","S__NDiv","÷","⌀","∣","⁄") ; NumpadDiv
61EDS("037",0,"S__NMul","S__NMul","⋅","×","⊙","⊗") ; NumpadMult
62EDS("04A",0,"S__NSub","S__NSub","−","∖","⊖","∸") ; NumpadSub
63EDS("04E",0,"S__NAdd","S__NAdd","±","∓","⊕","∔") ; NumpadAdd
64
65EDNS("044",0,"S__N__4","✔","↕","S__NHom","S_SNHom","≪","⌈") ; Numpad4
66EDNS("045",0,"S__N__5","✘","↑","S__N_Up","S_SN_Up","∩","⋂") ; Numpad5
67EDNS("046",0,"S__N__6","†","⃗","S__NPUp","S_SNPUp","≫","⌉") ; Numpad6
68EDNS("01B",0,"S__N__1","♣","←","S__N_Le","S_SN_Le","⊂","⊆") ; Numpad1
69EDNS("04C",0,"S__N__2","€",":","S__NClr","S_SNClr","⊶","⊷") ; Numpad2
70EDNS("04D",0,"S__N__3","‣","→","S__N_Ri","S_SN_Ri","⊃","⊇") ; Numpad3
71EDNS("04F",0,"S__N__7","♦","↔","S__NEnd","S_SNEnd","≤","⌊") ; Numpad7
72EDNS("050",0,"S__N__8","♥","↓","S__N_Dn","S_SN_Dn","∪","⋃") ; Numpad8
73EDNS("051",0,"S__N__9","♠","⇌","S__NPDn","S_SNPDn","≥","⌋") ; Numpad9
74EDNS("052",0,"S__N__0","␣","%","S__NIns","S_SNIns","‰","□") ; Numpad0
75EDNS("053",0,"S__NDot",".",",","S__NDel","S_SNDel","′","″") ; NumpadDot
76
77; other keys
78ED("space",0,"U000020","U000020","U000020","S__N__0","U0000A0","U00202F")
79ED("esc"  ,0,"U00001B","U00001B","P__Rlod","U00001B","U00001B","U00001B")
80ED("tab"  ,0,"U000009","U000009","S__Comp","U000009","U000009","U000009")
81ED("F1"   ,0,"S____F1","S____F1",""       ,"S____F1",""       ,"")
82ED("F2"   ,0,"S____F2","S____F2",""       ,"S____F2",""       ,"")
83ED("F3"   ,0,"S____F3","S____F3",""       ,"S____F3",""       ,"")
84ED("F4"   ,0,"S____F4","S____F4",""       ,"S____F4",""       ,"")
85ED("F5"   ,0,"S____F5","S____F5",""       ,"S____F5",""       ,"")
86ED("F6"   ,0,"S____F6","S____F6",""       ,"S____F6",""       ,"")
87ED("F7"   ,0,"S____F7","S____F7",""       ,"S____F7",""       ,"")
88ED("F8"   ,0,"S____F8","S____F8",""       ,"S____F8",""       ,"")
89ED("F9"   ,0,"S____F9","S____F9",""       ,"S____F9",""       ,"")
90ED("F10"  ,0,"S___F10","S___F10",""       ,"S___F10",""       ,"")
91ED("F11"  ,0,"S___F11","S___F11",""       ,"S___F11",""       ,"")
92ED("F12"  ,0,"S___F12","S___F12",""       ,"S___F12",""       ,"")
93ED("enter",0,"U00000D","U00000D","U00000D","S__NEnt","U00000D","U00000D")
94ED1("backspace","U000008")
95ED1("del"      ,"S___Del")
96ED1("ins"      ,"S___Ins")
97ED1("home"     ,"S__Home")
98ED1("end"      ,"S___End")
99ED1("pgup"     ,"S__PgUp")
100ED1("pgdn"     ,"S__PgDn")
101ED1("up"       ,"S____Up")
102ED1("down"     ,"S__Down")
103ED1("left"     ,"S__Left")
104ED1("right"    ,"S__Rght")
105ED1("numpadenter","S__NEnt")
106
107; Die Modifier
108ED1S("02A","P__M2LD") ; Mod2L (ShiftL)
109ED1S("136","P__M2RD") ; Mod2R (ShiftR)
110ED1S("03A","P__M3LD") ; Mod3L (CapsLock)
111ED1S("02B","P__M3RD") ; Mod3R (#')
112ED1S("056","P__M4LD") ; Mod4L (<>)
113ED1S("138","P__M4RD") ; Mod4R (AltGr)
114}
115
116SetKeyPos(pos,char) {
117  global
118  current := %pos%
119  if (current != "")
120    StringReplace,CRK%current%,CRK%current%,% " " . pos . " ",% " "
121  if (SubStr(CRK%char%,0) != " ")
122    CRK%char% .= " "
123  CRK%char% .= pos . " "
124  %pos% := char
125}
126
127EDR(pos,caps,e1,e2,e3,e4,e5,e6,e7="",e8="") {
128  global
129  if (caps == 0)
130    NOC%pos% := 1
131  else {
132    if (e1 != "")
133      UNSH%e1% := 1 ; unshift wenn caps lock + Shift?
134  }
135  SetKeyPos("CP1" . pos,e1)
136  SetKeyPos("CP2" . pos,e2)
137  SetKeyPos("CP3" . pos,e3)
138  SetKeyPos("CP4" . pos,e4)
139  SetKeyPos("CP5" . pos,e5)
140  SetKeyPos("CP6" . pos,e6)
141  SetKeyPos("CP7" . pos,e7)
142  SetKeyPos("CP8" . pos,e8)
143}
144
145ED(pos,caps,e1a,e2a,e3a,e4a,e5a,e6a,e7a="",e8a="") {
146  global
147  e1  := EncodeUniComposeA(e1a)
148  e2  := EncodeUniComposeA(e2a)
149  e3  := EncodeUniComposeA(e3a)
150  e4  := EncodeUniComposeA(e4a)
151  e5  := EncodeUniComposeA(e5a)
152  e6  := EncodeUniComposeA(e6a)
153  e7  := EncodeUniComposeA(e7a)
154  e8  := EncodeUniComposeA(e8a)
155  EDR(pos,caps,e1,e2,e3,e4,e5,e6,e7,e8)
156}
157
158EDNR(pos1,pos2,caps,e1,e2,e3,e4,e5,e6) {
159  EDR(pos1,caps,e1,e2,e3,e4,e5,e6)
160  EDR(pos2,caps,e1,e2,e3,e4,e5,e6)
161}
162
163EDN(pos1,pos2,caps,e1a,e2a,e3a,e4a,e5a,e6a) {
164  ED(pos1,caps,e1a,e2a,e3a,e4a,e5a,e6a)
165  ED(pos2,caps,e1a,e2a,e3a,e4a,e5a,e6a)
166}
167
168EDSR(scpos,caps,e1,e2,e3,e4,e5,e6,e7="",e8="") {
169  global
170  EDR(vksc%scpos%,caps,e1,e2,e3,e4,e5,e6,e7,e8)
171}
172
173EDS(scpos,caps,e1a,e2a,e3a,e4a,e5a,e6a,e7a="",e8a="") {
174  global
175  ED(vksc%scpos%,caps,e1a,e2a,e3a,e4a,e5a,e6a,e7a,e8a)
176}
177
178EDSK(scpos,caps,e1a,e2a,e3a,e4a,e5a,e6a,e7a="",e8a="") {
179  global
180  EDS(scpos,caps,e1a,e2a,e3a,e4a,e5a,e6a,e7a,e8a)
181  layoutstringpos := strlen(layoutstring) + 1
182  layoutstring .= e1a
183  e1 := EncodeUniComposeA(e1a)
184  LOSP%layoutstringpos%:=scpos
185  LOSE2%e1% := e2a
186  LOSE5%e1% := e5a
187  LOSE6%e1% := e6a
188  LOSEC%e1% := caps
189}
190
191Change1256Layout(newlayoutstring) {
192  global
193  if (strlen(newlayoutstring) != 33) {
194    MsgBox,Falscher Layoutstring, zu wenige Zeichen!
195    return
196  }
197  layoutstring := ""
198  layoutstringpos := 1
199  while (layoutstringpos <= 33) {
200    e1a := substr(newlayoutstring,layoutstringpos,1)
201    e1  := EncodeUniComposeA(e1a)
202    ED1256(LOSP%layoutstringpos%, LOSEC%e1%, e1a, LOSE2%e1%, LOSE5%e1%, LOSE6%e1%)
203    layoutstring .= e1a
204    layoutstringpos := layoutstringpos + 1
205  }
206}
207
208Change1256LayoutNeo20() {
209  global
210  Change1256Layout(neo20layoutstring)
211}
212
213EDNS(scpos,caps,e1a,e2a,e3a,e4a1,e4a2,e5a,e6a,e7a="",e8a="") {
214  global
215  ED(vkscn1%scpos%,caps,e1a,e2a,e3a,e4a1,e5a,e6a)
216  ED(vkscn2%scpos%,caps,e2a,e1a,e5a,e4a2,"","")
217}
218
219ED1(pos,e1a) {
220 ED(pos,0,e1a,e1a,e1a,e1a,e1a,e1a)
221}
222
223ED1S(scpos,e1a) {
224 EDS(scpos,0,e1a,e1a,e1a,e1a,e1a,e1a)
225}
226
227ED12(scpos,caps,e1a,e2a) {
228  global
229  pos := vksc%scpos%
230  e1  := EncodeUniComposeA(e1a)
231  e2  := EncodeUniComposeA(e2a)
232  if (caps == 0) {
233    NOC%pos% := 1
234    UNSH%e1% := 0
235  } else {
236    NOC%pos% := 0
237    UNSH%e1% := 1 ; unshift wenn caps lock + Shift?
238  }
239  SetKeyPos("CP1" . pos, e1)
240  SetKeyPos("CP2" . pos, e2)
241}
242
243ED1256(scpos,caps,e1a,e2a,e5a,e6a) {
244  global
245  pos := vksc%scpos%
246  e1  := EncodeUniComposeA(e1a)
247  e2  := EncodeUniComposeA(e2a)
248  e5  := EncodeUniComposeA(e5a)
249  e6  := EncodeUniComposeA(e6a)
250  if (caps == 0) {
251    NOC%pos% := 1
252    UNSH%e1% := 0
253  } else {
254    NOC%pos% := 0
255    UNSH%e1% := 1 ; unshift wenn caps lock + Shift?
256  }
257  SetKeyPos("CP1" . pos, e1)
258  SetKeyPos("CP2" . pos, e2)
259  SetKeyPos("CP5" . pos, e5)
260  SetKeyPos("CP6" . pos, e6)
261}
262
263Comp := ""
264
265; RegisterAndHookSC
266RSC(sc,vk) {
267  global
268  vksc%sc% := "VK" . vk . "SC" . sc
269  RKEY(vksc%sc%)
270}
271
272RSCN(sc,vk1,vk2) {
273  global
274  vkscn1%sc% := "VK" . vk1 . "SC" . sc
275  vkscn2%sc% := "VK" . vk2 . "SC" . sc
276  RKEY(vkscn1%sc%)
277  RKEY(vkscn2%sc%)
278}
279
280RKEY(key) {
281  RKEYN("*" . key)
282}
283
284RKEYS(keys) {
285  loop,parse,keys,`,
286  {
287    RKEY(A_Loopfield)
288  }
289}
290
291RKEYN(dnkey) {
292  upkey := dnkey . " up"
293  Hotkey,% dnkey,allstarhook
294  Hotkey,% upkey,allstarhook
295}
296
297Layout00000407() {
298  global
299; Reihe 1
300  RSC("029","DC")
301  RSC("002","31")
302  RSC("003","32")
303  RSC("004","33")
304  RSC("005","34")
305  RSC("006","35")
306  RSC("007","36")
307  RSC("008","37")
308  RSC("009","38")
309  RSC("00A","39")
310  RSC("00B","30")
311  RSC("00C","DB")
312  RSC("00D","DD")
313; Reihe 2
314  RSC("010","51")
315  RSC("011","57")
316  RSC("012","45")
317  RSC("013","52")
318  RSC("014","54")
319  RSC("015","5A")
320  RSC("016","55")
321  RSC("017","49")
322  RSC("018","4F")
323  RSC("019","50")
324  RSC("01A","BA")
325  RSC("01B","BB")
326  RSC("00D","DD")
327; Reihe 3
328  RSC("01E","41")
329  RSC("01F","53")
330  RSC("020","44")
331  RSC("021","46")
332  RSC("022","47")
333  RSC("023","48")
334  RSC("024","4A")
335  RSC("025","4B")
336  RSC("026","4C")
337  RSC("027","C0")
338  RSC("028","DE")
339; Reihe 4
340  RSC("02C","59")
341  RSC("02D","58")
342  RSC("02E","43")
343  RSC("02F","56")
344  RSC("030","42")
345  RSC("031","4E")
346  RSC("032","4D")
347  RSC("033","BC")
348  RSC("034","BE")
349  RSC("035","BD")
350; Numpad
351  RSC("145","90") ; NumLock
352  RSC("135","6F") ; NumpadDiv
353  RSC("037","6A") ; NumpadMult
354  RSC("04A","6D") ; NumpadSub
355  RSC("04E","6B") ; NumpadAdd
356  RSCN("047","67","24") ; Numpad7/NumpadHome
357  RSCN("048","68","26") ; Numpad8/NumpadUp
358  RSCN("049","69","21") ; Numpad9/NumpadPgUp
359  RSCN("04B","64","25") ; Numpad4/NumpadLeft
360  RSCN("04C","65","0C") ; Numpad5/NumpadClear
361  RSCN("04D","66","27") ; Numpad6/NumpadRight
362  RSCN("04F","61","23") ; Numpad1/NumpadEnd
363  RSCN("050","62","28") ; Numpad2/NumpadDown
364  RSCN("051","63","22") ; Numpad3/NumpadPgDn
365  RSCN("052","60","2D") ; Numpad0/NumpadIns
366  RSCN("053","6E","2E") ; NumpadDot/NumpadDel
367; Diverses
368  RKEYS("F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12")
369  RKEYS("space,enter,backspace")
370  RKEYS("del,ins,home,end,pgup,pgdn,up,down,left,right")
371; Diverses ohne *
372  RKEYN("tab")
373  RKEYN("esc")
374  RKEYN("numpadenter")
375; Modifier
376  RSC("02A","A0") ; M2L
377  RSC("136","A1") ; M2R
378  RSC("03A","14") ; M3L
379  RSC("02B","BF") ; M3R
380  RSC("056","E2") ; M4L
381  RSC("138","A5") ; M4R
382
383  /**** die meisten der folgenden Shortcuts werden von AHK zwar verarbeitet,
384   **** von dort aber nur als ALT+Numpad verschickt und daher nicht für alle
385   **** Programme nutzbar, also auskommentiert und als Unicode-Zeichen
386   **** geschickt.
387  */
388  ; DNCSU00005E := "{^}{space}"
389  ; DNCSU000060 := "{``}{space}"
390  ; DNCSU0000B4 := "{´}{space}"
391
392  CSU00005E := ""
393  CSU000060 := ""
394  CSU0000B4 := ""
395
396  CSU0020AC := chr(8364)   ; €
397  ; CSU00201A := chr(130) ; ‚
398  ; CSU000192 := chr(131) ; ƒ
399  ; CSU00201E := chr(132) ; „
400  ; CSU002026 := chr(133) ; …
401  ; CSU002020 := chr(134) ; †
402  ; CSU002021 := chr(135) ; ‡
403  ; CSU0002C6 := chr(136) ; ˆ
404  ; CSU002030 := chr(137) ; ‰
405  ; CSU000160 := chr(138) ; Š
406  ; CSU002039 := chr(139) ; ‹
407  ; CSU000152 := chr(140) ; Œ
408  ; CSU00017D := chr(142) ; Ž
409  ; CSU002018 := chr(145) ; ‘
410  ; CSU002019 := chr(146) ; ’
411  ; CSU00201C := chr(147) ; “
412  ; CSU00201D := chr(148) ; ”
413  ; CSU002022 := chr(149) ; •
414  ; CSU002013 := chr(150) ; –
415  ; CSU002014 := chr(151) ; —
416  ; CSU0002DC := chr(152) ; ˜
417  ; CSU002122 := chr(153) ; ™
418  ; CSU000161 := chr(154) ; š
419  ; CSU00203A := chr(155) ; ›
420  ; CSU000153 := chr(156) ; œ
421  ; CSU00017E := chr(158) ; ž
422  ; CSU000178 := chr(159) ; Ÿ
423  CSU0000A7 := chr(167)   ; §
424  CSU0000B0 := chr(176)   ; °
425  CSU0000B2 := chr(178)   ; ²
426  CSU0000B3 := chr(179)   ; ³
427  ; CSU0000B4 := chr(180)   ; ´
428  CSU0000B5 := chr(181)   ; µ
429  CSU0000C4 := chr(196)   ; Ä
430  CSU0000D6 := chr(214)   ; Ö
431  CSU0000DC := chr(220)   ; Ü
432  CSU0000DF := chr(223)   ; ß
433  CSU0000E4 := chr(228)   ; ä
434  CSU0000F6 := chr(246)   ; ö
435  CSU0000FC := chr(252)   ; ü
436  CSU0000FF := chr(255)   ; ÿ
437
438  /*
439    Für alle Zeichen, die durch Tastendrücke ohne Shift-Taste zustande kommen,
440    muss eine gegebenenfalls gedrückte Shift-Taste vor dem Senden temporär
441    gelöst werden. Dafür werden für sämtliche relevante Zeichen die passenden
442    UNSHU.... Variablen gesetzt.
443  */
444  ; Reihe 1
445  UNSHU00005E := 1 ; ^
446  UNSHU000031 := 1 ; 1
447  UNSHU000032 := 1 ; 2
448  UNSHU000033 := 1 ; 3
449  UNSHU000034 := 1 ; 4
450  UNSHU000035 := 1 ; 5
451  UNSHU000036 := 1 ; 6
452  UNSHU000037 := 1 ; 7
453  UNSHU000038 := 1 ; 8
454  UNSHU000039 := 1 ; 9
455  UNSHU000030 := 1 ; 0
456  UNSHU0000DF := 1 ; ß
457  UNSHU0000B4 := 1 ; ´
458  ; Alphabet
459  UNSHU000061 := 1 ; a
460  UNSHU000062 := 1 ; b
461  UNSHU000063 := 1 ; c
462  UNSHU000064 := 1 ; d
463  UNSHU000065 := 1 ; e
464  UNSHU000066 := 1 ; f
465  UNSHU000067 := 1 ; g
466  UNSHU000068 := 1 ; h
467  UNSHU000069 := 1 ; i
468  UNSHU00006A := 1 ; j
469  UNSHU00006B := 1 ; k
470  UNSHU00006C := 1 ; l
471  UNSHU00006D := 1 ; m
472  UNSHU00006E := 1 ; n
473  UNSHU00006F := 1 ; o
474  UNSHU000070 := 1 ; p
475  UNSHU000071 := 1 ; q
476  UNSHU000072 := 1 ; r
477  UNSHU000073 := 1 ; s
478  UNSHU000074 := 1 ; t
479  UNSHU000075 := 1 ; u
480  UNSHU000076 := 1 ; v
481  UNSHU000077 := 1 ; w
482  UNSHU000078 := 1 ; x
483  UNSHU000079 := 1 ; y
484  UNSHU00007A := 1 ; z
485  UNSHU0000E4 := 1 ; ä
486  UNSHU0000F6 := 1 ; ö
487  UNSHU0000FC := 1 ; ü
488  ; Rest
489  UNSHU00002B := 1 ; +
490  UNSHU000023 := 1 ; #
491  UNSHU00003C := 1 ; <
492  UNSHU00002C := 1 ; ,
493  UNSHU00002E := 1 ; .
494  UNSHU00002D := 1 ; -
495  ; AltGr
496  UNSHU0000B2 := 1 ; ²
497  UNSHU0000B3 := 1 ; ³
498  UNSHU00007B := 1 ; {
499  UNSHU00005B := 1 ; [
500  UNSHU00005D := 1 ; ]
501  UNSHU00007D := 1 ; }
502  UNSHU00005C := 1 ; \
503  UNSHU000040 := 1 ; @
504  UNSHU0020AC := 1 ; Euro
505  UNSHU00007E := 1 ; ~
506  UNSHU00007C := 1 ; |
507  UNSHU0000B5 := 1 ; µ
508}
509
510Layout00000807() {
511  global
512; Reihe 1
513  RSC("029","BF")
514  RSC("002","31")
515  RSC("003","32")
516  RSC("004","33")
517  RSC("005","34")
518  RSC("006","35")
519  RSC("007","36")
520  RSC("008","37")
521  RSC("009","38")
522  RSC("00A","39")
523  RSC("00B","30")
524  RSC("00C","DB")
525  RSC("00D","DD")
526; Reihe 2
527  RSC("010","51")
528  RSC("011","57")
529  RSC("012","45")
530  RSC("013","52")
531  RSC("014","54")
532  RSC("015","5A")
533  RSC("016","55")
534  RSC("017","49")
535  RSC("018","4F")
536  RSC("019","50")
537  RSC("01A","BA")
538  RSC("01B","C0")
539  RSC("00D","DD")
540; Reihe 3
541  RSC("01E","41")
542  RSC("01F","53")
543  RSC("020","44")
544  RSC("021","46")
545  RSC("022","47")
546  RSC("023","48")
547  RSC("024","4A")
548  RSC("025","4B")
549  RSC("026","4C")
550  RSC("027","DE")
551  RSC("028","DC")
552; Reihe 4
553  RSC("02C","59")
554  RSC("02D","58")
555  RSC("02E","43")
556  RSC("02F","56")
557  RSC("030","42")
558  RSC("031","4E")
559  RSC("032","4D")
560  RSC("033","BC")
561  RSC("034","BE")
562  RSC("035","BD")
563; Numpad
564  RSC("145","90") ; NumLock
565  RSC("135","6F") ; NumpadDiv
566  RSC("037","6A") ; NumpadMult
567  RSC("04A","6D") ; NumpadSub
568  RSC("04E","6B") ; NumpadAdd
569  RSCN("047","67","24") ; Numpad7/NumpadHome
570  RSCN("048","68","26") ; Numpad8/NumpadUp
571  RSCN("049","69","21") ; Numpad9/NumpadPgUp
572  RSCN("04B","64","25") ; Numpad4/NumpadLeft
573  RSCN("04C","65","0C") ; Numpad5/NumpadClear
574  RSCN("04D","66","27") ; Numpad6/NumpadRight
575  RSCN("04F","61","23") ; Numpad1/NumpadEnd
576  RSCN("050","62","28") ; Numpad2/NumpadDown
577  RSCN("051","63","22") ; Numpad3/NumpadPgDn
578  RSCN("052","60","2D") ; Numpad0/NumpadIns
579  RSCN("053","6E","2E") ; NumpadDot/NumpadDel
580; Diverses
581  RKEYS("F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12")
582  RKEYS("space,enter,backspace")
583  RKEYS("del,ins,home,end,pgup,pgdn,up,down,left,right")
584; Diverses ohne *
585  RKEYN("tab")
586  RKEYN("esc")
587  RKEYN("numpadenter")
588; Modifier
589  RSC("02A","A0") ; M2L
590  RSC("136","A1") ; M2R
591  RSC("03A","14") ; M3L
592  RSC("02B","DF") ; M3R
593  RSC("056","E2") ; M4L
594  RSC("138","A5") ; M4R
595
596  /**** die meisten der folgenden Shortcuts werden von AHK zwar verarbeitet,
597   **** von dort aber nur als ALT+Numpad verschickt und daher nicht für alle
598   **** Programme nutzbar, also auskommentiert und als Unicode-Zeichen
599   **** geschickt.
600  */
601  ; DNCSU00005E := "{^}{space}"
602  ; DNCSU000060 := "{``}{space}"
603  ; DNCSU0000B4 := "{´}{space}"
604
605  CSU00005E := ""
606  CSU000060 := ""
607  CSU0000B4 := ""
608
609  CSU0020AC := chr(8364)   ; €
610  ; CSU00201A := chr(130) ; ‚
611  ; CSU000192 := chr(131) ; ƒ
612  ; CSU00201E := chr(132) ; „
613  ; CSU002026 := chr(133) ; …
614  ; CSU002020 := chr(134) ; †
615  ; CSU002021 := chr(135) ; ‡
616  ; CSU0002C6 := chr(136) ; ˆ
617  ; CSU002030 := chr(137) ; ‰
618  ; CSU000160 := chr(138) ; Š
619  ; CSU002039 := chr(139) ; ‹
620  ; CSU000152 := chr(140) ; Œ
621  ; CSU00017D := chr(142) ; Ž
622  ; CSU002018 := chr(145) ; ‘
623  ; CSU002019 := chr(146) ; ’
624  ; CSU00201C := chr(147) ; “
625  ; CSU00201D := chr(148) ; ”
626  ; CSU002022 := chr(149) ; •
627  ; CSU002013 := chr(150) ; –
628  ; CSU002014 := chr(151) ; —
629  ; CSU0002DC := chr(152) ; ˜
630  ; CSU002122 := chr(153) ; ™
631  ; CSU000161 := chr(154) ; š
632  ; CSU00203A := chr(155) ; ›
633  ; CSU000153 := chr(156) ; œ
634  ; CSU00017E := chr(158) ; ž
635  ; CSU000178 := chr(159) ; Ÿ
636  CSU0000A7 := chr(167)   ; §
637  CSU0000B0 := chr(176)   ; °
638  ; CSU0000B2 := chr(178)   ; ²
639  ; CSU0000B3 := chr(179)   ; ³
640  ; CSU0000B4 := chr(180)   ; ´
641  ; CSU0000B5 := chr(181)   ; µ
642  ; CSU0000C4 := chr(196)   ; Ä
643  ; CSU0000D6 := chr(214)   ; Ö
644  ; CSU0000DC := chr(220)   ; Ü
645  ; CSU0000DF := chr(223)   ; ß
646  CSU0000E0 := chr(224)   ; à
647  CSU0000E4 := chr(228)   ; ä
648  CSU0000E8 := chr(232)   ; è
649  CSU0000E9 := chr(233)   ; é
650  CSU0000F6 := chr(246)   ; ö
651  CSU0000FC := chr(252)   ; ü
652  ; CSU0000FF := chr(255)   ; ÿ
653
654  /*
655    Für alle Zeichen, die durch Tastendrücke ohne Shift-Taste zustande kommen,
656    muss eine gegebenenfalls gedrückte Shift-Taste vor dem Senden temporär
657    gelöst werden. Dafür werden für sämtliche relevante Zeichen die passenden
658    UNSHU.... Variablen gesetzt.
659  */
660  ; Reihe 1
661  UNSHU0000A7 := 1 ; §
662  UNSHU000031 := 1 ; 1
663  UNSHU000032 := 1 ; 2
664  UNSHU000033 := 1 ; 3
665  UNSHU000034 := 1 ; 4
666  UNSHU000035 := 1 ; 5
667  UNSHU000036 := 1 ; 6
668  UNSHU000037 := 1 ; 7
669  UNSHU000038 := 1 ; 8
670  UNSHU000039 := 1 ; 9
671  UNSHU000030 := 1 ; 0
672  UNSHU000027 := 1 ; '
673  UNSHU00005E := 1 ; ^
674  ; Alphabet
675  UNSHU000061 := 1 ; a
676  UNSHU000062 := 1 ; b
677  UNSHU000063 := 1 ; c
678  UNSHU000064 := 1 ; d
679  UNSHU000065 := 1 ; e
680  UNSHU000066 := 1 ; f
681  UNSHU000067 := 1 ; g
682  UNSHU000068 := 1 ; h
683  UNSHU000069 := 1 ; i
684  UNSHU00006A := 1 ; j
685  UNSHU00006B := 1 ; k
686  UNSHU00006C := 1 ; l
687  UNSHU00006D := 1 ; m
688  UNSHU00006E := 1 ; n
689  UNSHU00006F := 1 ; o
690  UNSHU000070 := 1 ; p
691  UNSHU000071 := 1 ; q
692  UNSHU000072 := 1 ; r
693  UNSHU000073 := 1 ; s
694  UNSHU000074 := 1 ; t
695  UNSHU000075 := 1 ; u
696  UNSHU000076 := 1 ; v
697  UNSHU000077 := 1 ; w
698  UNSHU000078 := 1 ; x
699  UNSHU000079 := 1 ; y
700  UNSHU00007A := 1 ; z
701  UNSHU0000E4 := 1 ; ä
702  UNSHU0000F6 := 1 ; ö
703  UNSHU0000FC := 1 ; ü
704  ; Rest
705  UNSHU0000A8 := 1 ; ¨
706  UNSHU000024 := 1 ; $
707  UNSHU00003C := 1 ; <
708  UNSHU00002C := 1 ; ,
709  UNSHU00002E := 1 ; .
710  UNSHU00002D := 1 ; -
711  ; AltGr
712  UNSHU0000A6 := 1 ; ¦
713  UNSHU000040 := 1 ; @
714  UNSHU000023 := 1 ; #
715  UNSHU0000AC := 1 ; ¬
716  UNSHU00007C := 1 ; |
717  UNSHU0000A2 := 1 ; ¢
718  UNSHU0000B4 := 1 ; ´
719  UNSHU00007E := 1 ; ~
720  UNSHU0020AC := 1 ; Euro
721  UNSHU00005B := 1 ; [
722  UNSHU00005D := 1 ; ]
723  UNSHU00007B := 1 ; {
724  UNSHU00007D := 1 ; }
725  UNSHU00005C := 1 ; \
726}
727
728Layout00010407() {
729  Layout00000407()
730}
731
732ActivateLayOut(layout) {
733  Layout%layout%()
734}