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

Klawisz Caps Lock zajmuje główne miejsce na klawiaturze i nie pociąga za sobą ciężaru. Ten łatwy skrypt AutoHotkey zamieni Caps Lock w klawisz modyfikujący, dzięki czemu można go używać do dostosowywanych skrótów.

Podstawy

Ten skrypt pozwoli ci nacisnąć Caps Lock + G, aby szybko wpisać tekst Google z dowolnego miejsca w systemie Windows lub nacisnąć Caps Lock + D, aby wyszukać słownikową definicję słowa. Oczywiście te skróty można dostosować.

Co najlepsze, ten sprytny skrypt nadal pozwala normalnie używać Caps Lock. Możesz włączać i wyłączać Caps Lock, szybko naciskając go dwukrotnie. Jeśli tego nie zrobisz, Caps Lock będzie działał jako klawisz modyfikujący dla skrótów.

AutoHotkey 101

AutoHotkey to darmowa aplikacja Windows, która działa w tle i uruchamia skrypty. Możesz napisać te skrypty samodzielnie lub pobrać je. Skrypty zazwyczaj czekają na naciśnięcie klawisza i wykonują jakąś czynność. W ten sposób AutoHotkey to szybki sposób na ponowne przypisanie klawiszy w systemie Windows lub przypisanie różnych akcji do klawiszy.

Na przykład pokazaliśmy, jak możesz użyć AutoHotkey do wyłączenia klawisza Windows, uniemożliwiając mu otwarcie menu Start i wyprowadzenie Cię z pełnoekranowych gier komputerowych. Nie ma potrzeby odrywania klawisza od klawiatury.

Zainstaluj AutoHotkey i pobierz skrypt

Pobierz AutoHotkey i zainstaluj go, aby rozpocząć. Następnie pobierz skrypt CapsLock Modifier.

Wyodrębnij plik skryptu AHK z pliku archiwum ZIP i umieść go w dowolnym folderze na swoim komputerze. Aby uruchomić go za pomocą AutoHotkey, kliknij prawym przyciskiem myszy skrypt i wybierz „Uruchom skrypt”.

Uruchamianie skryptu AutoHotkey z Eksploratora plików.

Skrypt działa teraz w tle. Aby włączać i wyłączać Caps Lock, szybko naciśnij dwukrotnie klawisz Caps Lock.

Jeśli nie klikniesz dwukrotnie, Caps Lock działa tylko jako klawisz modyfikujący. Dzięki funkcjom wbudowanym w skrypcie możesz używać następujących skrótów w dowolnym miejscu w systemie Windows:

Naciśnij klawisze Caps Lock + d, aby znaleźć definicję słownikową wybranego słowa.
Naciśnij klawisze Caps Lock + g, aby wyszukać w Google zaznaczony tekst w dowolnym miejscu w systemie Windows.
Naciśnij klawisze Caps Lock + t, aby znaleźć wybrane słowo w tezaurusie.
Naciśnij klawisze Caps Lock + w, aby wyszukać zaznaczony tekst w Wikipedii.

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

Aby sterować AutoHotkey, poszukaj ikony AutoHotkey w obszarze powiadomień – ma zielone tło z białą literą H. Aby zatrzymać uruchamianie skryptu, kliknij prawym przyciskiem myszy ikonę AutoHotkey i wybierz „Zakończ”.

Wychodzenie z AutoHotkey i kończenie skryptu.

Jak to działa?

Jeśli chcesz zobaczyć, co robi skrypt, kliknij go prawym przyciskiem myszy i wybierz „Edytuj skrypt”. Spowoduje to otwarcie skryptu w Notatniku i możesz sprawdzić jego kod. Skrypt jest dość krótki i łatwy do zrozumienia. Zalecamy, aby nie pobierać i nie uruchamiać dziwnych skryptów bez wcześniejszego ich obejrzenia i zrozumienia.

Ten skrypt przesłał nam Dave Kellog. Oto magiczna część skryptu, która sprawia, że ​​Caps Lock działa jako klawisz modyfikujący, jeśli zostanie naciśnięty dwukrotnie:

CapsLock::
KeyWait, CapsLock ; Wait forever until Capslock is released.
KeyWait, CapsLock, D T0.2 ; ErrorLevel = 1 if CapsLock not down within 0.2 seconds.
if ((ErrorLevel = 0) && (A_PriorKey = "CapsLock") ) ; Is a double tap on CapsLock?
{
SetCapsLockState, % GetKeyState("CapsLock","T") ? "Off" : "On" ; Toggle the state of CapsLock LED
}
return

Ten bit czeka, aby sprawdzić, czy klawisz Caps Lock jest naciśnięty dwukrotnie i włącza lub wyłącza Caps Lock. W przeciwnym razie skrypt przechwytuje Caps Lock i używa go do skrótów modyfikujących.

Pozostała część skryptu zawiera działania skrótów i przydatną funkcję schowka, która zapisuje zawartość schowka i przywraca ją. Ta część jest całkiem konieczna, ponieważ funkcje modyfikujące używają schowka do wykonywania działań na zaznaczonym tekście.

Chcesz zobaczyć pełny skrypt bez pobierania go? Oto ona:

#NoEnv                      ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn                     ; Enable warnings to assist with detecting common errors.
#SingleInstance FORCE       ; Skip invocation dialog box and silently replace previously executing instance of this script.
SendMode Input              ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.


;================================================================================================
;  CapsLock processing.  Must double tap CapsLock to toggle CapsLock mode on or off.
;================================================================================================
; Must double tap CapsLock to toggle CapsLock mode on or off.
CapsLock::
    KeyWait, CapsLock                                                   ; Wait forever until Capslock is released.
    KeyWait, CapsLock, D T0.2                                           ; ErrorLevel = 1 if CapsLock not down within 0.2 seconds.
    if ((ErrorLevel = 0) && (A_PriorKey = "CapsLock") )                 ; Is a double tap on CapsLock?
        {
        SetCapsLockState, % GetKeyState("CapsLock","T") ? "Off" : "On"  ; Toggle the state of CapsLock LED
        }
return



;================================================================================================
; Hot keys with CapsLock modifier.  See https://autohotkey.com/docs/Hotkeys.htm#combo
;================================================================================================
; Get DEFINITION of selected word.    
CapsLock & d::
    ClipboardGet()
    Run, http://www.google.com/search?q=define+%clipboard%     ; Launch with contents of clipboard
    ClipboardRestore()
Return

; GOOGLE the selected text.
CapsLock & g::
    ClipboardGet()
    Run, http://www.google.com/search?q=%clipboard%             ; Launch with contents of clipboard
    ClipboardRestore()
Return

; Do THESAURUS of selected word
CapsLock & t::
    ClipboardGet()
    Run http://www.thesaurus.com/browse/%Clipboard%             ; Launch with contents of clipboard
    ClipboardRestore()
Return

; Do WIKIPEDIA of selected word
CapsLock & w::
    ClipboardGet()
    Run, https://en.wikipedia.org/wiki/%clipboard%              ; Launch with contents of clipboard
    ClipboardRestore()
Return

;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++

;================================================================================================
; Clipboard helper functions.
;================================================================================================
ClipboardGet()
{
    OldClipboard:= ClipboardAll                         ;Save existing clipboard.
    Clipboard:= ""
    Send, ^c                                            ;Copy selected test to clipboard
    ClipWait 0
    If ErrorLevel
        {
        MsgBox, No Text Selected!
        Return
        }
}


ClipboardRestore()
{
    Clipboard:= OldClipboard
}

Widzieliśmy już skrypty AutoHotkey, które zamieniają Caps Lock w klawisz modyfikujący, ale nigdy nie taki, który utrzymuje Caps Lock jako przełącznik, jeśli go dwukrotnie naciśniesz. To bardzo sprytne. Jeszcze raz dziękujemy Dave’owi Kellogowi za przesłanie go do nas.