Klávesa Caps Lock, ačkoliv je prominentně umístěna na klávesnici, její využití často není optimální. Tento jednoduchý skript pro AutoHotkey transformuje Caps Lock v modifikační klávesu, což umožňuje vytvářet vlastní klávesové zkratky.
Základní princip
S tímto skriptem můžete například stisknutím Caps Lock + G rychle vyhledat označený text kdekoliv v systému Windows, nebo Caps Lock + D použít pro vyhledání definice slova ve slovníku. Tyto zkratky lze libovolně přizpůsobit vašim potřebám.
Skvělé na tomto skriptu je, že umožňuje i standardní použití klávesy Caps Lock. Rychlým dvojitým stisknutím můžete Caps Lock aktivovat a deaktivovat, tak jak jste zvyklí. Pokud nedojde k dvojitému stisku, Caps Lock bude fungovat jako modifikační klávesa pro vámi definované zkratky.
Co je AutoHotkey?
AutoHotkey je bezplatný nástroj pro Windows, který pracuje na pozadí a spouští skripty. Tyto skripty si můžete sami vytvářet nebo stahovat z internetu. Skripty obvykle monitorují stisky kláves a následně provedou definovanou akci. Díky tomu je AutoHotkey flexibilní metodou pro přemapování kláves nebo přiřazování různých funkcí klávesám v systému Windows.
Již dříve jsme demonstrovali, jak lze s AutoHotkey deaktivovat klávesu Windows, abyste zamezili nechtěnému spouštění nabídky Start během hraní her na celou obrazovku. Není tedy nutné z klávesnice žádnou klávesu fyzicky odstraňovat.
Instalace AutoHotkey a skriptu
Stáhněte si aplikaci AutoHotkey a nainstalujte ji. Poté si stáhněte skript CapsLock Modifier.
Rozbalte AHK soubor skriptu ze ZIP archivu do libovolné složky na vašem počítači. Skript spustíte tak, že na něj kliknete pravým tlačítkem myši a vyberete „Spustit skript“.
Skript nyní běží skrytě na pozadí. Chcete-li zapnout nebo vypnout Caps Lock, rychle dvakrát klepněte na klávesu Caps Lock.
Pokud netiknete dvakrát, Caps Lock bude fungovat jako modifikační klávesa. Díky tomuto skriptu můžete ve Windows používat následující klávesové zkratky:
- Caps Lock + d: Vyhledá definici vybraného slova ve slovníku.
- Caps Lock + g: Vyhledá vybraný text na Googlu.
- Caps Lock + t: Vyhledá vybrané slovo v tezauru.
- Caps Lock + w: Vyhledá vybraný text na Wikipedii.
Potřebujete více klávesových zkratek? S trochou znalostí skriptování v AutoHotkey si můžete vytvořit vlastní.
Pro správu skriptu AutoHotkey najděte ikonu AutoHotkey v oznamovací oblasti – jedná se o ikonu se zeleným pozadím a bílým písmenem H. Pro ukončení skriptu klikněte na ikonu pravým tlačítkem a vyberte „Ukončit“.
Jak to funguje?
Pokud chcete prozkoumat, co skript dělá, klikněte na něj pravým tlačítkem myši a vyberte „Upravit skript“. Skript se otevře v programu Poznámkový blok, kde si můžete prohlédnout jeho kód. Skript je poměrně krátký a dobře srozumitelný. Vždy doporučujeme prohlédnout si neznámé skripty před jejich spuštěním.
Tento konkrétní skript nám zaslal Dave Kellog. Zde je část skriptu, která zajišťuje, že Caps Lock funguje jako modifikační klávesa, pokud není stisknut dvakrát:
CapsLock:: KeyWait, CapsLock ; Čeká na uvolnění Caps Lock. KeyWait, CapsLock, D T0.2 ; ErrorLevel = 1 pokud CapsLock nebyl stisknut do 0.2 sekund. if ((ErrorLevel = 0) && (A_PriorKey = "CapsLock") ) ; Jedná se o dvojité stisknutí Caps Lock? { SetCapsLockState, % GetKeyState("CapsLock","T") ? "Off" : "On" ; Přepne stav CapsLock LED. } return
Tento úsek kódu sleduje, zda je klávesa Caps Lock stisknuta dvakrát, a pokud ano, zapne nebo vypne Caps Lock. V opačném případě skript zachytí Caps Lock a použije jej pro definované zkratky.
Zbytek skriptu obsahuje definice klávesových zkratek a užitečnou funkci pro práci se schránkou, která uloží a obnoví její obsah. Tato funkce je důležitá, protože modifikační klávesy používají schránku pro práci s vybraným textem.
Chcete si prohlédnout celý skript, aniž byste ho stahovali? Tady je:
#NoEnv ; Doporučeno pro výkon a kompatibilitu s budoucími verzemi AutoHotkey. ; #Warn ; Umožní varování pro detekci běžných chyb. #SingleInstance FORCE ; Přeskočí dialogové okno a tiše nahradí předchozí instanci tohoto skriptu. SendMode Input ; Doporučeno pro nové skripty kvůli vyšší rychlosti a spolehlivosti. SetWorkingDir %A_ScriptDir% ; Zajistí konzistentní spouštěcí adresář. ;================================================================================================ ; Zpracování Caps Lock. Pro přepnutí režimu Caps Lock je nutné dvojité stisknutí. ;================================================================================================ ; Pro přepnutí režimu Caps Lock je nutné dvojité stisknutí. CapsLock:: KeyWait, CapsLock ; Čeká na uvolnění Caps Lock. KeyWait, CapsLock, D T0.2 ; ErrorLevel = 1 pokud CapsLock nebyl stisknut do 0.2 sekund. if ((ErrorLevel = 0) && (A_PriorKey = "CapsLock") ) ; Jedná se o dvojité stisknutí Caps Lock? { SetCapsLockState, % GetKeyState("CapsLock","T") ? "Off" : "On" ; Přepne stav CapsLock LED. } return ;================================================================================================ ; Klávesové zkratky s modifikátorem Caps Lock. Viz https://autohotkey.com/docs/Hotkeys.htm#combo ;================================================================================================ ; Získání DEFINICE vybraného slova. CapsLock & d:: ClipboardGet() Run, http://www.google.com/search?q=define+%clipboard% ; Spustí s obsahem schránky ClipboardRestore() Return ; VYHLEDÁNÍ vybraného textu v GOOGLE. CapsLock & g:: ClipboardGet() Run, http://www.google.com/search?q=%clipboard% ; Spustí s obsahem schránky ClipboardRestore() Return ; VYHLEDÁNÍ vybraného slova v TEZAURU CapsLock & t:: ClipboardGet() Run http://www.thesaurus.com/browse/%Clipboard% ; Spustí s obsahem schránky ClipboardRestore() Return ; VYHLEDÁNÍ vybraného slova ve WIKIPEDII CapsLock & w:: ClipboardGet() Run, https://en.wikipedia.org/wiki/%clipboard% ; Spustí s obsahem schránky ClipboardRestore() Return ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ;================================================================================================ ; Pomocné funkce pro schránku. ;================================================================================================ ClipboardGet() { OldClipboard:= ClipboardAll ;Uloží stávající obsah schránky. Clipboard:= "" Send, ^c ;Zkopíruje vybraný test do schránky ClipWait 0 If ErrorLevel { MsgBox, Žádný text není vybrán! Return } } ClipboardRestore() { Clipboard:= OldClipboard }
Setkali jsme se již se skripty AutoHotkey, které mění Caps Lock na modifikační klávesu, ale nikdy ne takovým, který umožňuje zachovat funkci Caps Lock jako přepínače pomocí dvojitého stisku. Je to velmi elegantní řešení. Ještě jednou děkujeme Daveovi Kellogovi za zaslání tohoto skriptu.