From c63134e1ac0522b643dffd4c71bcff2b27eab30d Mon Sep 17 00:00:00 2001 From: martin_r Date: Mon, 18 Aug 2008 19:25:20 +0000 Subject: Modularisierung des AHK konsequent weitergeführt. neo20.txt: Ebenen 7 und 8 ergänzt, Ebenen 2 und 4 des Numpads vertauscht. Methods-Layers.ahk: Mod3-Lock abgeschafft, CapsLock neu geschrieben. + Viele kleine Änderungen. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.neo-layout.org@776 b9310e46-f624-0410-8ea1-cfbb3a30dc96 --- windows/autohotkey/Source/Methods-Other.ahk | 138 ---------------------------- 1 file changed, 138 deletions(-) (limited to 'windows/autohotkey/Source/Methods-Other.ahk') diff --git a/windows/autohotkey/Source/Methods-Other.ahk b/windows/autohotkey/Source/Methods-Other.ahk index e80d2e4..610f763 100644 --- a/windows/autohotkey/Source/Methods-Other.ahk +++ b/windows/autohotkey/Source/Methods-Other.ahk @@ -1,135 +1,3 @@ -/* - Funktionen -*/ - -/* -Ebenen laut Referenz: -1. Ebene (kein Mod) 4. Ebene (Mod4) -2. Ebene (Umschalt) 5. Ebene (Umschalt+Mod3) -3. Ebene (Mod3) 6. Ebene (Mod3+Mod4) -*/ - -EbeneAktualisieren() -{ - global - PriorDeadKey := DeadKey - PriorCompKey := CompKey - DeadKey := "" - CompKey := "" - Ebene12 := 0 - Ebene7 := 0 - Ebene8 := 0 - Modstate := IsShiftPressed() . IsMod3Pressed() . IsMod4Pressed() - - if (ahkTreiberKombi) - if ( Modstate = "001") - Ebene = 6 - else - Ebene = -1 - else - if (Modstate = "000") - Ebene = 1 ; Ebene 1: Ohne Mod - else if (Modstate = "100") - Ebene = 2 ; Ebene 2: Shift - else if (Modstate = "010") - Ebene = 3 ; Ebene 3: Mod3 - else if (Modstate = "001") - Ebene = 4 ; Ebene 4: Mod4 - else if (Modstate = "110") - Ebene = 5 ; Ebene 5: Shift+Mod3 - else if (Modstate = "011") - Ebene = 6 ; Ebene 6: Mod3+Mod4 - else if (Modstate = "101") - { - Ebene = 4 ; Ebene 7: Shift+Mod4 impliziert Ebene 4 - Ebene7 = 1 - } - else if (Modstate = "111") - { - Ebene = 6 ; Ebene 8: Shift+Mod3+Mod4 impliziert Ebene 6 - Ebene8 = 1 - } - - Ebene12 := ((Ebene = 1) or (Ebene = 2)) - - if GetKeyState("NumLock","T") - NumLock = 1 - else - NumLock = 0 -} - - -IsShiftPressed() -{ - return GetKeyState("Shift","P") -} - -IsMod3Pressed() -{ - global - if (IsMod3Locked) - { - return (not ( GetKeyState("CapsLock","P") or GetKeyState("#","P") )) ; # = SC02B - } - else { - return ( GetKeyState("CapsLock","P") or GetKeyState("#","P") ) ; # = SC02B - } -} - -IsMod4Pressed() -{ - global - if( not(einHandNeo) or not(spacepressed) ) - { - if (IsMod4Locked) - { - return (not ( GetKeyState("<","P") or GetKeyState("SC138","P"))) - } - else { - return ( GetKeyState("<","P") or GetKeyState("SC138","P")) - } - } - else - { - if (IsMod4Locked) - { - return (not ( GetKeyState("<","P") or GetKeyState("SC138","P") or GetKeyState("ä","P"))) - } - else { - return ( GetKeyState("<","P") or GetKeyState("SC138","P") or GetKeyState("ä","P")) - } - } - -} - - -SendUnicodeChar(charCode) -{ - IfWinActive, ahk_class gdkWindowToplevel - { - StringLower, charCode, charCode - send % "^+u" . SubStr(charCode,3) . " " - } else { - 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) - } -} -/* -Über den GTK-Workaround: -Dieser basiert auf http://www.autohotkey.com/forum/topic32947.html - -Der Aufruf von »SubStr(charCode,3)« geht davon aus, dass alle charCodes in Hex mit führendem „0x“ angegeben sind. Die abenteuerliche „^+u“-Konstruktion benötigt im Übrigen den Hex-Wert in Kleinschrift, was derzeit nicht bei den Zeichendefinitionen umgesetzt ist, daher zentral und weniger fehlerträchtig an dieser Stelle. Außerdem ein abschließend gesendetes Space, sonst bleibt der „eingetippte“ Unicode-Wert noch kurz sichtbar stehen, bevor er sich GTK-sei-dank in das gewünschte Zeichen verwandelt. -*/ - - BSSendUnicodeChar(charCode) { send {bs} @@ -148,12 +16,6 @@ Comp3UnicodeChar(charCode) SendUnicodeChar(charCode) } - -EncodeInteger(ref, val) -{ - DllCall("ntdll\RtlFillMemoryUlong", "Uint", ref, "Uint", 4, "Uint", val) -} - deadAsc(val) { global -- cgit v1.2.3