Modify

Erstellt vor 9 Jahren

Geschlossen vor 8 Jahren

#97 closed Fehler/Defekt (wontfix)

3. Ebene und andere Zeichen funktionieren in der Vista-Eingabeaufforderung nicht

Erstellt von: Dennis-ſ Verantwortlicher:
Priorität: normal Meilenstein: Neo Version 2.0
Komponente: Treiber: Windows – AHK Version:
Stichworte: Beobachter:

Beschreibung (zuletzt geändert von martin_r)

=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

Anhänge (0)

Änderungshistorie (4)

comment:2 Geändert vor 9 Jahren durch martin_r

  • Zusammenfassung von 3. Ebene funktioniert nicht in der Vista-Kommandozeile (Neo-Vars) nach 3. Ebene und andere Zeichen funktionieren in der Vista-Eingabeaufforderung nicht geändert

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.

comment:3 Geändert vor 9 Jahren durch dennis

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 Geändert vor 8 Jahren durch martin_r

  • Beschreibung geändert (Diff)

comment:5 Geändert vor 8 Jahren durch martin_r

  • Lösung auf wontfix gesetzt
  • Status von new nach closed geändert

Kommentar hinzufügen

Ticket ändern

Eigenschaften ändern
<Autor-Feld>
Aktion
als closed .
Der Status der Lösung wird gelöscht. Der nächste Status wird 'reopened' sein.
Autor


E-Mail-Adresse und Benutzername können in den Einstellungen gespeichert werden.

 
Hinweis: Hilfe zur Verwendung von Tickets finden Sie in TracTickets.