Ticket #97 (closed Fehler/Defekt: wontfix)
3. Ebene und andere Zeichen funktionieren in der Vista-Eingabeaufforderung nicht
| Reported by: | Dennis-ſ | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | Neo Version 2.0 |
| Component: | Treiber: Windows – AHK | Version: | |
| Keywords: | Cc: |
Description (last modified by martin_r) (diff)
=Problembeschreibung= In der Kommandozeile von Windows Vista ist die dritte Ebene defekt. Genauer gesagt werden falsche Zeichen ausgegeben, statt ()-: erhalte ich beispielsweise )=-Ü
Die 1., 2., 4. (inklusive der Navigationstasten), 5. und 6. Ebene funktionieren jedoch problemlos, auch die Oberreihe der dritten Ebene (¹²³›‹…) funktioniert.
==Testumgebung, in der das Problem bei mir auftritt== Verwendetes Betriebsſystem: Microsoft Windows Vista™ Home Basic mit Service Pack 1 (Version 6.0.6001) Verwendeter Neo-Treiber: Neo-Vars_r1264_r1214
==Anleitung zur Reproduktion des Fehlers== Um das Problem zu reproduzieren, muss man einfach nur auf »Start« klicken um im Suchfeld »cmd« eingeben und mit der Enter-Taste bestätigen. In dem dann erscheinenden Kommandozeilenfenster tritt der beschriebene Fehler auf.
==Workarround== Mit dem nativen KBDNEO2-Treiber tritt dieser Fehler nicht auf.
AHK-Innereien
Bei dem oben beschrieben )=-Ü Problem protokoliert AHK das folgende:
VK SC Type Up/Dn Elapsed Key Window
-------------------------------------------------------------------------------------------------------------
A0 02A i d 0.00 UMSCHALT
39 00A i u 0.00 9
A0 02A i u 0.00 UMSCHALT
4B 025 h d 0.48 K
A0 02A i d 0.00 UMSCHALT
30 00B i d 0.00 0
A0 02A i u 0.00 UMSCHALT
4B 025 h u 0.03 K
A0 02A i d 0.00 UMSCHALT
30 00B i u 0.00 0
A0 02A i u 0.00 UMSCHALT
4C 026 h d 0.39 L
BD 035 i d 0.00 -
4C 026 h u 0.09 L
BD 035 i u 0.00 -
C0 027 h d 0.28 ö
A0 02A i d 0.00 UMSCHALT
BA 01A i d 0.00 ü
A0 02A i u 0.00 UMSCHALT
C0 027 h u 0.09 ö
A0 02A i d 0.00 UMSCHALT
BA 01A i u 0.00 ü
A0 02A i u 0.00 UMSCHALT
14 03A h u 0.69 FESTSTELL
Script lines most recently executed (oldest first). Press [F5] to refresh. The seconds elapsed between a line and the one after it is in parentheses to the right (if not 0). The bottommost line's elapsed time is the number of seconds since it executed.
007: PhysKey := SubStr(PhysKey,2)
008: if (SubStr(PhysKey,-2) == " up")
008: {
009: PhysKey := SubStr(PhysKey,1,StrLen(PhysKey)-3)
010: IsDown := 0
011: }
013: if (TransformProc != "")
016: ActKey := PhysKey
017: if ((striktesMod2Lock == 0) && (NOC%ActKey% == 1))
020: Ebene := EbeneC
021: if (Ebene7 && (CP7%ActKey% != ""))
023: if (Ebene8 && (CP8%ActKey% != ""))
026: char := CP%Ebene%%ActKey%
027: if (PressHookProc != "")
032: if (IsDown == 1)
035: CharStarUp(PhysKey)
109: if (PR%PhysKey% != "")
109: {
110: tosend := PR%PhysKey%
111: PR%PhysKey% :=
112: if (SubStr(tosend,1,1)=="P")
116: CharOutUp(tosend)
154: if (CharOutFilterProc != "")
159: if (DNCS%char% != "")
162: if (CS%char% != "")
163: SendBlindShiftFixed(char, "{" . CS%char% . " up}")
170: if (UNSH%char%)
182: Send,"{blind}" . theseq
183: }
166: }
117: }
118: PP%PhysKey% :=
119: }
036: }
278: Return (0.69)
277: AllStar(A_ThisHotkey)
005: PhysKey := This_HotKey
006: if (SubStr(PhysKey,1,1) == "*")
007: PhysKey := SubStr(PhysKey,2)
008: if (SubStr(PhysKey,-2) == " up")
008: {
009: PhysKey := SubStr(PhysKey,1,StrLen(PhysKey)-3)
010: IsDown := 0
011: }
013: if (TransformProc != "")
016: ActKey := PhysKey
017: if ((striktesMod2Lock == 0) && (NOC%ActKey% == 1))
018: Ebene := EbeneNC
021: if (Ebene7 && (CP7%ActKey% != ""))
023: if (Ebene8 && (CP8%ActKey% != ""))
026: char := CP%Ebene%%ActKey%
027: if (PressHookProc != "")
032: if (IsDown == 1)
035: CharStarUp(PhysKey)
109: if (PR%PhysKey% != "")
109: {
110: tosend := PR%PhysKey%
111: PR%PhysKey% :=
112: if (SubStr(tosend,1,1)=="P")
112: {
113: SubProc := SubStr(tosend,2,4)
114: CharProc%SubProc%()
255: if (isMod3RPressed)
257: IsMod3LPressed := 0
258: IsMod3Pressed := isMod3RPressed
259: EbeneAktualisieren()
003: Modstate := IsMod4Active() . IsMod3Active()
057: if (isMod4Locked)
063: if (isMod4Pressed)
066: Return,0
052: Return,isMod3Pressed
004: Ebene7 := 0
005: Ebene8 := 0
006: if (Modstate == "00")
006: {
007: if (IsShiftActive())
038: if (isMod2Locked)
044: if (isShiftPressed)
047: Return,0
010: EbeneC := 1
011: if (IsShiftPressed)
014: EbeneNC := 1
015: }
032: if (guiErstellt)
034: }
260: }
115: }
117: }
118: PP%PhysKey% :=
119: }
036: }
278: Return (8.33)
045: ListLines (0.11)
046: Return (19.58)
277: AllStar(A_ThisHotkey)
005: PhysKey := This_HotKey
006: if (SubStr(PhysKey,1,1) == "*")
007: PhysKey := SubStr(PhysKey,2)
008: if (SubStr(PhysKey,-2) == " up")
012: IsDown := 1
013: if (TransformProc != "")
016: ActKey := PhysKey
017: if ((striktesMod2Lock == 0) && (NOC%ActKey% == 1))
018: Ebene := EbeneNC
021: if (Ebene7 && (CP7%ActKey% != ""))
023: if (Ebene8 && (CP8%ActKey% != ""))
026: char := CP%Ebene%%ActKey%
027: if (PressHookProc != "")
032: if (IsDown == 1)
033: CharStarDown(PhysKey, ActKey, Char)
040: if (SubStr(char,1,1)=="P")
045: wasNonShiftKeyPressed := 1
046: if (PP%PhysKey% != "")
049: CompNew := Comp . char
051: if (CD%CompNew% != "")
055: if (CM%CompNew% == 1)
059: if (Comp == "")
059: {
060: tosend := char
061: PP%PhysKey% := char
062: }
070: if (strlen(tosend) > 5)
087: if (tosend != "")
087: {
088: if (SubStr(tosend,1,1)=="P")
095: {
096: if ((PR%PhysKey% != "") && (PR%PhysKey% != tosend))
098: PR%PhysKey% := tosend
099: CharOutDown(tosend)
139: if (CharOutFilterProc != "")
144: if (DNCS%char% != "")
146: if (CS%char% != "")
147: SendBlindShiftFixed(char, "{" . CS%char% . " down}")
170: if (UNSH%char%)
182: Send,"{blind}" . theseq
183: }
150: }
100: }
101: }
105: }
036: }
278: Return (0.05)
277: AllStar(A_ThisHotkey)
005: PhysKey := This_HotKey
006: if (SubStr(PhysKey,1,1) == "*")
007: PhysKey := SubStr(PhysKey,2)
008: if (SubStr(PhysKey,-2) == " up")
008: {
009: PhysKey := SubStr(PhysKey,1,StrLen(PhysKey)-3)
010: IsDown := 0
011: }
013: if (TransformProc != "")
016: ActKey := PhysKey
017: if ((striktesMod2Lock == 0) && (NOC%ActKey% == 1))
018: Ebene := EbeneNC
021: if (Ebene7 && (CP7%ActKey% != ""))
023: if (Ebene8 && (CP8%ActKey% != ""))
026: char := CP%Ebene%%ActKey%
027: if (PressHookProc != "")
032: if (IsDown == 1)
035: CharStarUp(PhysKey)
109: if (PR%PhysKey% != "")
109: {
110: tosend := PR%PhysKey%
111: PR%PhysKey% :=
112: if (SubStr(tosend,1,1)=="P")
116: CharOutUp(tosend)
154: if (CharOutFilterProc != "")
159: if (DNCS%char% != "")
162: if (CS%char% != "")
163: SendBlindShiftFixed(char, "{" . CS%char% . " up}")
170: if (UNSH%char%)
182: Send,"{blind}" . theseq
183: }
166: }
117: }
118: PP%PhysKey% :=
119: }
036: }
278: Return (0.97)
277: AllStar(A_ThisHotkey)
005: PhysKey := This_HotKey
006: if (SubStr(PhysKey,1,1) == "*")
007: PhysKey := SubStr(PhysKey,2)
008: if (SubStr(PhysKey,-2) == " up")
012: IsDown := 1
013: if (TransformProc != "")
016: ActKey := PhysKey
017: if ((striktesMod2Lock == 0) && (NOC%ActKey% == 1))
018: Ebene := EbeneNC
021: if (Ebene7 && (CP7%ActKey% != ""))
023: if (Ebene8 && (CP8%ActKey% != ""))
026: char := CP%Ebene%%ActKey%
027: if (PressHookProc != "")
032: if (IsDown == 1)
033: CharStarDown(PhysKey, ActKey, Char)
040: if (SubStr(char,1,1)=="P")
045: wasNonShiftKeyPressed := 1
046: if (PP%PhysKey% != "")
049: CompNew := Comp . char
051: if (CD%CompNew% != "")
055: if (CM%CompNew% == 1)
059: if (Comp == "")
059: {
060: tosend := char
061: PP%PhysKey% := char
062: }
070: if (strlen(tosend) > 5)
087: if (tosend != "")
087: {
088: if (SubStr(tosend,1,1)=="P")
095: {
096: if ((PR%PhysKey% != "") && (PR%PhysKey% != tosend))
098: PR%PhysKey% := tosend
099: CharOutDown(tosend)
139: if (CharOutFilterProc != "")
144: if (DNCS%char% != "")
146: if (CS%char% != "")
147: SendBlindShiftFixed(char, "{" . CS%char% . " down}")
170: if (UNSH%char%)
182: Send,"{blind}" . theseq
183: }
150: }
100: }
101: }
105: }
036: }
278: Return (0.06)
277: AllStar(A_ThisHotkey)
005: PhysKey := This_HotKey
006: if (SubStr(PhysKey,1,1) == "*")
007: PhysKey := SubStr(PhysKey,2)
008: if (SubStr(PhysKey,-2) == " up")
008: {
009: PhysKey := SubStr(PhysKey,1,StrLen(PhysKey)-3)
010: IsDown := 0
011: }
013: if (TransformProc != "")
016: ActKey := PhysKey
017: if ((striktesMod2Lock == 0) && (NOC%ActKey% == 1))
018: Ebene := EbeneNC
021: if (Ebene7 && (CP7%ActKey% != ""))
023: if (Ebene8 && (CP8%ActKey% != ""))
026: char := CP%Ebene%%ActKey%
027: if (PressHookProc != "")
032: if (IsDown == 1)
035: CharStarUp(PhysKey)
109: if (PR%PhysKey% != "")
109: {
110: tosend := PR%PhysKey%
111: PR%PhysKey% :=
112: if (SubStr(tosend,1,1)=="P")
116: CharOutUp(tosend)
154: if (CharOutFilterProc != "")
159: if (DNCS%char% != "")
162: if (CS%char% != "")
163: SendBlindShiftFixed(char, "{" . CS%char% . " up}")
170: if (UNSH%char%)
182: Send,"{blind}" . theseq
183: }
166: }
117: }
118: PP%PhysKey% :=
119: }
036: }
278: Return (0.91)
277: AllStar(A_ThisHotkey)
005: PhysKey := This_HotKey
006: if (SubStr(PhysKey,1,1) == "*")
007: PhysKey := SubStr(PhysKey,2)
008: if (SubStr(PhysKey,-2) == " up")
012: IsDown := 1
013: if (TransformProc != "")
016: ActKey := PhysKey
017: if ((striktesMod2Lock == 0) && (NOC%ActKey% == 1))
018: Ebene := EbeneNC
021: if (Ebene7 && (CP7%ActKey% != ""))
023: if (Ebene8 && (CP8%ActKey% != ""))
026: char := CP%Ebene%%ActKey%
027: if (PressHookProc != "")
032: if (IsDown == 1)
033: CharStarDown(PhysKey, ActKey, Char)
040: if (SubStr(char,1,1)=="P")
045: wasNonShiftKeyPressed := 1
046: if (PP%PhysKey% != "")
049: CompNew := Comp . char
051: if (CD%CompNew% != "")
055: if (CM%CompNew% == 1)
059: if (Comp == "")
059: {
060: tosend := char
061: PP%PhysKey% := char
062: }
070: if (strlen(tosend) > 5)
087: if (tosend != "")
087: {
088: if (SubStr(tosend,1,1)=="P")
095: {
096: if ((PR%PhysKey% != "") && (PR%PhysKey% != tosend))
098: PR%PhysKey% := tosend
099: CharOutDown(tosend)
139: if (CharOutFilterProc != "")
144: if (DNCS%char% != "")
146: if (CS%char% != "")
147: SendBlindShiftFixed(char, "{" . CS%char% . " down}")
170: if (UNSH%char%)
182: Send,"{blind}" . theseq
183: }
150: }
100: }
101: }
105: }
036: }
278: Return (0.05)
277: AllStar(A_ThisHotkey)
005: PhysKey := This_HotKey
006: if (SubStr(PhysKey,1,1) == "*")
007: PhysKey := SubStr(PhysKey,2)
008: if (SubStr(PhysKey,-2) == " up")
008: {
009: PhysKey := SubStr(PhysKey,1,StrLen(PhysKey)-3)
010: IsDown := 0
011: }
013: if (TransformProc != "")
016: ActKey := PhysKey
017: if ((striktesMod2Lock == 0) && (NOC%ActKey% == 1))
018: Ebene := EbeneNC
021: if (Ebene7 && (CP7%ActKey% != ""))
023: if (Ebene8 && (CP8%ActKey% != ""))
026: char := CP%Ebene%%ActKey%
027: if (PressHookProc != "")
032: if (IsDown == 1)
035: CharStarUp(PhysKey)
109: if (PR%PhysKey% != "")
109: {
110: tosend := PR%PhysKey%
111: PR%PhysKey% :=
112: if (SubStr(tosend,1,1)=="P")
116: CharOutUp(tosend)
154: if (CharOutFilterProc != "")
159: if (DNCS%char% != "")
162: if (CS%char% != "")
163: SendBlindShiftFixed(char, "{" . CS%char% . " up}")
170: if (UNSH%char%)
182: Send,"{blind}" . theseq
183: }
166: }
117: }
118: PP%PhysKey% :=
119: }
036: }
278: Return (0.48)
277: AllStar(A_ThisHotkey)
005: PhysKey := This_HotKey
006: if (SubStr(PhysKey,1,1) == "*")
007: PhysKey := SubStr(PhysKey,2)
008: if (SubStr(PhysKey,-2) == " up")
012: IsDown := 1
013: if (TransformProc != "")
016: ActKey := PhysKey
017: if ((striktesMod2Lock == 0) && (NOC%ActKey% == 1))
018: Ebene := EbeneNC
021: if (Ebene7 && (CP7%ActKey% != ""))
023: if (Ebene8 && (CP8%ActKey% != ""))
026: char := CP%Ebene%%ActKey%
027: if (PressHookProc != "")
032: if (IsDown == 1)
033: CharStarDown(PhysKey, ActKey, Char)
040: if (SubStr(char,1,1)=="P")
045: wasNonShiftKeyPressed := 1
046: if (PP%PhysKey% != "")
049: CompNew := Comp . char
051: if (CD%CompNew% != "")
055: if (CM%CompNew% == 1)
059: if (Comp == "")
059: {
060: tosend := char
061: PP%PhysKey% := char
062: }
070: if (strlen(tosend) > 5)
087: if (tosend != "")
087: {
088: if (SubStr(tosend,1,1)=="P")
095: {
096: if ((PR%PhysKey% != "") && (PR%PhysKey% != tosend))
098: PR%PhysKey% := tosend
099: CharOutDown(tosend)
139: if (CharOutFilterProc != "")
144: if (DNCS%char% != "")
146: if (CS%char% != "")
147: SendBlindShiftFixed(char, "{" . CS%char% . " down}")
170: if (UNSH%char%)
182: Send,"{blind}" . theseq
183: }
150: }
100: }
101: }
105: }
036: }
278: Return
