![Autohotkey Strg+Umschalt – ZBrush/Photoshop](https://rvso.com/image/1388784/Autohotkey%20Strg%2BUmschalt%20%E2%80%93%20ZBrush%2FPhotoshop.png)
Ich verwende Autohotkey schon seit langem, um Tasten in CG-Software (hauptsächlich ZBrush und Photoshop) neu zuzuordnen, damit sie linkshänderfreundlicher ist.
Im Wesentlichen ordne ich die Tasten des Ziffernblocks Tasten zu, die man in den Programmen nicht ändern kann (Strg, Alt, Umschalt usw.). Auf diese Weise kann ich den Stift meines Grafiktabletts mit der linken Hand verwenden und über den Ziffernblock auf Strg, Alt usw. zugreifen, was viel praktischer ist, als die ganze Tastatur nach rechts zu verschieben.
Wie auch immer, hier ist mein Skript:
#IfWinActive, ahk_class ZBrush
#MaxHotkeysPerInterval 200
NumPad1::Alt
Numpad2::LControl
Right::Shift
up::Space
return
Ziemlich einfach, aber ich habe seit der Erstellung vor einigen Jahren einen Fehler damit. Wenn ich Numpad2+Rechts (Strg+Umschalt) drücke und halte und Numpad2 loslasse, verhält sich das Programm im Wesentlichen so, als ob ich es noch gedrückt hätte. Wenn ich Numpad2 schnell wieder drücke, wird es wieder normal, aber es ist sehr ärgerlich. Hier sind ein paar Bilder, um das Problem besser zu veranschaulichen:
Wissen Sie, warum das passiert? Ich bin kein Programmierer und könnte daher definitiv Hilfe gebrauchen.
Antwort1
Das Problem scheint nicht aufzutreten, wenn ich Rechts vor Numpad2 loslasse. Es ist, als ob das Drücken von Rechts (Umschalt) das Loslassen von Numpad2 (Strg) verhindert ...
Das Problem, das Sie sehen, liegt daran, dass der Ziffernblock durch geändert wird ⇧Shift. Das Drücken ⇧Shiftähnelt dem Umschalten der NumLockTaste, aber der Effekt ist komplexer und nicht offensichtlich.
Wenn Sie beispielsweise drücken, Numpad-4erhalten Sie folgende Ergebnisse:
│ Num On │ Num Off
──────────┼────────┼───────────
Shift Off │ 4 │ ←
──────────┼────────┼───────────
Shift On │ ← │ Shift + ←
Da Sie die Taste neu zuordnen →und ⇧Shiftin Kombination mit einer Taste im Ziffernblock verwenden, erhalten Sie eine Interaktion, die AutoHotkey kompliziert und Sie mit ihrem unerwarteten Ergebnis verwirrt (es kann sehr gut sein, dasslogisch korrekt, aber sicherlich unerwartetes und unerwünschtes Ergebnis).
Versuchen Sie, Ihren Sekundärschlüssel von Numpad-2auf etwas anderes zu ändern, dasnichtgeändert durch ⇧Shift, wie z. B. K. Sie werden feststellen, dass Sie die unerwarteten Ergebnisse nicht mehr erhalten.
Dieses Verhalten tritt im Tastatur-Controller auf, nicht in der Software. Wenn Sie die Taste ⇧Shiftals Modifikator verwenden müssen, können Sie für komplexe Neuzuordnungen dieser Art leider keine Taste auf dem Ziffernblock verwenden.
Eine Möglichkeit besteht darin, den Bearbeitungsblock oder die Ziffernblocktasten zu verwenden, die nicht durch ⇧Shift(die mathematischen Operatoren, Numpad-5, und Numpad-Enter) geändert werden.
Eine andere Möglichkeit besteht darin, ein komplizierteres Skript zu schreiben, das einen Tastatur-Hook erstellt, um Tasten auf einer niedrigeren Ebene zu prüfen, sodass es feststellen kann, ob die ⇧ShiftTaste gedrückt ist, und dann bei Bedarf kompensieren kann.
(Ich bin vor einiger Zeit auf genau dieses Problem gestoßen, als ich ein Programm zur Unicode-Eingabe geschrieben habe. Ich habe versucht, es so zu gestalten, dass es die Umschalttasten für bestimmte Zeichen unterstützt, aber die Änderung hat alles durcheinandergebracht. Schließlich habe ich mich für den letzteren Vorschlag entschieden und ein kompliziertes Skript geschrieben, aber es war frustrierend, schwindelerregend und war letztendlich sowieso irgendwie eingeschränkt.)
Antwort2
Wow! Tolle Antwort! Schnell und präzise. Vielen Dank. Ich wusste nicht, dass diese Tasten von Shift geändert wurden, was zu diesem nervigen Verhalten führte. Die Sache ist, dass ich so an diese Neubelegung von Numpad2 gewöhnt bin, dass ich es mir nicht leisten kann, sie zu ändern, ohne wochenlange psychomotorische Umgewöhnung zu durchlaufen ^^
Ich konnte das Problem umgehen, indem ich einfach NumpadDown ebenfalls auf Strg neu zugeordnet habe ^^. Das wirkt jetzt Wunder!
NumPad1::Alt
Numpad2::Ctrl
NumpadDown::Ctrl
Right::Shift
up::Space
return
Vielen Dank, dass Sie auf die Ursache des Problems hingewiesen haben. Das hat mich schon seit Jahren geärgert.