#97: 3. Ebene und andere Zeichen funktionieren in der Vista-Eingabeaufforderung
nicht
-------------------------------------+--------------------------------------
  Reporter:  Dennis-ſ                |       Owner:                 
      Type:  Fehler/Defekt           |      Status:  new            
  Priority:  normal                  |   Milestone:  Neo Version 2.0
 Component:  Treiber: Windows – AHK  |     Version:                 
Resolution:                          |    Keywords:                 
-------------------------------------+--------------------------------------
Description changed by martin_r:

Old description:

> =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
>
> Press [F5] to refresh.

New description:

 =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
 }}}

--

-- 
Ticket URL: <http://wiki.neo-layout.org/ticket/97#comment:4>
Neo-Layout <http://neo-layout.org/>
Das Neo-Tastaturlayout ist ein freies und ergonomisch optimiertes 
Tastaturlayout für die deutsche Sprache, das auch sehr viele Sonderzeichen 
direkt verfügbar macht.

Antwort per Email an