neora

keydefinitions.ahk für Neo mit dem TECK

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