Ich verwende Vim, also habe ich capslockauf neu zugeordnet esc. Aber ich will trotzdem capslockmanchmal. Daher überlege ich, shiftauf shift+ neu zuzuordnen capslock:
- Bei shiftnormaler Verwendung: Langes Drücken und Loslassen, sollte es immer noch als shiftTaste funktionieren, mit der die Eingabe auf Großbuchstaben geändert wird.
- Wenn shiftgetippt wird (kurz drücken und loslassen), sollte es umschalten capslock.
Ist so etwas möglich? Kennt jemand AutoHotkey-Skripte oder Tipps dazu, die er weitergeben könnte?
Antwort1
Verwenden Sie dieses AutoHotkey-Skript leicht modifiziert vonElliot DeNolfs Antwort:
~Shift::
duration := 0
If (GetKeyState("Shift","p"))
{
start := A_TickCount
While (GetKeyState("Shift"))
Sleep, 1
duration := A_TickCount - start
}
if (duration < 100) ;Change this value as needed
if GetKeyState("CapsLock", "T") = 1
{
SetCapsLockState, off
}
else if GetKeyState("CapsLock", "T") = 0
{
SetCapsLockState, on
}
Return
Wenn die ShiftTaste weniger als 100 Millisekunden gedrückt und dann losgelassen wird, wird sie umgeschaltet CapsLk. Bei mehr als 100 ms fungiert sie als normale Sondertaste.
Wenn 100 ms zu lang sind, wählen Sie in der if
Bedingung einen entsprechenden Wert.