summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorflorian <florian@b9310e46-f624-0410-8ea1-cfbb3a30dc96>2009-01-22 15:52:13 +0000
committerflorian <florian@b9310e46-f624-0410-8ea1-cfbb3a30dc96>2009-01-22 15:52:13 +0000
commit0740a8ba9e23c76d26627c4d3482c2952091ed8f (patch)
treec403c33b9445f5fde78887ab3680050f2fe12eae
parent04b7c9624376e711742c71e27944fcc97fdc8cfb (diff)
Bildschirmtastatur und Tray-Icons nun auch für ahk_kbdneo2.ahk
git-svn-id: https://svn.neo-layout.org@1510 b9310e46-f624-0410-8ea1-cfbb3a30dc96
-rw-r--r--windows/kbdneo2/Treiber/AHK_für_kbdneo2/ahk_kbdneo2.ahk268
1 files changed, 265 insertions, 3 deletions
diff --git a/windows/kbdneo2/Treiber/AHK_für_kbdneo2/ahk_kbdneo2.ahk b/windows/kbdneo2/Treiber/AHK_für_kbdneo2/ahk_kbdneo2.ahk
index 5dad2c7..b1054dc 100644
--- a/windows/kbdneo2/Treiber/AHK_für_kbdneo2/ahk_kbdneo2.ahk
+++ b/windows/kbdneo2/Treiber/AHK_für_kbdneo2/ahk_kbdneo2.ahk
@@ -1,4 +1,47 @@
-;Inititalisierung
+;*********************
+; 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.ico")&&FileExist("neo_aus.ico"))
+ iconBenutzen=1
+
+
+
+;*************************
+; Menü des Systray-Icons *
+;*************************
+if (iconBenutzen)
+ menu,tray,icon,neo.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
@@ -12,11 +55,11 @@ isMod4Pressed := 0
isMod4Locked := 0
isMod4Active := 0
-
~F24::return
-; alle Modifier werden gehookt
+
+; benötigte Modifier werden gehookt
~*SC136::
if (isShiftLPressed and !isShiftRPressed)
@@ -203,3 +246,222 @@ 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.ico,,1
+ suspend,off ; Schaltet Suspend aus
+ } else {
+ menu,tray,rename,%disable%, %enable%
+ menu,tray,tip,%name% : Deaktiviert
+ if (iconBenutzen)
+ menu,tray,icon,neo_aus.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,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 \ No newline at end of file