From 198f8defe08b7e6cf2ce1ed1d005039e1ed533b4 Mon Sep 17 00:00:00 2001 From: nora Date: Tue, 29 May 2007 19:05:24 +0000 Subject: =?UTF-8?q?autohotkey:=20neo20-all-in-one.ahk=20f=C3=BCr=20David?= =?UTF-8?q?=20aktualisiert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.neo-layout.org@132 b9310e46-f624-0410-8ea1-cfbb3a30dc96 --- windows/XP/autohotkey/neo20-all-in-one.ahk | 875 ++++++++++++++++------------- 1 file changed, 479 insertions(+), 396 deletions(-) (limited to 'windows') diff --git a/windows/XP/autohotkey/neo20-all-in-one.ahk b/windows/XP/autohotkey/neo20-all-in-one.ahk index 8ee91da..289d738 100644 --- a/windows/XP/autohotkey/neo20-all-in-one.ahk +++ b/windows/XP/autohotkey/neo20-all-in-one.ahk @@ -1,8 +1,13 @@ /* - Titel: NEO Autohotkey-Treiber - Version: 0.01b - Datum: 28.05.2007 - Basiert auf: Neo-Layout und Neo-Remap vom 25.05.2007 + Titel: NEO Autohotkey-Treiber + Version: 0.03b + Datum: 29.05.2007 + Basiert auf: Neo-Layout und Neo-Remap vom 25.05.2007 + + TODO: - Nummernblock hinzufgen + - DeadKeys tot machen (?) + - Men des Tasksymbols + - Symbol ndern? */ ; aus Nora's script kopiert: @@ -48,8 +53,6 @@ if inputlocale <> 00000407 exitapp } - - ; Variablen initialisieren Ebene = 1 myPriorHotkey = "" @@ -72,8 +75,12 @@ return ; Mod5-Tasten einen Hotkey zuweisen, damit die QWERTZ-Entsprechung nicht mehr ausgegeben wird: *<:: -*<^>!:: -return +*SC138:: + if GetKeyState("<","P") and GetKeyState("SC138","P") + { + send {numpaddot} + } + return @@ -91,6 +98,12 @@ return */ +/* + ------------------------------------------------------ + Reihe 1 + ------------------------------------------------------ +*/ + *^:: EbeneAktualisieren() if Ebene = 1 @@ -105,18 +118,22 @@ return } else if Ebene = 3 { + Unicode("˘") ; brevis myPriorHotkey = "c3" } else if Ebene = 4 { + send - ; querstrich, tot myPriorHotkey = "c4" } else if Ebene = 5 { + Unicode("·") ; Mittenpunkt, tot myPriorHotkey = "c5" } else if Ebene = 6 { + Send . ; punkt darunter myPriorHotkey = "c6" } return @@ -132,15 +149,11 @@ return } else if Ebene = 2 send - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 4 + send + else if Ebene = 5 + Unicode("⅛") ; 1/8 + myPriorHotkey = "" return *2:: @@ -154,15 +167,9 @@ return } else if Ebene = 2 send - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 4 + send + myPriorHotkey = "" return *3:: @@ -176,15 +183,11 @@ return } else if Ebene = 2 send - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 4 + send + else if Ebene = 5 + Unicode("⅜") ; 3/8 + myPriorHotkey = "" return *4:: @@ -193,15 +196,15 @@ return send 4 else if Ebene = 2 send $ - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 3 + send + else if Ebene = 4 + send + else if Ebene = 5 + Send {PgUp} ; Prev + else if Ebene = 6 + Send +{Prev} + myPriorHotkey = "" return *5:: @@ -210,15 +213,15 @@ return send 5 else if Ebene = 2 send - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 3 + send + else if Ebene = 4 + send + else if Ebene = 5 + Unicode("⅝") ; 5/8 + else if Ebene = 6 + Unicode("⇒") ; Implikation + myPriorHotkey = "" return *6:: @@ -227,15 +230,13 @@ return send 6 else if Ebene = 2 send - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 3 + send + else if Ebene = 4 + send + else if Ebene = 6 + Unicode("⇔") ; quivalenz + myPriorHotkey = "" return *7:: @@ -244,15 +245,14 @@ return send 7 else if Ebene = 2 send - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 3 + send + else if Ebene = 4 + send + else if Ebene = 5 + Unicode("⅞") ; 7/8 + else if Ebene = 6 + myPriorHotkey = "" return *8:: @@ -261,15 +261,15 @@ return send 8 else if Ebene = 2 send - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 3 + send + else if Ebene = 4 + send + else if Ebene = 5 + Send / + else if Ebene = 6 + Unicode("∃") ; Existenzquantor + myPriorHotkey = "" return *9:: @@ -278,15 +278,15 @@ return send 9 else if Ebene = 2 send - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 3 + send + else if Ebene = 4 + send + else if Ebene = 5 + Send * + else if Ebene = 6 + Unicode("∀") ; Allquantor + myPriorHotkey = "" return *0:: @@ -295,15 +295,15 @@ return send 0 else if Ebene = 2 send - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 3 + send + else if Ebene = 4 + send + else if Ebene = 5 + Send - + else if Ebene = 6 + Send + myPriorHotkey = "" return *:: @@ -312,22 +312,20 @@ return send - ; Bind else if Ebene = 2 Unicode("–") ; Ged - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 3 + Unicode("—") + else if Ebene = 4 + send + else if Ebene = 6 + Unicode("∨") ; logisch oder + myPriorHotkey = "" return *:: EbeneAktualisieren() if Ebene = 1 { - send {"a1"}{space} ; akut, tot + send {}{space} ; akut, tot myPriorHotkey = "a1" } else if Ebene = 2 @@ -337,38 +335,46 @@ return } else if Ebene = 3 { + send ; cedilla myPriorHotkey = "a3" } else if Ebene = 4 { + Unicode("˛") ; ogonek myPriorHotkey = "a4" } else if Ebene = 5 { + Unicode("˙") ; punkt oben drber myPriorHotkey = "a5" } else if Ebene = 6 { + Unicode("˚") ; ring obendrauf myPriorHotkey = "a6" } return +/* + ------------------------------------------------------ + Reihe 2 + ------------------------------------------------------ +*/ + *q:: EbeneAktualisieren() if Ebene = 1 sendinput {blind}x else if Ebene = 2 sendinput {blind}X - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 3 + send @ + else if Ebene = 4 + Unicode("ξ") ;xi + else if Ebene = 6 + Unicode("Ξ") ; Xi + myPriorHotkey = "" return @@ -388,15 +394,13 @@ return Else sendinput {blind}V } - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 3 + send _ + else if Ebene = 5 + Send {Backspace} + else if Ebene = 6 + Unicode("Λ") ; Lambda + myPriorHotkey = "" return @@ -438,15 +442,15 @@ return sendinput {blind}L } - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 3 + send [ + else if Ebene = 4 + Unicode("λ") ;lambda + else if Ebene = 5 + Send {Up} + else if Ebene = 6 + Send +{Up} + myPriorHotkey = "" return @@ -482,15 +486,15 @@ return Else sendinput {blind}C } - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 3 + send ] + else if Ebene = 4 + Unicode("χ") ;chi + else if Ebene = 5 + Send {Tab} + else if Ebene = 6 + Send +{Tab} + myPriorHotkey = "" return *t:: @@ -509,15 +513,13 @@ return Else sendinput {blind}W } - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 3 + send {^}{space} ; untot + else if Ebene = 5 + Send {Insert} + else if Ebene = 6 + Send +{Insert} + myPriorHotkey = "" return *z:: @@ -540,15 +542,15 @@ return Else sendinput {blind}K } - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 3 + sendraw ! + else if Ebene = 4 + Unicode("κ") ;kappa + else if Ebene = 5 + Send + else if Ebene = 6 + Send + myPriorHotkey = "" return *u:: @@ -577,15 +579,20 @@ return BSUnicode("Ḥ") Else sendinput {blind}H } - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 3 + { + If myPriorHotkey = "c4" ; Querstrich + BSUnicode("≤") + Else + send < + } + else if Ebene = 4 + Unicode("ψ") ;psi + else if Ebene = 5 + Send 7 + else if Ebene = 6 + Unicode("Ψ") ; Phi + myPriorHotkey = "" return *i:: @@ -614,15 +621,20 @@ return BSUnicode("Ġ") Else sendinput {blind}G } - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 3 + { + If myPriorHotkey = "c4" ; Querstrich + BSUnicode("≥") + Else + send > + } + else if Ebene = 4 + Unicode("γ") ;gamma + else if Ebene = 5 + Send 8 + else if Ebene = 6 + Unicode("Γ") ; Gamma + myPriorHotkey = "" return *o:: @@ -643,15 +655,40 @@ return BSUnicode("Ḟ") Else sendinput {blind}F } - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 3 + { + If myPriorHotkey = "c1" ; circumflex + BSUnicode("≙") + Else If myPriorHotkey = "t1" ; tilde + BSUnicode("≅") + Else If myPriorHotkey = "t5" ; Schrgstrich + BSUnicode("≠") + Else If myPriorHotkey = "c4" ; Querstrich + BSUnicode("≡") + Else If myPriorHotkey = "c2" ; caron + BSUnicode("≚") + Else If myPriorHotkey = "a6" ; ring drber + BSUnicode("≗") + + + +/* + was bedeutet dieser PriorHotkey? + ich steig da irgendwie nicht durch... +*/ + + Else If myPriorHotkey = +1 ; Grad + BSUnicode("≗") + Else + send `= + } + else if Ebene = 4 + Unicode("φ") ;phi + else if Ebene = 5 + Send 9 + else if Ebene = 6 + Unicode("Φ") ; Psi + myPriorHotkey = "" return *p:: @@ -660,15 +697,13 @@ return sendinput {blind}q else if Ebene = 2 sendinput {blind}Q - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 3 + send {&} + else if Ebene = 5 + Send {+} + else if Ebene = 6 + Unicode("∧") ; logisches Und + myPriorHotkey = "" return *:: @@ -677,15 +712,15 @@ return sendinput {blind} else if Ebene = 2 send SS ; wird versal- - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 3 + Unicode("ij") ; ij + else if Ebene = 4 + Unicode("IJ") ;IJ + else if Ebene = 5 + Unicode("ə") ; schwa + else if Ebene = 6 + Unicode("Ə") ; Schwa + myPriorHotkey = "" return @@ -703,23 +738,33 @@ return } else if Ebene = 3 { + Unicode("¨") ; Diaerese myPriorHotkey = "t3" } else if Ebene = 4 { + send " ;doppelakut myPriorHotkey = "t4" } else if Ebene = 5 { + Unicode("/") ; Schrgstrich, tot myPriorHotkey = "t5" } else if Ebene = 6 { + Unicode("ˏ") ; komma drunter, tot myPriorHotkey = "t6" } return +/* + ------------------------------------------------------ + Reihe 3 + ------------------------------------------------------ +*/ + *a:: EbeneAktualisieren() if Ebene = 1 @@ -776,15 +821,13 @@ return Else sendinput {blind}U } - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 3 + send \ + else if Ebene = 5 + Send {Home} + else if Ebene = 6 + Send +{Home} + myPriorHotkey = "" return *s:: @@ -835,15 +878,15 @@ return Else sendinput {blind}I } - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 3 + send `/ + else if Ebene = 4 + Unicode("ι") ;iota + else if Ebene = 5 + Send {Left} + else if Ebene = 6 + Send +{Left} + myPriorHotkey = "" return *d:: @@ -894,16 +937,15 @@ return Else sendinput {blind}A } - - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 3 + sendraw { + else if Ebene = 4 + Unicode("α") ;alpha + else if Ebene = 5 + Send {Down} + else if Ebene = 6 + Send +{Down} + myPriorHotkey = "" return *f:: @@ -954,15 +996,15 @@ return Else sendinput {blind}E } - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 3 + sendraw } + else if Ebene = 4 + Unicode("ε") ;epsilon + else if Ebene = 5 + Send {Right} + else if Ebene = 6 + Send +{Right} + myPriorHotkey = "" return *g:: @@ -1013,15 +1055,15 @@ return Else sendinput {blind}O } - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 3 + send * + else if Ebene = 4 + Unicode("ω") ;omega + else if Ebene = 5 + Send {End} + else if Ebene = 6 + Send +{End} + myPriorHotkey = "" return *h:: @@ -1060,16 +1102,15 @@ return Else sendinput {blind}S } - - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 3 + send ? + else if Ebene = 4 + Unicode("σ") ;sigma + else if Ebene = 5 + Send + else if Ebene = 6 + Unicode("Σ") ; Sigma + myPriorHotkey = "" return *j:: @@ -1104,15 +1145,15 @@ return Else sendinput {blind}N } - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 3 + send ( + else if Ebene = 4 + Unicode("ν") ;nu + else if Ebene = 5 + Send 4 + else if Ebene = 6 + Unicode("№") ; No + myPriorHotkey = "" return *k:: @@ -1147,15 +1188,15 @@ return Else sendinput {blind}R } - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 3 + send ) + else if Ebene = 4 + Unicode("ρ") ;rho + else if Ebene = 5 + Send 5 + else if Ebene = 6 + Unicode("®") ; (R) + myPriorHotkey = "" return *l:: @@ -1190,15 +1231,15 @@ return Else sendinput {blind}T } - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 3 + send - ; Bind + else if Ebene = 4 + Unicode("τ") ;tau + else if Ebene = 5 + Send 6 + else if Ebene = 6 + Unicode("™") ; TM + myPriorHotkey = "" return *:: @@ -1232,15 +1273,15 @@ return BSUnicode("Ḍ") Else sendinput {blind}D } - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - - myPriorHotkey = "" + else if Ebene = 3 + send : + else if Ebene = 4 + Unicode("δ") ;delta + else if Ebene = 5 + Send `, + else if Ebene = 6 + Unicode("Δ") ; Delta + myPriorHotkey = "" return *:: @@ -1267,34 +1308,36 @@ return Else sendinput {blind}Y } - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - + else if Ebene = 4 + Unicode("υ") ;upsilon + else if Ebene = 5 + Send ; thorn + else if Ebene = 6 + Send ; Thorn myPriorHotkey = "" return ;SC02B (#) wird zu Mod3 + +/* + ------------------------------------------------------ + Reihe 4 + ------------------------------------------------------ +*/ + ;SC056 (<) wird zu Mod5 + *y:: EbeneAktualisieren() if Ebene = 1 sendinput {blind} else if Ebene = 2 sendinput {blind} - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - + else if Ebene = 3 + send {#} + else if Ebene = 5 + Send {Esc} myPriorHotkey = "" return @@ -1304,14 +1347,12 @@ return sendinput {blind} else if Ebene = 2 sendinput {blind} - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - + else if Ebene = 3 + send $ + else if Ebene = 5 + Send {Del} + else if Ebene = 6 + Unicode("∫") ; Int myPriorHotkey = "" return @@ -1321,14 +1362,14 @@ return sendinput {blind} else if Ebene = 2 sendinput {blind} - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - + else if Ebene = 3 + send | + else if Ebene = 4 + Unicode("η") ;eta + else if Ebene = 5 + Send {PgDn} ; Next + else if Ebene = 6 + Send +{PgDn} myPriorHotkey = "" return @@ -1348,15 +1389,19 @@ return Else sendinput {blind}P } - - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - + else if Ebene = 3 + { + If myPriorHotkey = "t1" ; tilde + BSUnicode("≈") + Else + sendraw ~ + } + else if Ebene = 4 + Unicode("π") ;pi + else if Ebene = 5 + Send {Enter} + else if Ebene = 6 + Unicode("Π") ; Pi myPriorHotkey = "" return @@ -1386,15 +1431,12 @@ return Else sendinput {blind}Z } - - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - + else if Ebene = 3 + send ``{space} ; untot + else if Ebene = 4 + Unicode("ζ") ;zeta + else if Ebene = 6 + Unicode("Ω") ; Omega myPriorHotkey = "" return @@ -1414,15 +1456,14 @@ return Else sendinput {blind}B } - - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - + else if Ebene = 3 + send {+} + else if Ebene = 4 + Unicode("β") ;beta + else if Ebene = 5 + Unicode("∞") ;infty + else if Ebene = 6 + Unicode("•") ; bullet myPriorHotkey = "" return @@ -1446,15 +1487,12 @@ return Else sendinput {blind}M } - - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - + else if Ebene = 3 + send `% + else if Ebene = 4 + Unicode("µ") ;micro, mu wre μ + else if Ebene = 5 + Send 1 myPriorHotkey = "" return @@ -1462,16 +1500,14 @@ return EbeneAktualisieren() if Ebene = 1 send `, -; else if Ebene = 2 - - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - + else if Ebene = 3 + send ' + else if Ebene = 4 + Unicode("ϑ") ;vartheta? + else if Ebene = 5 + Send 2 + else if Ebene = 6 + Unicode("√") ; sqrt myPriorHotkey = "" return @@ -1481,14 +1517,14 @@ return send . else if Ebene = 2 Unicode("…") ; ellipse - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - + else if Ebene = 3 + send " + else if Ebene = 4 + Unicode("θ") ;theta + else if Ebene = 5 + Send 3 + else if Ebene = 6 + Unicode("Θ") ; Theta myPriorHotkey = "" return @@ -1509,22 +1545,50 @@ return Else sendinput {blind}J } - ;else if Ebene = 3 - - ;else if Ebene = 4 - - ;else if Ebene = 5 - - ;else if Ebene = 6 - + else if Ebene = 3 + send `; + else if Ebene = 5 + Send . + else if Ebene = 6 + Unicode("∇") ; Nabla myPriorHotkey = "" return +/* + ------------------------------------------------------ + Sondertasten + ------------------------------------------------------ +*/ + +*Space:: + EbeneAktualisieren() + if Ebene = 4 + SendUnicodeChar(0x00A0) ; geschtztes Leerzeichen + else if Ebene = 5 + Send 0 + else if Ebene = 6 + SendUnicodeChar(0x2009) ; schmales Leerzeichen + else + Send {Space} + myPriorHotkey = "" +return + +*Enter:: + Send {Enter} + myPriorhotkey = "" +return -; Funktionen -; ------------------------------------------------------ +*Backspace:: + Send {Backspace} + myPriorhotkey = "" +return +/* + ------------------------------------------------------ + Funktionen + ------------------------------------------------------ +*/ EbeneAktualisieren() { @@ -1542,7 +1606,7 @@ EbeneAktualisieren() Ebene += 2 } ; ist Mod5 down? Mod3 hat Vorrang! - else if ( GetKeyState("<","P") or GetKeyState("<^>!","P") ) + else if ( GetKeyState("<","P") or GetKeyState("SC138","P") ) { Ebene += 4 } @@ -1564,4 +1628,23 @@ BSUnicode(code) Transform, Clipboard, Unicode, %code% send {bs}^v Clipboard := saved_clipboard +} + +SendUnicodeChar(charCode) +{ + VarSetCapacity(ki, 28 * 2, 0) + + EncodeInteger(&ki + 0, 1) + EncodeInteger(&ki + 6, charCode) + EncodeInteger(&ki + 8, 4) + EncodeInteger(&ki +28, 1) + EncodeInteger(&ki +34, charCode) + EncodeInteger(&ki +36, 4|2) + + DllCall("SendInput", "UInt", 2, "UInt", &ki, "Int", 28) +} + +EncodeInteger(ref, val) +{ + DllCall("ntdll\RtlFillMemoryUlong", "Uint", ref, "Uint", 4, "Uint", val) } \ No newline at end of file -- cgit v1.2.3