Wie ordnet man mit AutoHotkey die „Umschalt“-Taste der Taste „Umschalt“ + „Feststelltaste“ zu?

Wie ordnet man mit AutoHotkey die „Umschalt“-Taste der Taste „Umschalt“ + „Feststelltaste“ zu?

Ich verwende Vim, also habe ich capslockauf neu zugeordnet esc. Aber ich will trotzdem capslockmanchmal. Daher überlege ich, shiftauf shift+ neu zuzuordnen capslock:

  1. 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.
  2. 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 ifBedingung einen entsprechenden Wert.

verwandte Informationen