Jak używać Caps Lock jako klawisza modyfikującego w systemie Windows

Klawisz Caps Lock ma swoje stałe miejsce na klawiaturze, nie obciążając jej w żaden sposób. Prosty skrypt AutoHotkey przekształca go w klawisz modyfikujący, co umożliwia łatwiejsze korzystanie z różnych skrótów.

Wstęp

Przy użyciu tego skryptu, możesz używać kombinacji Caps Lock + G do szybkiego wpisywania frazy „Google” z dowolnego miejsca w systemie Windows, lub Caps Lock + D, aby uzyskać definicję wybranego słowa. Oczywiście, istnieje możliwość dostosowania tych skrótów do własnych potrzeb.

Co więcej, skrypt pozwala na normalne korzystanie z klawisza Caps Lock. Możesz go włączyć lub wyłączyć, dwukrotnie naciskając ten klawisz. Jeśli tego nie zrobisz, Caps Lock będzie działał jako klawisz modyfikujący dla twoich skrótów.

Wprowadzenie do AutoHotkey

AutoHotkey to bezpłatna aplikacja na system Windows, która działa w tle, uruchamiając różne skrypty. Możesz stworzyć własne skrypty lub pobrać gotowe. Zazwyczaj skrypty te nasłuchują na naciśnięcia klawiszy i wykonują przypisane im akcje. Dzięki temu AutoHotkey stanowi szybki sposób na przemapowanie klawiszy w Windows lub przypisywanie różnych czynności do klawiszy.

Na przykład, omawialiśmy już, jak użyć AutoHotkey do dezaktywacji klawisza Windows, co zapobiega otwieraniu menu Start i wyprowadzaniu cię z pełnoekranowych gier.

Instalacja AutoHotkey i pobranie skryptu

Pobierz AutoHotkey i zainstaluj go, aby rozpocząć. Następnie pobierz skrypt do modyfikacji Caps Lock.

Wydobądź plik skryptu AHK z archiwum ZIP i umieść go w dowolnej lokalizacji na swoim komputerze. Aby uruchomić skrypt za pomocą AutoHotkey, kliknij prawym przyciskiem myszy na plik skryptu i wybierz „Uruchom skrypt”.

Skrypt działa w tle. Aby przełączać Caps Lock, wystarczy dwukrotnie nacisnąć ten klawisz. Jeśli nie wykonasz podwójnego naciśnięcia, Caps Lock będzie służył jedynie jako klawisz modyfikujący. Dzięki funkcjom zawartym w skrypcie, możesz używać następujących skrótów w dowolnym miejscu w systemie Windows:

Użyj kombinacji Caps Lock + D, aby znaleźć definicję słownikową wybranego słowa.
Użyj kombinacji Caps Lock + G, aby wyszukać zaznaczony tekst w Google.
Użyj kombinacji Caps Lock + T, aby znaleźć wybrane słowo w tezaurusie.
Użyj kombinacji Caps Lock + W, aby wyszukać zaznaczony tekst w Wikipedii.

Chcesz więcej skrótów? Możesz stworzyć własne, mając choćby podstawową wiedzę na temat skryptów AutoHotkey.

Aby zarządzać AutoHotkey, zwróć uwagę na ikonę AutoHotkey w obszarze powiadomień – ma zielone tło z białą literą H. Aby zakończyć działanie skryptu, kliknij prawym przyciskiem myszy ikonę AutoHotkey i wybierz „Zakończ”.

Jak to działa?

Jeśli chcesz zobaczyć, co robi skrypt, kliknij prawym przyciskiem myszy i wybierz „Edytuj skrypt”. Otworzy to skrypt w Notatniku, gdzie możesz zapoznać się z jego kodem. Skrypt jest krótki i łatwy do zrozumienia. Zalecamy, aby unikać pobierania i uruchamiania nieznanych skryptów bez wcześniejszego ich przeglądnięcia i zrozumienia.

Ten skrypt został nam dostarczony przez Dave’a Kelloga. Oto kluczowa część skryptu, która sprawia, że Caps Lock działa jako klawisz modyfikujący, gdy jest dwukrotnie naciskany:

CapsLock::
KeyWait, CapsLock ; Czeka na zwolnienie Caps Lock.
KeyWait, CapsLock, D T0.2 ; ErrorLevel = 1, jeśli Caps Lock nie jest wciśnięty w ciągu 0.2 sekundy.
if ((ErrorLevel = 0) && (A_PriorKey = "CapsLock")) ; Sprawdza, czy był to podwójny klik na Caps Lock?
{
SetCapsLockState, % GetKeyState("CapsLock","T") ? "Off" : "On" ; Przełącza stan LED Caps Lock
}
return

Ten fragment kodu czeka na dwukrotne naciśnięcie klawisza Caps Lock i włącza lub wyłącza go. W przeciwnym razie skrypt przechwytuje Caps Lock i wykorzystuje go do skrótów modyfikujących.

Reszta skryptu zawiera działania przypisane do skrótów oraz pomocniczą funkcję schowka, która zapisuje jego zawartość i przywraca ją. Ta część jest niezbędna, ponieważ funkcje modyfikujące korzystają ze schowka do przetwarzania zaznaczonego tekstu.

Chcesz zobaczyć pełny skrypt bez konieczności jego pobierania? Oto on:

#NoEnv                      ; Zalecane dla wydajności i zgodności z przyszłymi wersjami AutoHotkey.
; #Warn                     ; Włącz ostrzeżenia, aby pomóc w wykrywaniu powszechnych błędów.
#SingleInstance FORCE       ; Pomija okno dialogowe przy wywołaniu i cicho zastępuje wcześniej uruchomioną instancję skryptu.
SendMode Input              ; Zalecane dla nowych skryptów ze względu na wyższą szybkość i niezawodność.
SetWorkingDir %A_ScriptDir%  ; Zapewnia spójną początkową lokalizację.

;================================================================================================
; Przetwarzanie CapsLock. Należy dwukrotnie nacisnąć CapsLock, aby włączyć lub wyłączyć tryb CapsLock.
;================================================================================================
CapsLock::
    KeyWait, CapsLock                                                   ; Czeka na zwolnienie Caps Lock.
    KeyWait, CapsLock, D T0.2                                           ; ErrorLevel = 1, jeśli Caps Lock nie jest wciśnięty w ciągu 0.2 sekundy.
    if ((ErrorLevel = 0) && (A_PriorKey = "CapsLock"))                 ; Sprawdza, czy był to podwójny klik na Caps Lock?
    {
        SetCapsLockState, % GetKeyState("CapsLock","T") ? "Off" : "On"  ; Przełącza stan LED Caps Lock
    }
return

;================================================================================================
; Skróty z modyfikatorem CapsLock.
;================================================================================================
CapsLock & d::
    ClipboardGet()
    Run, http://www.google.com/search?q=define+%clipboard%     ; Uruchamia z zawartością schowka
    ClipboardRestore()
Return

CapsLock & g::
    ClipboardGet()
    Run, http://www.google.com/search?q=%clipboard%             ; Uruchamia z zawartością schowka
    ClipboardRestore()
Return

CapsLock & t::
    ClipboardGet()
    Run http://www.thesaurus.com/browse/%Clipboard%             ; Uruchamia z zawartością schowka
    ClipboardRestore()
Return

CapsLock & w::
    ClipboardGet()
    Run, https://en.wikipedia.org/wiki/%clipboard%              ; Uruchamia z zawartością schowka
    ClipboardRestore()
Return

;================================================================================================
; Funkcje pomocnicze do schowka.
;================================================================================================
ClipboardGet()
{
    OldClipboard:= ClipboardAll                         ; Zapisuje aktualne zawartości schowka.
    Clipboard:= ""
    Send, ^c                                            ; Kopiuje zaznaczony tekst do schowka
    ClipWait 0
    If ErrorLevel
    {
        MsgBox, Nie zaznaczono tekstu!
        Return
    }
}

ClipboardRestore()
{
    Clipboard:= OldClipboard
}

Widzieliśmy już inne skrypty AutoHotkey, które zmieniają Caps Lock w klawisz modyfikujący, ale nigdy nie w taki sposób, który pozwalałby na jego normalne działanie przy podwójnym naciśnięciu. To naprawdę sprytne rozwiązanie. Jeszcze raz dziękujemy Dave’owi Kellogowi za przesłanie tego skryptu do nas.


newsblog.pl