Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Zautomatyzuj swoje życie, czyli prosty blog o AutoHotKey — epizod 2

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.

reklama

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 :) 

windows programowanie inne
reklama
r   e   k   l   a   m   a

Komentarze