Rechtschreibfehler korrigiert, Syntaxen korrigiert, Lang-s-Tastatur-Option hinzugefügt

This commit is contained in:
martin_r 2008-07-08 17:02:22 +00:00
parent 2f6059ff45
commit 38c118eaaa
10 changed files with 126 additions and 94 deletions

View File

@ -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
rem wie kann man hier mit der Skriptabarbeitung weitermachen?

View File

@ -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.

View File

@ -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 ==

View File

@ -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

View File

@ -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:
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):

View File

@ -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

View File

@ -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 := ""

View File

@ -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::

View File

@ -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

View File

@ -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
}
}