diff options
-rw-r--r-- | windows/autohotkey/Build-Update.bat | 21 | ||||
-rw-r--r-- | windows/autohotkey/Compose/Compose-Methods.ahk | 4 | ||||
-rw-r--r-- | windows/autohotkey/README.txt | 4 | ||||
-rw-r--r-- | windows/autohotkey/Source/All.ahk | 26 | ||||
-rw-r--r-- | windows/autohotkey/Source/Changelog-and-Todo.ahk | 19 | ||||
-rw-r--r-- | windows/autohotkey/Source/Global-Part.ahk | 11 | ||||
-rw-r--r-- | windows/autohotkey/Source/Keys-Neo.ahk | 109 | ||||
-rw-r--r-- | windows/autohotkey/Source/Keys-Qwert-to-Neo.ahk | 2 | ||||
-rw-r--r-- | windows/autohotkey/Source/Methods-Layers.ahk | 16 | ||||
-rw-r--r-- | windows/autohotkey/Source/Methods-Other.ahk | 8 |
10 files changed, 126 insertions, 94 deletions
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 <stm (at) neo-layout.org>
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
}
}
|