Opened 16 years ago
Closed 16 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 , 16 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 , 16 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 , 16 years ago
Description: | modified (diff) |
---|
comment:5 by , 16 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.