From 6d0b9db7e1dfa23ee0204b0a57847c4126e2500a Mon Sep 17 00:00:00 2001 From: dennis Date: Sat, 10 Jan 2009 16:33:14 +0000 Subject: =?UTF-8?q?Der=20=C2=BBalte=C2=AB=20AHK-Treiber=20ist=20als=20?= =?UTF-8?q?=C2=BBdeprecated=C2=AB=20einzustufen.=20Der=20Namenswechsel=20d?= =?UTF-8?q?es=20Verzeichnis=20soll=20dies=20wiederspielen=20und=20eventuel?= =?UTF-8?q?le=20=C2=BBGewohnheitsfehler=C2=AB=20vermeiden.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.neo-layout.org@1423 b9310e46-f624-0410-8ea1-cfbb3a30dc96 --- windows/ahk-auslaufend/Source/Methods-Other.ahk | 186 ++++++++++++++++++++++++ 1 file changed, 186 insertions(+) create mode 100644 windows/ahk-auslaufend/Source/Methods-Other.ahk (limited to 'windows/ahk-auslaufend/Source/Methods-Other.ahk') diff --git a/windows/ahk-auslaufend/Source/Methods-Other.ahk b/windows/ahk-auslaufend/Source/Methods-Other.ahk new file mode 100644 index 0000000..ab1d86b --- /dev/null +++ b/windows/ahk-auslaufend/Source/Methods-Other.ahk @@ -0,0 +1,186 @@ +deadAsc(val1, val2, a) { + global + if !DeadSilence + OutputChar(val1, val2) + else CheckComp(val2) + DeadKey := a +} + +deadUni(val1, val2, a) { + global + if !DeadSilence + SendUnicodeChar(val1, val2) + else CheckComp(val2) + DeadKey := a +} + +undeadAsc(val) { + global + if DeadSilence + send % val + else + send % "{bs}" . val +} + +undeadUni(val){ + global + if !DeadSilence + send {bs} + SendUnicodeChar(val, "") +} + +CheckDeadAsc(d,val) { + global + if (PriorDeadKey == d) { + undeadAsc(val) + return 1 + } +} + +CheckDeadUni(d,val) { + global + if (PriorDeadKey == d) { + undeadUni(val) + return 1 + } +} + +CheckDeadAsc12(d,val1,val2) { + global + if (PriorDeadKey == d){ + if (Ebene = 1) and (val1 != "") { + undeadAsc(val1) + return 1 + } else if (Ebene = 2) and (val2 != "") { + undeadAsc(val2) + return 1 + } + } +} + +CheckDeadUni12(d,val1,val2) { + global + if(PriorDeadKey == d) { + if (Ebene = 1) and (val1 != "") { + undeadUni(val1) + return 1 + } else if (Ebene = 2) and (val2 != "") { + undeadUni(val2) + return 1 + } + } +} + +CheckCompUni(d,val) { + global + if (CompKey == d) { + PriorCompKey = + CompKey = + if !DeadCompose + send {bs} + isFurtherCompkey = 0 + SendUnicodeChar(val, "") + return 1 + } +} + +OutputChar(val1,val2) { + global + if (!CheckComp(val2)) + send % "{blind}" . val1 +} + +OutputChar12(val1,val2,val3,val4) { + global + if (Ebene = 1) + c := val1 + else c := val2 + if (Ebene = 1) + d := val3 + else d := val4 + if (!CheckComp(d)) + if GetKeyState("Shift","P") and isMod2Locked + send % "{blind}{Shift Up}" . c . "{Shift Down}" + else send % "{blind}" . c +} + +;Folgende Funktion prüft, ob das eben geschriebene Zeichen eine gültige Coko +;fortsetzen KÖNNTE – falls ja, wird 1 zurückgegeben (die Eingabe soll blind erfolgen), +;andernfalls wird 0 zurückgegeben (das Zeichen soll ausgegeben werden). + +CheckComp(d) { + global + if (PriorDeadKey = "comp") { + CompKey := "<" . d . ">" + PriorDeadKey := DeadKey = + CheckCompose() + TryThirdCompKey = 0 + return 1 + } else if TryFourthCompKey { + TryFourthCompKey = 0 + CompKey := ThreeCompKeys . " " . "<" . d . ">" + ThreeCompKeys = + CheckCompose() + if !(CompKey) { + send {left}{bs}{right} + return 1 + } else CompKey = + } else if TryThirdCompKey { + TryThirdCompKey = 0 + CompKey := PriorCompKey . " " . "<" . d . ">" + CheckCompose() + if CompKey { + TryFourthCompKey = 1 + ThreeCompKeys := CompKey + CompKey = + } else return 1 + } else if PriorCompKey { + CompKey := PriorCompKey . " " . "<" . d . ">" + CheckCompose() + if CompKey + TryThirdCompKey = 1 + return 1 + } +} + +CumulateDeadKey(a) { + if DeadKey = a5 + { if a = g1 + DeadKey = a5g1 + else if a = a1 + DeadKey = a5a1 + else if a = a2 + DeadKey = a5a2 + else if a = g1a2 + DeadKey = a5g1a2 + else if a = a1a2 + DeadKey = a5a1a2 + else if a = c1a2 + DeadKey = a5c1a2 + } else if DeadKey = g5 + { if a = g1 + DeadKey = g5g1 + else if a = a1 + DeadKey = g5a1 + else if a = a2 + DeadKey = g5a2 + else if a = g1a2 + DeadKey = g5g1a2 + else if a = a1a2 + DeadKey = g5a1a2 + else if a = c1a2 + DeadKey = g5c1a2 + } else if DeadKey = g1 + { if a = a5 + DeadKey = a5g1 + else if a = g5 + DeadKey = g5g1 + else if a = a2 + DeadKey = g1a2 + else if a = a5a2 + DeadKey = a5g1a2 + else if a = g5a2 + DeadKey = g5g1a2 + } +} + -- cgit v1.2.3