From 8ccce6e3a8565d0a99163c93ff93976f6137de48 Mon Sep 17 00:00:00 2001 From: florian Date: Fri, 23 Jan 2009 10:56:55 +0000 Subject: =?UTF-8?q?AHK-Treiber=20f=C3=BCr=20kbdneo2.ahk=20erweitert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.neo-layout.org@1527 b9310e46-f624-0410-8ea1-cfbb3a30dc96 --- .../Treiber/AHK_f\303\274r_kbdneo2/kbdneo2.ahk" | 448 +++++++++++++++++++++ 1 file changed, 448 insertions(+) create mode 100644 "windows/kbdneo2/Treiber/AHK_f\303\274r_kbdneo2/kbdneo2.ahk" (limited to 'windows/kbdneo2/Treiber/AHK_für_kbdneo2/kbdneo2.ahk') diff --git "a/windows/kbdneo2/Treiber/AHK_f\303\274r_kbdneo2/kbdneo2.ahk" "b/windows/kbdneo2/Treiber/AHK_f\303\274r_kbdneo2/kbdneo2.ahk" new file mode 100644 index 0000000..ac0ef42 --- /dev/null +++ "b/windows/kbdneo2/Treiber/AHK_f\303\274r_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 -- cgit v1.2.3