summaryrefslogtreecommitdiff
path: root/windows/autohotkey/Source/Methods-Other.ahk
diff options
context:
space:
mode:
Diffstat (limited to 'windows/autohotkey/Source/Methods-Other.ahk')
-rw-r--r--windows/autohotkey/Source/Methods-Other.ahk539
1 files changed, 539 insertions, 0 deletions
diff --git a/windows/autohotkey/Source/Methods-Other.ahk b/windows/autohotkey/Source/Methods-Other.ahk
new file mode 100644
index 0000000..b3da1a6
--- /dev/null
+++ b/windows/autohotkey/Source/Methods-Other.ahk
@@ -0,0 +1,539 @@
+/*
+ ------------------------------------------------------
+ Funktionen
+ ------------------------------------------------------
+*/
+
+/*
+Ebenen laut Referenz:
+1. Ebene (kein Mod) 4. Ebene (Mod4)
+2. Ebene (Umschalt) 5. Ebene (Mod3+Umschalt)
+3. Ebene (Mod3) 6. Ebene (Mod3+Mod4)
+*/
+
+EbeneAktualisieren()
+{
+ global
+ if (ahkTreiberKombi)
+ {
+ if ( IsMod4Pressed() and not(IsShiftPressed()) and not(IsMod3Pressed()))
+ {
+ Ebene = 6
+ }
+ else
+ {
+ Ebene = -1
+ }
+ }
+ else
+ {
+ if ( IsShiftPressed() )
+ { ; Umschalt
+ if ( IsMod3Pressed() )
+ { ; Umschalt UND Mod3
+ if ( IsMod4Pressed() )
+ { ; Umschald UND Mod3 UND Mod4
+ ; Ebene 8 impliziert Ebene 6
+ Ebene = 6
+ }
+ else
+ { ; Umschald UND Mod3 NICHT Mod4
+ Ebene = 5
+ }
+ }
+ else
+ { ; Umschalt NICHT Mod3
+ if ( IsMod4Pressed() )
+ { ; Umschald UND Mod4 NICHT Mod3
+ ; Ebene 7 impliziert Ebene 4
+ Ebene = 4
+ }
+ else
+ { ; Umschald NICHT Mod3 NICHT Mod4
+ Ebene = 2
+ }
+ }
+ }
+ else
+ { ; NICHT Umschalt
+ if ( IsMod3Pressed() )
+ { ; Mod3 NICHT Umschalt
+ if ( IsMod4Pressed() )
+ { ; Mod3 UND Mod4 NICHT Umschalt
+ Ebene = 6
+ }
+ else
+ { ; Mod3 NICHT Mod4 NICHT Umschalt
+ Ebene = 3
+ }
+ }
+ else
+ { ; NICHT Umschalt NICHT Mod3
+ if ( IsMod4Pressed() )
+ { ; Mod4 NICHT Umschalt NICHT Mod3
+ Ebene = 4
+ }
+ else
+ { ; NICHT Umschalt NICHT Mod3 NICHT Mod4
+ Ebene = 1
+ }
+ }
+ }
+ }
+}
+
+
+
+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") or altGrPressed ))
+ }
+ else {
+ return ( GetKeyState("<","P") or GetKeyState("SC138","P") or altGrPressed )
+ }
+ }
+ else
+ {
+ if (IsMod4Locked)
+ {
+ return (not ( GetKeyState("<","P") or GetKeyState("SC138","P") or GetKeyState("ä","P") or altGrPressed ))
+ }
+ else {
+ return ( GetKeyState("<","P") or GetKeyState("SC138","P") or GetKeyState("ä","P") or altGrPressed )
+ }
+ }
+
+}
+
+
+/*************************
+ Alte Methoden
+*************************/
+
+/*
+Unicode(code)
+{
+ saved_clipboard := ClipboardAll
+ Transform, Clipboard, Unicode, %code%
+ sendplay ^v
+ Clipboard := saved_clipboard
+}
+
+BSUnicode(code)
+{
+ saved_clipboard := ClipboardAll
+ Transform, Clipboard, Unicode, %code%
+ sendplay {bs}^v
+ Clipboard := saved_clipboard
+}
+*/
+
+IsModifierPressed()
+{
+ if (GetKeyState("LControl","P") or GetKeyState("RControl","P") or GetKeyState("LAlt","P") or GetKeyState("RAltl","P") or GetKeyState("LWin","P") or GetKeyState("RWin","P") or GetKeyState("LShift","P") or GetKeyState("RShift","P") or GetKeyState("AltGr","P") )
+ {
+ return 1
+ }
+ else
+ {
+ return 0
+ }
+}
+
+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)
+}
+
+BSSendUnicodeChar(charCode)
+{
+ send {bs}
+ SendUnicodeChar(charCode)
+}
+
+CompUnicodeChar(charCode)
+{
+ send {bs}
+ SendUnicodeChar(charCode)
+}
+
+Comp3UnicodeChar(charCode)
+{
+ send {bs}
+ send {bs}
+ SendUnicodeChar(charCode)
+}
+
+
+EncodeInteger(ref, val)
+{
+ DllCall("ntdll\RtlFillMemoryUlong", "Uint", ref, "Uint", 4, "Uint", val)
+}
+
+
+
+
+
+/*
+ ------------------------------------------------------
+ BildschirmTastatur
+ ------------------------------------------------------
+*/
+guiErstellt = 0
+alwaysOnTop = 1
+aktuellesBild = ebene1.png
+SC056 & *F1::
+SC138 & *F1::
+{
+ if (zeigeBildschirmTastatur)
+ goto Switch1
+ return
+}
+SC056 & *F2::
+SC138 & *F2::
+{
+ if (zeigeBildschirmTastatur)
+ goto Switch2
+ return
+}
+SC056 & *F3::
+SC138 & *F3::
+{
+ if (zeigeBildschirmTastatur)
+ goto Switch3
+ return
+}
+SC056 & *F4::
+SC138 & *F4::
+{
+ if (zeigeBildschirmTastatur)
+ goto Switch4
+ return
+}
+SC056 & *F5::
+SC138 & *F5::
+{
+ if (zeigeBildschirmTastatur)
+ goto Switch5
+ return
+}
+SC056 & *F6::
+SC138 & *F6::
+{
+ if (zeigeBildschirmTastatur)
+ goto Switch6
+ return
+}
+SC056 & *F7::
+SC138 & *F7::
+{
+ if (zeigeBildschirmTastatur)
+ goto Show
+ return
+}
+SC056 & *F8::
+SC138 & *F8::
+{
+ if (zeigeBildschirmTastatur)
+ goto ToggleAlwaysOnTop
+ return
+}
+Switch1:
+ if (guiErstellt)
+ {
+ if (Image == "ebene1.png")
+ goto Close
+ else
+ {
+ Image = ebene1.png
+ SetTimer, Refresh
+ }
+ }
+ else
+ {
+ Image = ebene1.png
+ goto Show
+ }
+Return
+
+Switch2:
+ if (guiErstellt)
+ {
+ if (Image == "ebene2.png")
+ goto Close
+ else
+ {
+ Image = ebene2.png
+ SetTimer, Refresh
+ }
+ }
+ else
+ {
+ Image = ebene2.png
+ goto Show
+ }
+Return
+
+Switch3:
+ if (guiErstellt)
+ {
+ if (Image == "ebene3.png")
+ goto Close
+ else
+ {
+ Image = ebene3.png
+ SetTimer, Refresh
+ }
+ }
+ else
+ {
+ Image = ebene3.png
+ goto Show
+ }
+Return
+
+Switch4:
+ if (guiErstellt)
+ {
+ if (Image == "ebene4.png")
+ goto Close
+ else
+ {
+ Image = ebene4.png
+ SetTimer, Refresh
+ }
+ }
+ else
+ {
+ Image = ebene4.png
+ goto Show
+ }
+Return
+
+Switch5:
+ if (guiErstellt)
+ {
+ if (Image == "ebene5.png")
+ goto Close
+ else
+ {
+ Image = ebene5.png
+ SetTimer, Refresh
+ }
+ }
+ else
+ {
+ Image = ebene5.png
+ goto Show
+ }
+Return
+
+Switch6:
+ if (guiErstellt)
+ {
+ if (Image == "ebene6.png")
+ goto Close
+ else
+ {
+ Image = ebene6.png
+ SetTimer, Refresh
+ }
+ }
+ else
+ {
+ Image = ebene6.png
+ goto Show
+ }
+Return
+
+Show:
+ if (guiErstellt)
+ {
+ goto Close
+ }
+ else
+ {
+ if (Image = "")
+ {
+ Image = ebene1.png
+ }
+ yPosition := A_ScreenHeight -270
+ Gui, Color, FFFFFF
+ Gui, Add, Button, xm+5 gSwitch1, F1
+ Gui, Add, Text, x+5, kleine Buchstaben
+ Gui, Add, Button, xm+5 gSwitch2, F2
+ Gui, Add, Text, x+5, große Buchstaben
+ Gui, Add, Button, xm+5 gSwitch3, F3
+ Gui, Add, Text, x+5, Satz-/Sonderzeichen
+ Gui, Add, Button, xm+5 gSwitch4, F4
+ Gui, Add, Text, x+5, Zahlen / Steuerung
+ Gui, Add, Button, xm+5 gSwitch5, F5
+ Gui, Add, Text, x+5, Sprachen
+ Gui, Add, Button, xm+5 gSwitch6, F6
+ Gui, Add, Text, x+5, Mathesymbole
+ Gui, Add, Button, xm+5 gShow, F7
+ Gui, Add, Text, x+5, An /
+ Gui, Add, Text, y+3, Aus
+ Gui, Add, Button, x+10 y+-30 gShow, F8
+ Gui, Add, Text, x+5, OnTop
+ Gui, Add, Picture,AltSubmit ys w564 h200 vPicture, %Image%
+ Gui, +AlwaysOnTop
+ Gui, Show, y%yposition% Autosize
+ SetTimer, Refresh
+ guiErstellt = 1
+ }
+Return
+
+Close:
+ guiErstellt = 0
+ Gui, Destroy
+Return
+
+Refresh:
+ If (Image != OldImage)
+ {
+ GuiControl, , Picture, %Image%
+ OldImage := Image
+ }
+Return
+
+ToggleAlwaysOnTop:
+ if (alwaysOnTop)
+ {
+ Gui, -AlwaysOnTop
+ alwaysOnTop = 0
+ }
+ else
+ {
+ Gui, +AlwaysOnTop
+ alwaysOnTop = 1
+ }
+Return
+ ; Ende der BildschirmTastatur
+
+
+/*
+ ------------------------------------------------------
+ Shift+Pause "pausiert" das Script.
+ ------------------------------------------------------
+*/
+
++pause::
+Suspend, Permit
+ goto togglesuspend
+return
+
+; ------------------------------------
+
+^SC034::einHandNeo := not(einHandNeo) ; Punkt
+^SC033::lernModus := not(lernModus) ; Komma
+
+
+
+togglesuspend:
+ if A_IsSuspended
+ {
+ menu, tray, rename, %enable%, %disable%
+ menu, tray, tip, %name%
+ if (iconBenutzen)
+ menu, tray, icon, neo.ico,,1
+ suspend , off ; Schaltet Suspend aus -> NEO
+ }
+ else
+ {
+ menu, tray, rename, %disable%, %enable%
+ menu, tray, tip, %name% : Deaktiviert
+ if (iconBenutzen)
+ menu, tray, icon, neo_disabled.ico,,1
+ suspend , on ; Schaltet Suspend ein -> QWERTZ
+ }
+
+return
+
+
+help:
+ Run, %A_WinDir%\hh mk:@MSITStore:autohotkey.chm
+return
+
+
+about:
+ msgbox, 64, %name% – Ergonomische Tastaturbelegung,
+ (
+ %name%
+ `nDas Neo-Layout ersetzt das übliche deutsche
+ Tastaturlayout mit der Alternative Neo,
+ beschrieben auf http://neo-layout.org/.
+ `nDazu sind keine Administratorrechte nötig.
+ `nWenn Autohotkey aktiviert ist, werden alle Tastendrucke
+ abgefangen und statt dessen eine Übersetzung weitergeschickt.
+ `nDies geschieht transparent für den Anwender,
+ es muss nichts installiert werden.
+ `nDie Zeichenübersetzung kann leicht über das Icon im
+ Systemtray deaktiviert werden. `n
+ )
+return
+
+
+neo:
+ run http://neo-layout.org/
+return
+
+autohotkey:
+ run http://autohotkey.com/
+return
+
+open:
+ ListLines ; shows the Autohotkey window
+return
+
+edit:
+ edit
+return
+
+reload:
+ Reload
+return
+
+hide:
+ menu, tray, noicon
+return
+
+exitprogram:
+ exitapp
+return
+
+
+
+
+