Zautomatyzuj swoje życie, czyli prosty blog o AutoHotKey — epizod 2
16.05.2018 | aktual.: 22.07.2018 12:53
Witajcie.
W tym wpisie będziecie mogli się zapoznać z kolejną funkcjonalnością AHK jaką są skróty klawiszowe "hotkey'e". Przyznam się że sam zaczynałem od tego odchodząc od XMBC.
A tu poprzedni: Wstęp
Bierzmy byka (czyli myszkę) za rogi (czy też za przyciski) - Przykład nr 2
Sytuacja z życia wzięta - kupujesz myszkę, tańszą lub droższą, gamingową lub tez nie. Wyróżnia się ona dwoma dodatkowymi przyciskami pod kciukiem, które (bez dodatkowych zabiegów) pełnia funkcję "wstecz / do przodu" (np. zmieniają ci strony w przeglądarce na poprzednią i następną w historii). Osobiście takie działanie mocno mnie irytowało i znalazłem sposób na naprawienie tego.
Jednak samo wyłączenie tych dwóch klawiszy (czy to programowo czy młotkiem) było sporą stratą, dlaczego by nie przypisać im jakiejś innej funkcji? Kopiuj i Wklej nada się idealnie.
Oto jak będzie wyglądał taki skrypt który globalnie dla całego Windows pozwoli nam na kopiowanie i wklejanie za pomocą tych dwóch bocznych klawiszy myszy:
XButton1:: ;; kopiuj ClipBoard = Send, ^c ClipWait, 0.5 Return, XButton2:: ;; wklej Send, ^v Return,
To pojechałem po bandzie :) Ale bez stresu, już wyjaśniam.
XButton1 i XButton2 to nazwy tych bocznych klawiszy myszy w takiej postaci jaką rozumie AHK. Ważne są (i zawsze będą) wielkości liter.
Podwójny dwukropek "::" to operacja przypisania nowej funkcjonalności do klawisza który jest przed dwukropkami. Jak pamiętacie w poprzedniej części używałem dwukropków przed i po HotStringiem. Jest to standardowy zapis stosowany w AHK.
Return, - totaki "nawias zamykający" pojedynczy hotkey (to nie jest super poprawna definicja ale w tym momencie zupełnie nam wystarcza).
Polecenie "Send" z przecinkiem to pierwsze i (umownie powiedzmy) najczęściej wykorzystywane polecenie - po prostu "wysyła" do systemu informacje (w tym przypadku o naciśnięciu konkretnych klawiszy).
ClipBoard to nazwa schowka systemowego jaka jest rozumiana przez AHK. Umieszczenie samego znaku "= równa się" po nazwie ClipBoard oznacza że czyścimy obecny schowek z jego zawartości (przypisujemy do schowka nic).
Z kolei ClipWait to polecenie które nakazuje poczekać aż skopiowana zawartość znajdzie się w schowku. Liczba to czas oczekiwania - w tym wypadku jest to pół milisekundy. Jest to taki popularny "bezpiecznik" i dobra praktyka w operowaniu schowkiem.
"^c" - to "kopiuj"
"^v" - to "wklej"
Użycie "daszka" nie jest przypadkowe - jest to skrócony kod w AHK odpowiadający klawiszowi [Control]. AHK używa kodów również dla klawiszy [Alt] - jest to "!" wykrzyknik, [Windows] - "#" hasz, [Shift] - "+" plus.
Zapis "^c" odpowiada fizycznemu naciśnięciu i przytrzymaniu klawisza control, po czym naciśnięciu klawisza "c" i puszczeniu obu.
Dodatkowo średnik ";" pozwala nam na wstawienie komentarza w linii kodu. Ilość średników czy długość komentarza nie ma specjalnie znaczenia.
A teraz wyjaśnienie obrazkowe (przypominam że to mój wariant kolorowania składni ahk w Notepad++ i, o zgrozo, nie stosuję czcionki o stałej szerokości, więc w ogóle jestem niepoważny :P ):
Minutka pisania i 8 linijek kodu (w takiej uporządkowanej postaci) właśnie zamieniły wam działanie dwóch przycisków na myszce.
Przykładem John McClane'a moglibyśmy rzucić "Yippee-ki-yay, motherfu ..." ... no dobrze wiemy jak to dalej leci :P
Spróbujcie sami stworzyć sobie jakiś inny hotkey - np. drukowanie, wycinanie, podkreślanie w Word albo przełączanie okien :)
Następny: Epizod 3