Postavljanje prečica pomoću AutoHotKey-a

  • AutoHotkey vam omogućava da kreirate i povežete prilagođene prečice na tastaturi, uključujući "leader" i dvostruki dodir, za umnožavanje kombinacija.
  • Slanje sa {Blind} zadržava fizičke modifikatore poput Ctrl i čini prečice "spamom" bez otpuštanja tipke.
  • Uključuje praktične primjere: brzi tekstovi, međuspremnik, automatski datumi i zamjene u proračunskim tablicama.
  • Skripte se mogu učitati pri pokretanju Windowsa i kompajlirati u EXE datoteku za dijeljenje bez instaliranja AHK-a.

Konfigurišite prečice pomoću AutoHotKey-a

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

Konfigurišite prečice pomoću AutoHotKey-a

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.

  Ključne attrib naredbe za kontrolu atributa datoteka u Windowsu

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.

  Microsoft usporava širenje Copilota i preispituje vještačku inteligenciju u Windowsu 11

Koristan podsjetnik na sintaksu u AutoHotkey-u

Konfigurišite prečice pomoću AutoHotKey-a

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

Konfigurišite prečice pomoću AutoHotKey-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.

  Otkrijte skrivene funkcije anonimnog načina rada u Windowsu 11 i druge tajne sistemske funkcije

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.

Sigurnost makroa u Excelu
Vezani članak:
Kompletan vodič za formate brojeva u Excelu: šta su i kako ih savladati