summaryrefslogtreecommitdiffstats
path: root/windows/kbdneo2/Treiber/AHK_für_kbdneo2/kbdneo2.ahk
diff options
context:
space:
mode:
authorflorian <florian@b9310e46-f624-0410-8ea1-cfbb3a30dc96>2009-01-23 10:56:55 +0000
committerflorian <florian@b9310e46-f624-0410-8ea1-cfbb3a30dc96>2009-01-23 10:56:55 +0000
commit8ccce6e3a8565d0a99163c93ff93976f6137de48 (patch)
treed743ca7594ee8fa69e3c62bae5eb77dedce22f3a /windows/kbdneo2/Treiber/AHK_für_kbdneo2/kbdneo2.ahk
parent84996dc074dfefce99b74d08c3ce65bef78fce7a (diff)
AHK-Treiber für kbdneo2.ahk erweitert
git-svn-id: https://svn.neo-layout.org@1527 b9310e46-f624-0410-8ea1-cfbb3a30dc96
Diffstat (limited to 'windows/kbdneo2/Treiber/AHK_für_kbdneo2/kbdneo2.ahk')
-rw-r--r--windows/kbdneo2/Treiber/AHK_für_kbdneo2/kbdneo2.ahk448
1 files changed, 448 insertions, 0 deletions
diff --git a/windows/kbdneo2/Treiber/AHK_für_kbdneo2/kbdneo2.ahk b/windows/kbdneo2/Treiber/AHK_für_kbdneo2/kbdneo2.ahk
new file mode 100644
index 0000000..ac0ef42
--- /dev/null
+++ b/windows/kbdneo2/Treiber/AHK_für_kbdneo2/kbdneo2.ahk
@@ -0,0 +1,448 @@
+;*********************
+; Anfangsbedingungen *
+;*********************
+name=Neo 2.0 (Erweiterung für nativen Treiber)
+enable=Aktiviere %name%
+disable=Deaktiviere %name%
+#usehook on
+#LTrim
+
+; *** Benutze Bilder wennsie im aktuellen Verzeichnis vorhanden sind ***
+if (FileExist("ebene1.png")&&FileExist("ebene2.png")&&FileExist("ebene3.png")&&FileExist("ebene4.png")&&FileExist("ebene5.png")&&FileExist("ebene6.png"))
+ zeigeBildschirmTastatur = 1
+if (FileExist("neo_enabled.ico")&&FileExist("neo_disabled.ico"))
+ iconBenutzen=1
+
+
+;*************************
+; Menü des Systray-Icons *
+;*************************
+if (iconBenutzen)
+ menu,tray,icon,neo_enabled.ico,,1
+menu,tray,nostandard
+menu,tray,add,AHK öffnen,open
+ menu,helpmenu,add,Info,about
+ menu,helpmenu,add
+ menu,helpmenu,add,http://autohotkey.com/,autohotkey
+ menu,helpmenu,add,http://www.neo-layout.org/,neo
+menu,tray,add,Hilfe,:helpmenu
+menu,tray,add
+menu,tray,add,%disable%,togglesuspend
+menu,tray,add
+menu,tray,add,Skript Bearbeiten,edit
+menu,tray,add,Neu Laden,reload
+menu,tray,add
+menu,tray,add,Nicht im Systray anzeigen,hide
+menu,tray,add,%name% beenden,exitprogram
+menu,tray,default,%disable%
+menu,tray,tip,%name%
+
+
+;******************
+; Initialisierung *
+;******************
+isShiftRPressed := 0
+isShiftLPressed := 0
+isShiftPressed := 0
+isMod2Locked := 0
+isMod3RPressed := 0
+isMod3LPressed := 0
+isMod3Pressed := 0
+isMod4RPressed := 0
+isMod4LPressed := 0
+isMod4Pressed := 0
+isMod4Locked := 0
+isMod4Active := 0
+
+
+;***********************
+; Fehlende Funktionen *
+;***********************
+; *** benötigte Modifier werden gehookt ***
+~*SC136::
+ if (isShiftLPressed and !isShiftRPressed)
+ ToggleMod2Lock()
+ isShiftRPressed := 1
+ isShiftPressed := 1
+return
+
+~*SC136 up::
+ isShiftRPressed := 0
+ isShiftPressed := isShiftLPressed
+return
+
+~*SC02A::
+ if (isShiftRPressed and !isShiftLPressed)
+ ToggleMod2Lock()
+ isShiftLPressed := 1
+ isShiftPressed := 1
+return
+
+~*SC02A up::
+ isShiftLPressed := 0
+ isShiftPressed := isShiftRPressed
+return
+
+~*SC02B::
+ isMod3RPressed := 1
+ isMod3Pressed := 1
+return
+
+~*SC02B up::
+ isMod3RPressed := 0
+ isMod3Pressed := isMod3LPressed
+return
+
+~*SC03A::
+ isMod3LPressed := 1
+ isMod3Pressed := 1
+return
+
+~*SC03A up::
+ isMod3LPressed := 0
+ isMod3Pressed := isMod3RPressed
+return
+
+~*SC138::
+ if (isMod4LPressed and !isMod4RPressed)
+ ToggleMod4Lock()
+ isMod4RPressed := 1
+ isMod4Pressed := 1
+ doMod4()
+return
+
+~*SC138 up::
+ isMod4RPressed := 0
+ isMod4Pressed := isMod4LPressed
+ doMod4()
+return
+
+~*SC056::
+ if (isMod4RPressed and !isMod4LPressed)
+ ToggleMod4Lock()
+ isMod4LPressed := 1
+ isMod4Pressed := 1
+ doMod4()
+return
+
+~*SC056 up::
+ isMod4LPressed := 0
+ isMod4Pressed := isMod4RPressed
+ doMod4()
+return
+
+; *** Welcher Modifier ist aktiv und CapsLock und Mod4Lock ***
+ToggleMod2Lock() {
+ global
+ if (isMod2Locked)
+ {
+ isMod2Locked := 0
+ SetCapslockState off
+ }
+ else
+ {
+ isMod2Locked := 1
+ SetCapslockState on
+ }
+}
+
+ToggleMod4Lock() {
+ global
+ if (isMod4Locked)
+ isMod4Locked := 0
+ else
+ isMod4Locked := 1
+}
+
+doMod4() {
+ global
+ if (isMod4Locked)
+ {
+ if (isMod4Pressed)
+ isMod4Active := 0
+ else
+ isMod4Active := 1
+ }
+ else
+ {
+ if (isMod4Pressed)
+ isMod4Active := 1
+ else
+ isMod4Active := 0
+ }
+}
+
+; *** Funktionstasten ***
+~*4::
+if (isMod4Active and !isMod3Pressed)
+Sendinput {Blind}{PGUP}
+return
+
+~*v::
+if (isMod4Active and !isMod3Pressed)
+Ifwinactive ahk_class Notepad++
+Sendinput {Blind}{BACKSPACE}{BACKSPACE}
+return
+
+~*l::
+if (isMod4Active and !isMod3Pressed)
+Sendinput {Blind}{UP}
+return
+
+~*c::
+if (isMod4Active and !isMod3Pressed)
+Sendinput {Blind}{DEL}
+return
+
+~*w::
+if (isMod4Active and !isMod3Pressed)
+Sendinput {Blind}{INS}
+return
+
+~*u::
+if (isMod4Active and !isMod3Pressed)
+Sendinput {Blind}{HOME}
+return
+
+~*i::
+if (isMod4Active and !isMod3Pressed)
+Sendinput {Blind}{LEFT}
+return
+
+~*a::
+if (isMod4Active and !isMod3Pressed)
+Sendinput {Blind}{DOWN}
+return
+
+~*e::
+if (isMod4Active and !isMod3Pressed)
+Sendinput {Blind}{RIGHT}
+return
+
+~*o::
+if (isMod4Active and !isMod3Pressed)
+Sendinput {Blind}{END}
+return
+
+~*ö::
+if (isMod4Active and !isMod3Pressed)
+Ifwinactive ahk_class Notepad++
+Sendinput {Blind}{BACKSPACE}{TAB}
+return
+
+~*ä::
+if (isMod4Active and !isMod3Pressed)
+Sendinput {Blind}{PGDN}
+return
+
+~*p::
+if (isMod4Active and !isMod3Pressed)
+Ifwinactive ahk_class Notepad++
+Sendinput {Blind}{BACKSPACE}{ENTER}
+return
+
+
+;*****************
+; Menüfunktionen *
+;*****************
+togglesuspend:
+ if A_IsSuspended {
+ menu,tray,rename,%enable%,%disable%
+ menu,tray,tip,%name%
+ if (iconBenutzen)
+ menu,tray,icon,neo_enabled.ico,,1
+ suspend,off ; Schaltet Suspend aus
+ } 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
+ } return
+
+about:
+ msgbox, 64, NEO 2.0 – Ergonomische Tastaturbelegung,
+ (
+ %name%
+ `nDas Neo-Layout ist ein alternatives deutsches Tastaturlayout
+ Näheres finden Sie unter http://neo-layout.org/.
+ `nDieses Skript erweitert den nativen Tastaturtreiber um
+ einige fehlende Funktionen.
+ )
+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
+
+
+;*********************
+; BildschirmTastatur *
+;*********************
+guiErstellt = 0
+alwaysOnTop = 1
+
+*F1::
+ if (isMod4Pressed&&zeigeBildschirmTastatur)
+ goto Switch1
+ else send {blind}{F1}
+return
+
+*F2::
+ if (isMod4Pressed&&zeigeBildschirmTastatur)
+ goto Switch2
+ else send {blind}{F2}
+return
+
+*F3::
+ if (isMod4Pressed&&zeigeBildschirmTastatur)
+ goto Switch3
+ else send {blind}{F3}
+return
+
+*F4::
+ if (isMod4Pressed&&zeigeBildschirmTastatur)
+ goto Switch4
+ else send {blind}{F4}
+return
+
+*F5::
+ if (isMod4Pressed&&zeigeBildschirmTastatur)
+ goto Switch5
+ else send {blind}{F5}
+return
+
+*F6::
+ if (isMod4Pressed&&zeigeBildschirmTastatur)
+ goto Switch6
+ else send {blind}{F6}
+return
+
+*F7::
+ if (isMod4Pressed&&zeigeBildschirmTastatur)
+ goto Show
+ else send {blind}{F7}
+return
+
+*F8::
+ if (isMod4Pressed&&zeigeBildschirmTastatur)
+ goto ToggleAlwaysOnTop
+ else send {blind}{F8}
+return
+
+Switch1:
+ tImage := "ebene1.png"
+ goto Switch
+Return
+
+Switch2:
+ tImage := "ebene2.png"
+ goto Switch
+Return
+
+Switch3:
+ tImage := "ebene3.png"
+ goto Switch
+Return
+
+Switch4:
+ tImage := "ebene4.png"
+ goto Switch
+Return
+
+Switch5:
+ tImage := "ebene5.png"
+ goto Switch
+Return
+
+Switch6:
+ tImage := "ebene6.png"
+ goto Switch
+Return
+
+Switch:
+ if guiErstellt {
+ if (Image = tImage)
+ goto Close
+ else {
+ Image := tImage
+ SetTimer, Refresh
+ }
+ } else {
+ Image := tImage
+ 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,Button,xm+5 gSwitch2,F2
+ Gui,Add,Button,xm+5 gSwitch3,F3
+ Gui,Add,Button,xm+5 gSwitch4,F4
+ Gui,Add,Button,xm+5 gSwitch5,F5
+ Gui,Add,Button,xm+5 gSwitch6,F6
+ 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 w729 h199 vPicture,%Image%
+ Gui,+AlwaysOnTop
+ Gui,Show,y%yposition% Autosize
+ 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 \ No newline at end of file