From c5acf91f2bf11c143d56bffe71f5cb1234bde1bc Mon Sep 17 00:00:00 2001 From: martin_r Date: Tue, 8 Jul 2008 17:02:22 +0000 Subject: Rechtschreibfehler korrigiert, Syntaxen korrigiert, Lang-s-Tastatur-Option hinzugefügt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.neo-layout.org@624 b9310e46-f624-0410-8ea1-cfbb3a30dc96 --- windows/autohotkey/Build-Update.bat | 21 ++--- windows/autohotkey/Compose/Compose-Methods.ahk | 4 +- windows/autohotkey/README.txt | 4 +- windows/autohotkey/Source/All.ahk | 26 +++--- windows/autohotkey/Source/Changelog-and-Todo.ahk | 19 ++-- windows/autohotkey/Source/Global-Part.ahk | 11 +-- windows/autohotkey/Source/Keys-Neo.ahk | 109 ++++++++++++++++------- windows/autohotkey/Source/Keys-Qwert-to-Neo.ahk | 2 +- windows/autohotkey/Source/Methods-Layers.ahk | 16 ++-- windows/autohotkey/Source/Methods-Other.ahk | 8 +- 10 files changed, 126 insertions(+), 94 deletions(-) (limited to 'windows') diff --git a/windows/autohotkey/Build-Update.bat b/windows/autohotkey/Build-Update.bat index d6503af..d4f7470 100644 --- a/windows/autohotkey/Build-Update.bat +++ b/windows/autohotkey/Build-Update.bat @@ -1,35 +1,30 @@ @echo off - - echo Setting local path variables + REM The path to the Auto Hotkeyprogram set ahk=C:\Programme\AutoHotkey + REM The path to the authohotkey directory in the local svn copy set svn=. + REM Just some usefull shortcuts: set scr="%svn%\Source" set fn=neo20-all-in-one - - echo Killing the old (AHK)Driver -tskill neo20-all-in-one - - +REM tskill neo20-all-in-one echo Creating a new Driver from the Source code REM The order *is* important! copy "%scr%\Warning.ahk" + "%scr%\Changelog-and-Todo.ahk" + "%scr%\Global-Part.ahk" + "%scr%\Methods-Layers.ahk" + "%scr%\Keys-Qwert-to-Neo.ahk" + "%scr%\Keys-Neo.ahk" + "%scr%\Methods-Lights.ahk" + "%scr%\Methods-Other.ahk" "%svn%\%fn%.ahk" - - +REM if exist "%svn%\Compose\Compose-all-in-one.ahk" copy "%svn%\%fn%.ahk" + "%svn%\Compose\Compose-all-in-one.ahk" "%svn%\%fn%.ahk" echo Compiling the new Driver using Autohotkey "%ahk%\Compiler\Ahk2Exe.exe" /in "%svn%\%fn%.ahk" /out "%svn%\%fn%.exe" /icon "%svn%\neo.ico" - - - echo Driver Update complete! You can now close this log-window. + REM Start the new Driver %fn%.exe -exit \ No newline at end of file + +rem wie kann man hier mit der Skriptabarbeitung weitermachen? \ No newline at end of file diff --git a/windows/autohotkey/Compose/Compose-Methods.ahk b/windows/autohotkey/Compose/Compose-Methods.ahk index 42bfd19..598d456 100644 --- a/windows/autohotkey/Compose/Compose-Methods.ahk +++ b/windows/autohotkey/Compose/Compose-Methods.ahk @@ -18,10 +18,10 @@ Autoren: Matthias Berg, Dennis Heidsiek * Kurze Beschreibung der Funktionsweise ******************************************* -compose aktiviert die hotstrings und die nächsten gr (copyright) oder 12 +compose aktiviert die hotstrings und die nächsten oc (copyright) oder 12 (einhalb) werden ersetzt und deaktivieren es aber sofort. -Also {compose}neogrneo12 wird zu neo©neo12 (einhalb wird nicht ersetzt). +Also {compose}neoocneo12 wird zu neo©neo12 (einhalb wird nicht ersetzt). damit dies aber nicht unendlich lange geht (also erst ein paar Wörter später eine Ersetzung erfolgt, weil nach Compose doch umentschieden wurde), wird mit Space (vielleicht auch später mit anderen Tasten) compose wieder deaktiviert. diff --git a/windows/autohotkey/README.txt b/windows/autohotkey/README.txt index a32cfe5..b05f612 100644 --- a/windows/autohotkey/README.txt +++ b/windows/autohotkey/README.txt @@ -1,4 +1,4 @@ -Version 14.06.2008 +Version 14.06.2008 == Installation == === Direkte Installation === @@ -73,7 +73,7 @@ funktioniert ist das Ausschalten des Ziffernblocks nicht unbedingt nötig. == Besonderheiten bei der ahk-Windowsversion von Neo == -Ebene 4 des Ziffernblocks lässt sich außer über Mod3+Shift auch über +Ebene 5 des Ziffernblocks lässt sich außer über Mod3+Shift auch über Mod4 ansprechen. == Warnung == diff --git a/windows/autohotkey/Source/All.ahk b/windows/autohotkey/Source/All.ahk index 2ba1f2e..86681fd 100644 --- a/windows/autohotkey/Source/All.ahk +++ b/windows/autohotkey/Source/All.ahk @@ -6,24 +6,18 @@ Siehe auch: http://www.autohotkey.com/docs/commands/_Include.htm - - - ToDo: - if(exist(compose.ahk)) then (include(compose.ahk)) einbauen - + ------------------------------------------------------ */ -#Include Warning.ahk -#Include Changelog-and-Todo.ahk -#Include Global-Part.ahk -#Include Methods-Layers.ahk -#Include Keys-Qwert-to-Neo.ahk -#Include Keys-Neo.ahk -#Include Methods-Lights.ahk -#Include Methods-Other.ahk - - - +#Include %a_scriptdir%\Warning.ahk +#Include %a_scriptdir%\Changelog-and-Todo.ahk +#Include %a_scriptdir%\Global-Part.ahk +#Include %a_scriptdir%\Methods-Layers.ahk +#Include %a_scriptdir%\Keys-Qwert-to-Neo.ahk +#Include %a_scriptdir%\Keys-Neo.ahk +#Include %a_scriptdir%\Methods-Lights.ahk +#Include %a_scriptdir%\Methods-Other.ahk +;#Include %a_scriptdir%\..\Compose\Compose-all-in-one.ahk diff --git a/windows/autohotkey/Source/Changelog-and-Todo.ahk b/windows/autohotkey/Source/Changelog-and-Todo.ahk index 485f408..1d874d6 100644 --- a/windows/autohotkey/Source/Changelog-and-Todo.ahk +++ b/windows/autohotkey/Source/Changelog-and-Todo.ahk @@ -1,7 +1,7 @@ /* Titel: NEO 2.0 beta Autohotkey-Treiber - $Revision: 583 $ - $Date: 2008-06-28 02:23:42 +0200 (Sa, 28 Jun 2008) $ + $Revision: 624 $ + $Date: 2008-07-08 18:50:00 +0200 (Di, 07 Jul 2008) $ Autor: Stefan Mayer Basiert auf: neo20-all-in-one.ahk vom 29.06.2007 @@ -10,29 +10,28 @@ nicht mehr abgefangen werden müssen. - Testen ob die Capslocklösung (siehe *1:: ebene 1) auch für Numpad gebraucht wird - Sind Ebenen vom Touchpad noch richtig? - - Die Bildschirmtastatur mit Mod4 deaktiviert den Mod4-Lock + - Die Bildschirmtastatur mit Mod4 deaktiviert den Mod4-Lock Ideen: - Symbol ändern (Neo-Logo abwarten) - bei Ebene 4 rechte Hand (Numpad) z.B. Numpad5 statt 5 senden - CHANGEHISTORY: - - + CHANGEHISTORY: - Revision: 616 + Revision 624(von Martin Roppelt): + - Lang-s-Tastatur (ein- und auszuschalten durch Mod4+ß) Revision 616 (von Dennis Heidsiek): - - Der nicht funktionierender Mod5-Lock-Fix wurde wieder entfernt, da + - Der nicht funktionierende Mod5-Lock-Fix wurde wieder entfernt, da er sogar neue Fehler produzierte. Revision 615 (von Dennis Heidsiek): - Erfolgloser Versuch, den Mod4-Lock wiederherzustellen - (durch eine Tilde von den Scancodes der Bildschirmtastatur). + (durch eine Tilde vor den Scancodes der Bildschirmtastatur). - Rechtschreibfehler korrigiert. - Zwei AHK-Links eingefügt. Revision 609 (von Dennis Heidsiek): - Vorläufiger Abschluss der AHK-Modularisierung. - Bessere Testmöglichkeit »All.ahk« für AHK-Entwickler hinzugefügt, bei der sich die Zeilenangaben in Fehlermeldungen auf die tatsächlichen Module und - nicht auf das grosse »vereinigte« Skript beziehen. + nicht auf das große »vereinigte« Skript beziehen. Revision 608 (von Martin Roppelt): - Rechtschreibfehler korrigiert und Dateinamen aktualisiert und sortiert. Revision 590 (von Dennis Heidsiek): diff --git a/windows/autohotkey/Source/Global-Part.ahk b/windows/autohotkey/Source/Global-Part.ahk index ccf5c2f..10bdf92 100644 --- a/windows/autohotkey/Source/Global-Part.ahk +++ b/windows/autohotkey/Source/Global-Part.ahk @@ -5,11 +5,12 @@ */ ; Im folgenden gilt (soweit nicht anders angegeben) Ja = 1, Nein = 0: -ahkTreiberKombi := 0 ; Sollen Ebenen 1-4 ignoriert werden? (kann z.B. vom dll Treiber übernommen werden) -einHandNeo := 0 ; Soll der Treiber im Einhandmodus betrieben werden? -lernModus := 0 ; Soll der Lernmodus aktiviert werden? -bildschirmTastaturEinbinden := 1 ; Sollen die Bilder für die Bildschirmtastatur in die EXE-Datei miteingebunden werden (Nachteil: grössere Dateigrösse, Vorteil: Referenz für Anfanger stets einfach verfügbar) -UseMod4Light := 1 ; Aktivierter Mod4 Lock wird über die Rollen-LED des Keybord angezeigt (analog zu CapsLock) +ahkTreiberKombi := 0 ; Sollen Ebenen 1-4 ignoriert werden? (kann z.B. vom dll Treiber übernommen werden) +einHandNeo := 0 ; Soll der Treiber im Einhandmodus betrieben werden? +lernModus := 0 ; Soll der Lernmodus aktiviert werden? +bildschirmTastaturEinbinden := 1 ; Sollen die Bilder für die Bildschirmtastatur in die EXE-Datei miteingebunden werden (Nachteil: grössere Dateigrösse, Vorteil: Referenz für Anfänger stets einfach verfügbar) +UseMod4Light := 1 ; Aktivierter Mod4 Lock wird über die Rollen-LED des Keybord angezeigt (analog zu CapsLock) +LangSTastatur := 0 ; Sollen Lang-s auf s, s auf ß und ß auf M3+ß gelegt werden? Process, Priority,, High diff --git a/windows/autohotkey/Source/Keys-Neo.ahk b/windows/autohotkey/Source/Keys-Neo.ahk index 5c269ad..2de91a6 100644 --- a/windows/autohotkey/Source/Keys-Neo.ahk +++ b/windows/autohotkey/Source/Keys-Neo.ahk @@ -6,7 +6,7 @@ Die eigentliche NEO-Belegung und der Hauptteil des AHK-Treibers. 1. Ebene Aktualisieren 2. Abhängig von der Variablen "Ebene" Zeichen ausgeben und die Variable "PriorDeadKey" setzen - Ablauf bei "lebenden" (sagt man das?) Tasten: + Ablauf bei "untoten" Tasten: 1. Ebene Aktualisieren 2. Abhängig von den Variablen "Ebene" und "PriorDeadKey" Zeichen ausgeben 3. "PriorDeadKey" mit leerem String überschreiben @@ -26,27 +26,27 @@ neo_tot1: } else if Ebene = 2 { - SendUnicodeChar(0x02C7) ; caron, tot + SendUnicodeChar(0x02C7) ; caron, tot PriorDeadKey := "c2" } else if Ebene = 3 { - SendUnicodeChar(0x02D8) ; brevis + SendUnicodeChar(0x02D8) ; brevis PriorDeadKey := "c3" } else if Ebene = 4 { - SendUnicodeChar(0x00B7) ; Mittenpunkt, tot + SendUnicodeChar(0x00B7) ; Mittenpunkt, tot PriorDeadKey := "c5" } else if Ebene = 5 { - send - ; querstrich, tot + send - ; querstrich, tot PriorDeadKey := "c4" } else if Ebene = 6 { - Send . ; punkt darunter (colon) + Send . ; punkt darunter (colon) PriorDeadKey := "c6" } return @@ -1165,13 +1165,13 @@ neo_f: BSSendUnicodeChar(0x2259) ; entspricht else if (PriorDeadKey = "t1") ; tilde BSSendUnicodeChar(0x2245) ; ungefähr gleich - else if (PriorDeadKey = "t5") ; Schrägstrich + else if (PriorDeadKey = "t5") ; Schrägstrich BSSendUnicodeChar(0x2260) ; ungleich - else if (PriorDeadKey = "c4") ; Querstrich + else if (PriorDeadKey = "c4") ; Querstrich BSSendUnicodeChar(0x2261) ; identisch - else if (PriorDeadKey = "c2") ; caron + else if (PriorDeadKey = "c2") ; caron BSSendUnicodeChar(0x225A) ; EQUIANGULAR TO - else if (PriorDeadKey = "a6") ; ring drüber + else if (PriorDeadKey = "a6") ; ring drüber BSSendUnicodeChar(0x2257) ; ring equal to else send `= @@ -1210,7 +1210,7 @@ neo_q: Send {+} } else if Ebene = 5 - SendUnicodeChar(0x03D5) ; phi symbol (varphi) + SendUnicodeChar(0x03D5) ; phi symbol (varphi) else if Ebene = 6 SendUnicodeChar(0x211A) ; Q (rationale Zahlen) PriorDeadKey := "" CompKey := "" @@ -1221,29 +1221,50 @@ neo_sz: if Ebene = 1 if GetKeyState("CapsLock","T") { - SendUnicodeChar(0x1E9E) ; versal-ß + SendUnicodeChar(0x1E9E) ; verssal-ß } else { - send ß - } + if (LangSTastatur = 1) + { + sendinput {blind}s + } + else + { + send ß + } + } else if Ebene = 2 if GetKeyState("CapsLock","T") { - send ß + if (LangSTastatur = 1) + { + sendinput {blind}s + } + else + { + send ß + } } else { SendUnicodeChar(0x1E9E) ; versal-ß } else if Ebene = 3 - SendUnicodeChar(0x017F) ; langes s + { + if (LangSTastatur = 1) + send ß + else + SendUnicodeChar(0x017F) ; langes s + } else if Ebene = 4 - {} ; leer + { + LangSTastatur := not(LangSTastatur) ; schaltet die Lang-s-Tastatur ein und aus + } else if Ebene = 5 SendUnicodeChar(0x03C2) ; varsigma else if Ebene = 6 - SendUnicodeChar(0x2218) ; Verknüpfungsoperator + SendUnicodeChar(0x2218) ; Verknüpfungsoperator PriorDeadKey := "" CompKey := "" return @@ -1692,20 +1713,30 @@ neo_s: EbeneAktualisieren() if Ebene = 1 { - if (PriorDeadKey = "c1") ; circumflex + if (PriorDeadKey = "c1") ; circumflex BSSendUnicodeChar(0x015D) - else if (PriorDeadKey = "a1") ; akut + else if (PriorDeadKey = "a1") ; akut BSSendUnicodeChar(0x015B) - else if (PriorDeadKey = "c2") ; caron + else if (PriorDeadKey = "c2") ; caron BSSendUnicodeChar(0x0161) - else if (PriorDeadKey = "a3") ; cedilla + else if (PriorDeadKey = "a3") ; cedilla BSSendUnicodeChar(0x015F) - else if (PriorDeadKey = "a5") ; punkt darüber + else if (PriorDeadKey = "a5") ; punkt darüber BSSendUnicodeChar(0x1E61) else if (PriorDeadKey = "c6") ; punkt darunter BSSendUnicodeChar(0x1E63) - else - sendinput {blind}s + else + { + if (LangSTastatur = 1) + { + if GetKeyState("CapsLock","T") + sendinput {blind}s + else + SendUnicodeChar(0x017F) ; langes s + } + else + sendinput {blind}s + } if (PriorDeadKey = "comp") CompKey := "s_small" else @@ -1713,20 +1744,25 @@ neo_s: } else if Ebene = 2 { - if (PriorDeadKey = "c1") ; circumflex + if (PriorDeadKey = "c1") ; circumflex BSSendUnicodeChar(0x015C) - else if (PriorDeadKey = "c2") ; caron + else if (PriorDeadKey = "c2") ; caron BSSendUnicodeChar(0x0160) - else if (PriorDeadKey = "a1") ; akut + else if (PriorDeadKey = "a1") ; akut BSSendUnicodeChar(0x015A) - else if (PriorDeadKey = "a3") ; cedilla + else if (PriorDeadKey = "a3") ; cedilla BSSendUnicodeChar(0x015E) - else if (PriorDeadKey = "a5") ; punkt darüber + else if (PriorDeadKey = "a5") ; punkt darüber BSSendUnicodeChar(0x1E60) else if (PriorDeadKey = "c6") ; punkt darunter BSSendUnicodeChar(0x1E62) else - sendinput {blind}S + { + if GetKeyState("CapsLock","T") && (LangSTastatur = 1) + SendUnicodeChar(0x017F) + else + sendinput {blind}S + } if (PriorDeadKey = "comp") CompKey := "s_capital" else @@ -2283,7 +2319,8 @@ neo_komma: } } - else { + else + { send {blind}, } } @@ -3305,11 +3342,15 @@ neo_tab: } */ } - else if (IsMod3Pressed()) { ;# + else if (IsMod3Pressed()) ;# + { PriorDeadKey := "comp" CompKey := "" + ;#include *i %a_include%\Compose.ahk + ;#include *i %a_include%\Source\Compose.ahk } - else { + else + { send {blind}{Tab} PriorDeadKey := "" CompKey := "" diff --git a/windows/autohotkey/Source/Keys-Qwert-to-Neo.ahk b/windows/autohotkey/Source/Keys-Qwert-to-Neo.ahk index facfa50..2f3490a 100644 --- a/windows/autohotkey/Source/Keys-Qwert-to-Neo.ahk +++ b/windows/autohotkey/Source/Keys-Qwert-to-Neo.ahk @@ -62,7 +62,7 @@ return { goto neo_sz } -*SC00D::goto neo_tot2 ; Akkut +*SC00D::goto neo_tot2 ; Akut ; Reihe 2 *Tab::goto neo_tab *q:: diff --git a/windows/autohotkey/Source/Methods-Layers.ahk b/windows/autohotkey/Source/Methods-Layers.ahk index b88724b..e2d4bb7 100644 --- a/windows/autohotkey/Source/Methods-Layers.ahk +++ b/windows/autohotkey/Source/Methods-Layers.ahk @@ -39,22 +39,24 @@ IsMod4Locked := 0 < & *SC138:: if (IsMod4Locked) { -; MsgBox Mod4-Feststellung aufgebehoben + MsgBox Mod4-Feststellung aufgebehoben IsMod4Locked = 0 - if (UseMod4Light==1) { + if (UseMod4Light==1) + { KeyboardLED(1,"off") } } else { -; MsgBox Mod4 festgestellt: Um Mod4 wieder zu lösen drücke beide Mod4 Tasten gleichzeitig + MsgBox Mod4 festgestellt: Um Mod4 wieder zu lösen drücke beide Mod4 Tasten gleichzeitig IsMod4Locked = 1 - if (UseMod4Light==1) { + if (UseMod4Light==1) + { KeyboardLED(1,"on") } - } return + *SC138:: altGrPressed := 1 return ; Damit AltGr nicht extra etwas schickt und als stiller Modifier geht. @@ -62,7 +64,7 @@ return ; Damit AltGr nicht extra etwas schickt und als stiller Modifier geht. altGrPressed := 0 return -/* ; das folgende wird seltsamerweise nicht gebraucht :) oder führt zum AltGr Bug; Umschalt+‹ (Mod4) Zeigt ‹ +; das folgende wird seltsamerweise nicht gebraucht :) oder führt zum AltGr Bug; Umschalt+‹ (Mod4) Zeigt ‹ SC138 & *<:: if (IsMod4Locked) { @@ -75,7 +77,7 @@ SC138 & *<:: IsMod4Locked = 1 } return -*/ + ; Mod3-Lock durch Mod3+Mod3 IsMod3Locked := 0 diff --git a/windows/autohotkey/Source/Methods-Other.ahk b/windows/autohotkey/Source/Methods-Other.ahk index b3da1a6..16967d1 100644 --- a/windows/autohotkey/Source/Methods-Other.ahk +++ b/windows/autohotkey/Source/Methods-Other.ahk @@ -7,7 +7,7 @@ /* Ebenen laut Referenz: 1. Ebene (kein Mod) 4. Ebene (Mod4) -2. Ebene (Umschalt) 5. Ebene (Mod3+Umschalt) +2. Ebene (Umschalt) 5. Ebene (Umschalt+Mod3) 3. Ebene (Mod3) 6. Ebene (Mod3+Mod4) */ @@ -32,7 +32,7 @@ EbeneAktualisieren() if ( IsMod3Pressed() ) { ; Umschalt UND Mod3 if ( IsMod4Pressed() ) - { ; Umschald UND Mod3 UND Mod4 + { ; Umschalt UND Mod3 UND Mod4 ; Ebene 8 impliziert Ebene 6 Ebene = 6 } @@ -44,12 +44,12 @@ EbeneAktualisieren() else { ; Umschalt NICHT Mod3 if ( IsMod4Pressed() ) - { ; Umschald UND Mod4 NICHT Mod3 + { ; Umschalt UND Mod4 NICHT Mod3 ; Ebene 7 impliziert Ebene 4 Ebene = 4 } else - { ; Umschald NICHT Mod3 NICHT Mod4 + { ; Umschalt NICHT Mod3 NICHT Mod4 Ebene = 2 } } -- cgit v1.2.3