Opened 17 years ago
Closed 17 years ago
#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 )
=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
Change History (4)
comment:2 by , 17 years ago
| Summary: | 3. Ebene funktioniert nicht in der Vista-Kommandozeile (Neo-Vars) → 3. Ebene und andere Zeichen funktionieren in der Vista-Eingabeaufforderung nicht |
|---|
comment:3 by , 17 years ago
Ich benutze den AHK (weil vollständig) als Standardtreiber und den kbdneo zum Testen und für die Kommandozeile. Dabei kommt es zu den in Ticket #97 beschriebenen Erscheinungen: Die dritte Ebene funktioniert nicht. Um aber in der Shell etwas schreiben zu können, muss ich den kbd-Treiber wechseln. Das ist soweit kein Problem, da man jedem Fenster sein eigenes Layout zuordnen kann, und dies auch beim nächsten Programmstart wiederhergestellt wird. Allerdings muss auch der AHK beim Wechsel in die Konsole deaktiviert (und danach wieder aktiviert) werden, denn wenn beide Neo-Treiber gleichzeitig laufen, rfmmw bhc rhaaltmhaalt slcuhi! Da das ziemlich unergonomisch ist, habe ich heute einen Fix dafür entwickelt: Vorraussetzung: beide Treiber vorhanden, AHK in Sourceform Folgende Zeile in die %appdata%/neo2/custom.ahk eintragen: #IfWinNotActive ahk_class ConsoleWindowClass
Gruß, Martin
comment:4 by , 17 years ago
| Description: | modified (diff) |
|---|
comment:5 by , 17 years ago
| Resolution: | → wontfix |
|---|---|
| Status: | new → closed |

Dieses Problem hat mich auch schon immer gestört… Immer musste ich zwischen QWERTZ/AHK und NEO/kein AHK wechseln, wenn ich mal einen Punkt oder so eingeben wollte. Wie dadurch angedeutet funktionieren bei mir außerdem folgende Tasten nicht: ,.26°»«$„“” (ich erhalte: dü,t!$%/()=), _[]^!<>=&\/{}*?()-:@#$|~`+%"'; (vlcü khgfqu8ae9snrÜdy^/ä~' qm,.j), bei mir treten also andere Fehler auf. (Aber durch diese Fehlerbeschreibung habe ich wenigsten herausgefunden wie ich die wichtigsten Zeichen trotzdem eingeben kann :) Außerdem tritt der Fehler nicht nur in vars sondern auch mit dem alten Treiber auf.
Wenn ich mich allerdings bei meinem pywikipedia-Bot mittels „login“-Befehl eingeloggt habe, dann funktionieren alle Tasten mit allen Ebenen einwandfrei! Merkwürdig!
Ansonsten kann ich dir nur die {{{ … }}}- Syntax ans Herz legen, Dennis; alles was zwischen diesen Klammern steht, wird nicht als wiki-Syntax interpretiert und alle Zeilenumbrüche bleiben erhalten.