1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
; -*- encoding: utf-8 -*-
if (A_IsCompiled) {
; Revisionsinformation bereits verfügbar
} else {
; Revisionsinformation nicht verfügbar oder nicht zuverlässig, neu generieren
if (FileExist(".svn")<>False) {
; .svn existiert, scheint also ausgecheckt worden zu sein
RegRead,TSVNPath,HKLM,SOFTWARE\TortoiseSVN,Directory
RegRead,SVNPath,HKLM,SOFTWARE\CollabNet\Subversion\1.5.4\Client,Install Location
if (TSVNPath<>"") {
; fein, TSVN ist installiert!
RunWait, "%TSVNPath%bin\SubWCRev.exe" "." "Source\_subwcrev1.tmpl.ahk" "Source\_subwcrev1.generated.ahk",,Hide
FileRead,TSVNRevFull,Source\_subwcrev1.generated.ahk
RegExMatch(TSVNRevFull,"""(.*)""",SubPat)
Revision := SubPat1
} else if (SVNPath<>"") {
; fein, CollabNet-SVN-Client ist installiert!
RunWait, %comspec% /c ""%SVNPath%\svnversion.exe" "." >"Source\_svnversion.generated.txt"",,Hide
FileRead,SVNRevFull,Source\_svnversion.generated.txt
RegExMatch(SVNRevFull,"(.*)$",SubPat)
Revision := SubPat1
} else {
; nichts installiert. Was jetzt?
Revision := "<unknown>"
}
} else {
; kein .svn-Verzeichnis. Was jetzt?
Revision := "<unknown>"
}
}
name=Neo 2.0 r%Revision%-r%CompRevision% (%A_ScriptName%)
enable=Aktiviere %name%
disable=Deaktiviere %name%
#LTrim ; Quelltext kann eingerückt werden
NEONumLockLEDState := "Off"
NEOCapsLockLEDState := "Off"
NEOScrollLockLEDState := "Off"
OnExit, exitprogram
ApplicationFolder := A_AppData . "\Neo2"
FileCreateDir, %ApplicationFolder%
ini := ApplicationFolder . "\Neo2.ini"
IniRead,zeigeLockBox,%ini%,Global,zeigeLockBox,1
IniRead,zeigeModusBox,%ini%,Global,zeigeModusBox,1
IniRead,UseMod4Light,%ini%,Global,UseMod4Light,1
IniRead,striktesMod2Lock,%ini%,Global,striktesMod2Lock,0
IniRead,dynamischesCompose,%ini%,Global,dynamischesCompose,0
IniRead,NumLockOff,%ini%,Global,NumLockOff,0
SetNEOLockStates()
regread,inputlocale,HKEY_CURRENT_USER,Keyboard Layout\Preload,1
regread,inputlocalealias,HKEY_CURRENT_USER,Keyboard Layout\Substitutes,%inputlocale%
if (inputlocalealias<>"")
inputlocale:=inputlocalealias
if (inputlocale<>"00000407" and inputlocale<>"00000807" and inputlocale<>"00010407") {
suspend
regread,inputlocale,HKEY_LOCAL_MACHINE,SYSTEM\CurrentControlSet\Control\Keyboard Layouts\%inputlocale%,Layout Text
msgbox, 52, Warnung!,
(
Nicht kompatibles Tastaturlayout:
`t%inputlocale%
`nDas deutsche QWERTZ muss als Standardlayout eingestellt
sein, damit %name% wie erwartet funktioniert.
`nÄndern Sie die Tastatureinstellung unter
`tSystemsteuerung
`t-> Regions- und Sprachoptionen
`t-> Sprachen
`t-> Details... `n
Trotzdem fortfahren?`n
)
ifmsgbox, No
exitapp
ifmsgbox, Yes
suspend
}
wasNonShiftKeyPressed := 0
isShiftRPressed := 0
isShiftLPressed := 0
isShiftPressed := 0
isMod2Locked := 0
IsMod3RPressed := 0
IsMod3LPressed := 0
IsMod3Pressed := 0
IsMod4RPressed := 0
IsMod4LPressed := 0
IsMod4Pressed := 0
IsMod4Locked := 0
EbeneAktualisieren := "NEOEbeneAktualisieren"
SetNEOLockStates() {
global
SavedNumLockState := GetKeyState("NumLock","T")
SavedScrollLockState := GetKeyState("ScrollLock","T")
SavedCapsLockState := GetKeyState("CapsLock","T")
SwitchIs0 := "Off"
SwitchIs1 := "On"
SavedNumLockState := SwitchIs%SavedNumLockState%
SavedScrollLockState := SwitchIs%SavedScrollLockState%
SavedCapsLockState := SwitchIs%SavedCapsLockState%
if (NumLockOff == 1)
SetNumLockState, Off
else
SetNumLockState, On
SetScrollLockState, Off
SetCapsLockState, Off
Sleep,1
UpdateNEOLEDS()
}
SetOldLockStates() {
global
UpdateOldLEDS()
Sleep,1
SetNumLockState,% SavedNumLockState
SetScrollLockState,% SavedScrollLockState
SetCapsLockState,% SavedCapsLockState
}
%EbeneAktualisieren%()
ActivateLayOut(inputlocale)
TheKeys()
if (dynamischesCompose)
LoadCurrentCompose()
else
LoadDefaultCompose()
; generischer Layoutwechsel
CustomLayoutChange() {
global
IniRead,customLayout,%ini%,Global,customLayout,%A_Space%
if (customLayout != "")
Change1256Layout(customLayout)
}
CustomLayoutChange()
|