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
|
deadAsc(val1, val2, a) {
global
if !DeadSilence
OutputChar(val1, val2)
DeadKey := a
}
deadUni(val1, val2, a) {
global
if !DeadSilence
SendUnicodeChar(val1, val2)
DeadKey := a
}
undeadAsc(val) {
global
if DeadSilence
send % val
else
send % "{bs}" . val
}
undeadUni(val){
global
if !DeadSilence
send {bs}
SendUnicodeChar(val, "")
}
CheckDeadAsc(d,val) {
global
if (PriorDeadKey == d) {
undeadAsc(val)
return 1
}
}
CheckDeadUni(d,val) {
global
if (PriorDeadKey == d) {
undeadUni(val)
return 1
}
}
CheckDeadAsc12(d,val1,val2) {
global
if (PriorDeadKey == d){
if (Ebene = 1) and (val1 != "") {
undeadAsc(val1)
return 1
} else if (Ebene = 2) and (val2 != "") {
undeadAsc(val2)
return 1
}
}
}
CheckDeadUni12(d,val1,val2) {
global
if(PriorDeadKey == d) {
if (Ebene = 1) and (val1 != "") {
undeadUni(val1)
return 1
} else if (Ebene = 2) and (val2 != "") {
undeadUni(val2)
return 1
}
}
}
CheckCompUni(d,val) {
global
if (CompKey == d) {
PriorCompKey =
CompKey =
if !DeadCompose
send {bs}
isFurtherCompkey = 0
SendUnicodeChar(val, "")
return 1
}
}
OutputChar(val1,val2) {
global
if !(CheckComp(val2) and DeadCompose)
send % "{blind}" . val1
}
OutputChar12(val1,val2,val3,val4) {
global
if (Ebene = 1)
c := val1
else c := val2
if (Ebene = 1)
d := val3
else d := val4
if !(CheckComp(d) and DeadCompose)
if GetKeyState("Shift","P") and isMod2Locked
send % "{blind}{Shift Up}" . c . "{Shift Down}"
else send % "{blind}" . c
}
CheckComp(d) {
global
if isFurtherCompkey {
CompKey := PriorCompKey . " " . "<" . d . ">"
isFurtherCompkey = 0
CheckCompose()
if (CompKey = "")
return 1
else CompKey =
} else if PriorCompKey {
CompKey := PriorCompKey . " " . "<" . d . ">"
CheckCompose()
if CompKey
isFurtherCompKey = 1
return 1
} else if (PriorDeadKey = "comp") {
CompKey := "<" . d . ">"
return 1
}
}
|