Da li vam je ponestalo kombinacija za lijevu ruku i osjećate da su vam prečice previše tanke? Pomoću AutoHotkey (AHK) možete ići daleko dalje od tipičnih Ctrl+Q ili Ctrl+W i kreirati neku vrstu "vodećeg tastera" koji, kada se pritisne, pretvara sljedeći pritisak tastera u drugu radnju. Takav pristup otključava mnoštvo kombinacija. bez skidanja ruke s tastature.
Osim toga, moguće je lančano povezivanje radnji, otkrivanje dvostruki dodir i čak prikazati mali vizualni znak na ekranu kako biste znali da je vaša prečica ušla u način rada lidera. Pogledajmo kako ga sastaviti korak po korak, s korisnim primjerima i nekoliko tehnika koje će ga učiniti brzim, stabilnim i "pogodnim za neželjenu poštu" (ponovljivim bez otpuštanja Ctrl tipke) kada vam zatreba.
Šta je AutoHotkey i zašto se isplati?
AutoHotkey je besplatan i otvoreni projekt za Windows. koji sluša vaše kombinacije tipki i izvršava skripte koje sami definirate. Ako vam je ikada nedostajala ta savršena prečica, AHK vam omogućava da kreirate svoju vlastitu: od slanja teksta, otvaranja aplikacija, transformiranja sadržaja međuspremnika, do orkestriranja višestrukih pritisaka tipki i odgoda do najsitnijeg detalja.
AHK skripte su jednostavne .ahk datoteke koje možete uređivati u bilo kojem notepadu. Kada ih pokrenete, sistem "sluša" vaše prečice i pokreće definirane radnje. Ako ih želite prenijeti na bilo koji računar, možete ih i kompajlirati u EXE datoteke i zaboraviti na instaliranje AutoHotkey-a na ciljni računar.
Prilikom slanja pritisaka tipki, AHK nudi nekoliko načina rada (Send, SendInput, SendEvent…), s razlikama u brzini i ponašanju. Za brze i stabilne prečice, SendMode Input i SetKeyDelay -1 su obično sigurna opcija., jer smanjuju latencije na minimum.
Inače, AHK ima svoju vrlo jednostavnu sintaksu i ne morate biti programer da biste je iskoristili. Kopiranjem, lijepljenjem i prilagođavanjem nekoliko primjera imat ćete mnogo toga za dobiti..
Od jednostavne prečice do "vodećeg ključa": kombinujte bez praktičnih ograničenja
Uobičajeni problem: imate Ctrl+Q za jednu stvar, Ctrl+W za drugu... i za tren oka vam ponestane udobnih kombinacija s lijeve straneRješenje je razmišljati obrnuto: pretvoriti, na primjer, Ctrl+Q u privremeni modifikatorKada ga pritisnete, vaš sljedeći taster (Q, W, E, R…) pokreće drugačiji skript, a zatim se sve vraća u normalu.
Sa ovom idejom, Ctrl+Q, a zatim Q može biti „Skripta 1“; Ctrl+Q, zatim W, za „Skripta 2“; i tako dalje preko cijele tastature. To dramatično povećava mogućnosti bez pomjeranja ruke i milimetra.
A ako vam to nije dovoljno? Unesite dvostruki dodir: Ctrl+Q, a zatim dva brza dodira na Q, mogu pokrenuti "Skriptu 3"; Ctrl+Q i dva dodira na W, "Skripta 4"... i spremni ste (trostruki dodir, itd.). U praksi, imate mnoštvo kombinacija.
Kako bi poboljšali iskustvo, mnogi ljudi pokazuju narandžasti mini GUI u gornjem desnom uglu kada aktivirate vođački način rada. To je mali kvadrat koji nestaje nakon sljedećeg pritiska tipke, samo da potvrdi da je sekvenca "naoružana".
Pravi primjer: kategorije po liderima i različite upotrebe

Jedan obrazac koji odlično funkcioniše je dodjeljivanje tematskih vođa. Na primjer: Ctrl+Q za radne skripte, Ctrl+W za otvaranje aplikacija i Ctrl+R za igre ili lične zadatke. Unutar svakog vođe, drugi taster određuje određeni scenario, a dvostrukim dodirom otvaraju se varijante.
Zamislite da volite automatizirati radnje u igri. Možete koristiti Ctrl+R kao vodeći tipkovni prečac "igre", a zatim Ctrl+R i P za klavirski tekst učitavanje određenog preseta i dvostruki dodir P za učitavanje druge pjesme. Vrlo je praktično i, prije svega, beskonačno skalabilno.
Neka se niko ne zbuni riječju "beskonačnost". U redu, Strogo rečeno, ne postoji fizička beskonačnost na tastaturi, ali iz praktičnih razloga imat ćete više kombinacija nego što možete zapamtiti: sva slova, sa i bez dvostrukog dodira, a ako želite trostruki ili četverostruki dodir.
AHK implementacija: Osnovni vođa s detekcijom dvostrukog dodira
Da se bacimo na posao. Počinjemo s Ctrl+Q liderom koji čeka pritisak tipke, prikazuje narančasti kvadrat i omogućava dvostruki dodir. Ovaj primjer koristi AutoHotkey v1 (klasična sintaksa) i zamišljen je da bude jasan i lako proširiv:
#NoEnv
SendMode Input
SetWorkingDir %A_ScriptDir%
SetKeyDelay, -1, -1
#InstallKeybdHook
; --- Líder Ctrl+Q con GUI indicadora y doble toque ---
$^q::
if (leaderBusy)
return
leaderBusy := true
; Pequeña GUI naranja arriba a la derecha
SysGet, mon, MonitorWorkArea, 1
Gui, +AlwaysOnTop -Caption +ToolWindow
Gui, Color, FF7F00
Gui, Show, % "x" monRight-28 " y" monTop+10 " w18 h18", Leader
; Captura una tecla en 800 ms
Input, LKey, L1 T0.8 V
Gui, Destroy
if (ErrorLevel = "Timeout" || LKey = "") {
leaderBusy := false
return
}
; Intento de doble toque: rápida liberación y segunda lectura
second := ""
KeyWait, %LKey%, T0.3
if (!ErrorLevel) {
Input, second, L1 T0.3 V
}
; Enrutado por etiqueta según tap simple/doble
if (second = LKey)
Gosub, Leader_Double_%LKey%
else
Gosub, Leader_Single_%LKey%
leaderBusy := false
return
; ---- Acciones ejemplo (ajusta a tus scripts) ----
Leader_Single_q:
; Script 1
MsgBox, 64, Script 1, Ejecutado: Ctrl+Q, luego Q
return
Leader_Single_w:
; Script 2
MsgBox, 64, Script 2, Ejecutado: Ctrl+Q, luego W
return
Leader_Double_q:
; Script 3
MsgBox, 64, Script 3, Doble toque en Q tras Ctrl+Q
return
Leader_Double_w:
; Script 4
MsgBox, 64, Script 4, Doble toque en W tras Ctrl+Q
return
Ovaj kostur pokriva osnovne stvari: Aktiviraš vođu, vidiš indikator, uhvatiš sljedeći ključ i, ako je prikladno, detektirati brzi drugi dodir. Zatim samo trebate objesiti svoje radnje u oznake poput Leader_Single_letra y Leader_Double_letra.
Kako učiniti Ctrl "spam-pogodnim" bez otpuštanja tipke (veliki slučaj ^g → ^t, a zatim Alt+g)
Vrlo čest slučaj je želja za mapiranjem Ctrl+G do sekvence Ctrl+T, zatim Alt+G, fizički držeći pritisnutu tipku Ctrl kako biste mogli ponovo pokrenuti prečicu bez otpuštanja. Ako to uradite pogrešno, skripta će usput otpustiti Ctrl, što će vam poremetiti tajming.
Ključno je koristiti {Slijep} da bi se poštovalo stvarno stanje modifikatora koje ste pritisnuli (u ovom slučaju Ctrl). Dakle, kada šaljete t, putujte s fizičkim Ctrl-om; zatim pritisnete Alt+g i Ctrl ostaje pritisnut jer ga niste otpustili. Vrlo čist primjer:
SendMode, Input
SetKeyDelay, -1, -1
$^g::
; Primero Ctrl+t respetando el Ctrl físico con {Blind}
SendInput, {Blind}{t}
; Luego Alt+g explícito
SendInput, !g
return
S ovim uzorkom, Nema potrebe koristiti {CtrlDown} na kraju da "premjesti" modifikator. Nikada ne šaljući {CtrlUp}, i zahvaljujući {Blind}, Ctrl ostaje kakav je i bio: fizički pritisnut od strane vas.
Ako želite, možete forsirati više "klasičnih" događaja (dolje/gore), ali pazite da ne ostavite nijednu tipku zaglavljenu. Koristite ga samo ako znate šta radite. i dodajte zaštitnu mjeru za otpuštanje Ctrl-a kada zaista otpustite tipku:
$^g::
; Variante con eventos explícitos (útil si tu app es puñetera)
SendEvent, {Ctrl Down}{t}{Alt Down}g{Alt Up}
return
; Asegúrate de liberar el Ctrl sintético al soltarlo físicamente
*~Ctrl Up::
SendEvent, {Ctrl Up}
return
U većini scenarija, prvi pristup sa PošaljiUnos + {Slijepo} Brže je i robusnije. Ako primijetite bilo kakvo neobično ponašanje, isprobajte prvo rješenje prije nego što se upustite u ručno spuštanje/podizanje sistema.
Koristan podsjetnik na sintaksu u AutoHotkey-u

Ove simbole ćete vidjeti stalno kada deklarirate prečice i šaljete pritiske tipki. Njihovo pamćenje vam štedi vrijeme. prilikom čitanja ili pisanja scenarija:
- ^ = Ctrl
- + =Shift
- ! = Alt
- :: = definiraj prečicu (vrući taster)
- := = dodjeljivanje varijabli (izraz)
Prvi skript: poruka za provjeru da li sve radi
Preuzmite AutoHotkey sa njihove web stranice, kreirajte datoteku .ahk (na primjer, hello_world.ahk), uredite ga i zalijepite nešto ovako. Ovako potvrđujete da AHK osluškuje vašu prečicu. i prikazuje prozor:
^+!u:: ; Ctrl+Shift+Alt+U
MsgBox, 0, ¡Hola!, Hola desde AutoHotkey :)
return
Pritisnite Ctrl+Shift+Alt+U i trebali biste vidjeti dijaloški okvir. Izbjegavajte krađu kombinacija iz sistema (kao Ctrl+C) kako biste izbjegli korištenje izvornih prečica.
Jednostavno ponovno mapiranje i slanje: od Upravitelja zadataka do brzih tekstualnih poruka
Preslikavanje jedne prečice u drugu je mačji kašalj. Na primjer. Otvorite Upravitelj zadataka pomoću Ctrl+Q koristeći njegovu univerzalnu kombinaciju (Ctrl+Shift+Esc):
^q::
SendInput, ^+{Esc}
return
Možete i umetnuti vašu e-poštu, potpis ili bilo koji tekst sa kombinacijom, bez oslanjanja na međuspremnik. SendInput je savršen za ovo zbog svoje brzine:
^!m:: ; Ctrl+Alt+M
SendInput, micorreo@ejemplo.com
return
Ako želite pripremiti tekst u međuspremniku bez prethodnog pisanja, koristite varijablu Clipboard. Spremni da se zalijepite gdje god želite:
^!m::
Clipboard := "micorreo@ejemplo.com"
return
Automatski datumi: tekući mjesec i prethodni mjesec bez grešaka
Mnogi radni procesi često zahtijevaju da unesete mjesec. AHK ga piše umjesto vas pomoću prečice. Ovaj primjer dobija trenutni mjesec na španskom i kuca ga:
; Mes actual (formato completo, locale español)
^+!F4::
time := A_NowUTC
FormatTime, mes, %time%, L0x0C0A, MMMM
SendInput, %mes%
return
I to Uzima prethodni mjesec bez slagalice (oduzmite jedan dan od 1. dana tekućeg mjeseca i formatirajte):
; Mes anterior
^+!F5::
date := (A_YYYY . A_MM . "01")
date += -1, days
FormatTime, mesAnterior, %date%, L0x0C0A, MMMM
SendInput, %mesAnterior%
return
Zamijeni prošli mjesec trenutnim mjesecom u ćeliji
Ako radite sa proračunske tablice, ova prečica kopira ćeliju, zamjenjuje prethodni mjesec trenutnim i lijepi rezultat. Idealno kada duplirate mjesečne redove i zaboraviš ažurirati tekst mjeseca:
^+!F6::
; Mes actual y anterior
time := A_NowUTC
FormatTime, mesActual, %time%, L0x0C0A, MMMM
date := (A_YYYY . A_MM . "01")
date += -1, days
FormatTime, mesAnterior, %date%, L0x0C0A, MMMM
; Copia y transforma
SendInput, ^c
ClipWait, 0.5
texto := Clipboard
texto := StrReplace(texto, mesAnterior, mesActual)
Clipboard := texto
SendInput, ^v
return
Ako ovo kombinujete sa vođom, možete imati podmeni za uređivanje teksta neograničeno: zamjena, normalizacija velikih slova, čišćenje razmaka itd.
Učitajte svoje skripte pri pokretanju Windowsa
Da bi vaše prečice bile aktivne čim pokrenete računar, jednostavno stavite prečicu do .ahk datoteke u korisnikovoj Startup mapi. Pritisnite Win+R, upišite shell:startup i tamo zalijepite prečicu do vašeg skripta. Svaki put kada ponovo pokrenete računar, AHK će ga učitati u pozadini i bit ćete spremni.
Kompajliranje u EXE i dijeljenje bez instaliranja AHK-a

Kada želite proslijediti skriptu drugoj mašini, kompajliraj ga u izvršnu datoteku sa kontekstni meni (Kliknite desnim tasterom miša na .ahk → "Kompiliraj skriptu"). Dobit ćete samostalnu .exe datoteku koja radi bez instaliranog AutoHotkey-a, idealnu za upravljane računare ili tamo gdje ne želite ništa dirati.
Profesionalni savjeti: Brzina, stabilnost i kontekst
Nekoliko jednostavnih podešavanja može napraviti veliku razliku u tome kako se vaše prečice osjećaju. SendMode unos i SetKeyDelay -1,-1 ubrzati dostavu i izbjeći primjetna kašnjenja; prefiks $ ispred prečice sprečava poslane tipke da aktiviraju samu prečicu (rekurzija), što ponekad uzrokuje neočekivane petlje.
Ako prečica treba da djeluje samo u jednoj aplikaciji, koristite #IfWinActive da biste ga suzili po prozoru ili naslovu. Na primjer, "Ctrl+Q leader" može raditi samo u vašem editoru, a "Ctrl+W leader" može raditi samo u pregledniku. To je vrlo čist način da se izbjegne interferencija.
Prilikom simuliranja pritisaka tipki s modifikatorima, imajte na umu {Blind}. Uvijek poštujte fizičko stanje ključeva Ako želite da kombinacije budu otporne na neželjenu poštu, ako morate ručno preuzimati i preuzimati modifikatore, dodajte sigurnosni izlaz kako se ne bi zaglavili ako se aplikacija sruši.
I ne podcjenjujte vrijednost narandžastog grafičkog korisničkog interfejsa lidera. To je minimalan vizualni trag što vas oslobađa sumnji: znate da AHK čeka sljedeći taster u sekvenci i zato ste spremni kao metak.
Prošireni primjer vođe: Otvaranje aplikacija, pokretanje skripti i varijanti dvostrukim dodirom
Da biste vidjeli kompletan uzorak, evo jednog Ctrl+W predložak za lidera fokusiran na otvaranje aplikacija S opcijama jednog i dvostrukog dodira za varijante (npr. različite profile ili projekte). Prilagodite ga svojim rutama:
$^w::
if (leaderBusy)
return
leaderBusy := true
; Indicador visual
SysGet, mon, MonitorWorkArea, 1
Gui, +AlwaysOnTop -Caption +ToolWindow
Gui, Color, FF7F00
Gui, Show, % "x" monRight-28 " y" monTop+10 " w18 h18", Leader
Input, key, L1 T0.8 V
Gui, Destroy
if (ErrorLevel = "Timeout" || key = "") {
leaderBusy := false
return
}
second := ""
KeyWait, %key%, T0.3
if (!ErrorLevel)
Input, second, L1 T0.3 V
if (second = key)
Gosub, Apps_Double_%key%
else
Gosub, Apps_Single_%key%
leaderBusy := false
return
; --- Apps por tecla ---
Apps_Single_c: ; Ctrl+W luego C
Run, chrome.exe
return
Apps_Double_c: ; Doble toque en C
Run, chrome.exe --profile-directory=Default
return
Apps_Single_v:
Run, code.exe
return
Apps_Double_v:
Run, code.exe "C:\\Proyectos\\Proyecto1"
return
Pomoću ovoga možete imati lidere po kategorijama: posao, aplikacije, igre, uslužni programi… I unutar svake grupe, dobro organizirane akcije i varijacije. Dodajte šalabahter na početku i za nekoliko dana ga nećete ni pogledati.
Dobre navike za izbjegavanje glavobolja
- Obriši imena u oznakama i varijablama (Leader_Single_x, Leader_Double_x, Apps_Single_x…). Što je razumljivije, to bolje.
- Ne birajte kritične prečice iz sistema (kopiraj, zalijepi, poništi). Da biste izbjegli ponovno treniranje mozga, izmislite neutralne kombinacije.
- Podijelite velike skripte u datoteke po temama i učitati ih iz glavne datoteke pomoću #IncludeOdržavanje će biti lakše.
- Pokušajte sa slanjem unosa i podesite KeyDelay prije korištenja ručnog smanjivanja/povećanja. To je stabilnije i često dovoljno.
Ovako postavljen, sistem prečica vođen liderom daje vam ogroman osjećaj kontrole: jedan ključ za "naoružavanje", a drugi za izvršavanje, sa dvostrukim dodirom za varijante. Ako se dobro nosite i sa neželjenom poštom pomoću {Blind}, preletjet ćete kroz tastaturu bez ikakvih problema.