AutoHotKey – makra dla każdego
Większość tanich klawiatur i myszy nie ma firmowego oprogramowania, które umożliwiłoby tworzenie makr. Na szczęście jest darmowy AutoHotKey. [Aleksander Olszewski]
Jedną z zalet peryferiów stworzonych specjalnie dla graczy są rozbudowane makra. Dzięki darmowemu programowi AutoHotKey takie możliwości będzie miał nawet najtańszy sprzęt. Pierwsze kroki są trudniejsze niż w przypadku specjalnego sterownika np. firmy Logitech czy Razer, brakuje bowiem dobrych narzędzi do nagrywania makr. Skrypty trzeba pisać samemu, ale to nie aż tak skomplikowane, a wynik... dość powiedzieć, że mogą one nawet reagować na rzeczy wyświetlane na ekranie. Pozwala to automatycznie wyłączać niepotrzebne okienka czy dobierać umiejętności w grach MMO czy MOBA, jak na przykład World of Warcraft i League of Legends. Tak daleko idącej automatyzacji jednak nie polecamy, jest to bowiem sprzeczne z regulaminem większości gier i może zakończyć się banem.
Jak zostać programistą
Przygoda z AutoHotKey’em zaczyna się od pobrania programu instalacyjnego, znajdującego się na stronie www.autohotkey.com. Wybieramy wersję 1.1.26.01 (ta była najnowsza w chwili oddawania pisma do druku) i uruchamiamy instalację ekspresową. Potem zostaje stworzenie katalogu na skrypty i można zacząć zabawę: nacisnąć prawy przycisk myszki, wybrać z podręcznego menu Nowy/AutoHotkey Script i napisać w Notatniku swoje debiutanckie dzieło.
Jako pierwsze na tapetę weźmiemy makro pozwalające wyłączyć klawisz Windows. Składa się ono z jednej tylko komendy, zmieniającej znaczenie dowolnego klawisza lub przycisku. Dla pewności jest ona powtórzona aż trzy razy: dla lewego, prawego oraz „ogólnego” Win. Teoretycznie powinna wystarczyć tylko trzecia linijka, ale różnie z tym bywa. Uruchomienie skryptu jest banalnie proste – wystarczy dwukrotnie kliknąć go myszą. Jeśli AHK nie napotka błędu, w zasobniku systemowym pojawi się mała zielona ikonka z białym H. Po najechaniu na nią kursorem widać nazwę uruchomionego pliku, a po naciśnięciu jej prawym przyciskiem ukazuje się lista opcji, z edycją i zakończeniem włącznie.
W podobny sposób da się przejąć kontrolę nad myszą, co pokazuje drugi ze skryptów. Trzeci uczy, jak do klawisza lub przycisku przypisać więcej niż jedną akcję. Te trzy przykłady w zasadzie wyczerpują temat makr w sprzęcie dla graczy, ale do rozwiązania zostaje jeszcze problem zmiany czułości. Do tego trzeba wykorzystać mechanizmy systemowe Windowsa, co robi czwarty skrypt. Pozwala on za pomocą klawisza F5 przełączać się między dwiema czułościami.
Tworzymy program ze skryptu
W tym miejscu nasz minikurs zakończymy, choć warto pamiętać jeszcze o tworzeniu ze skryptów samodzielnych programów, które do uruchomienia nie potrzebują instalacji. Dzięki temu da się je bezproblemowo przenosić między komputerami. Nie jest to trudne – wystarczy kliknąć skrypt prawym przyciskiem myszy i wybrać opcję Compile Script, a w katalogu pojawi się gotowy zbiór z rozszerzeniem exe. Plik można skopiować na pendrive’a lub wysłać mailem (zajmuje około 1 MB) i uruchamiać bez zainstalowanego AHK.
PRZYPISANIE AKCJI DO PRZYCISKU MYSZKI
Schemat jest taki sam, jak w przypadku zmiany znaczenia klawisza. Jedyny problem to odkrycie, co standardowo robią dodatkowe przyciski myszki. Zazwyczaj są to akcje „dalej” i „wstecz”. Aby przypisać do nich makro, trzeba wykorzystać „browser_ back” oraz „browser_forward”. Zmienić można także standardowe przyciski (lbutton, rbutton, mbutton), a nawet obracanie i wychylanie rolki („wheeldown”, „wheelup”, „wheelleft”, „wheelright”). Oto skrypt zmieniający boczne przyciski myszki w klawisze numeryczne „1” i „2”, a ruchy rolki w górę i w dół – w „3” i „4”.
WYŁĄCZENIE KLAWISZA WINDOWS
Zaczniemy od wyłączenia przycisku Windows, który potrafi napsuć krwi nie tylko w grach przeglądarkowych. Przy pomocy AHK można to zrobić na dwa sposoby. Pierwszy to odpowiednik fizycznego odłączenia przycisku:
Zazwyczaj wystarczy jednak, by komputer ignorował wciśnięcie samego Win, ale reagował na skróty klawiszowe w rodzaju Win+D przenoszącego na pulpit. Zmodyfikowany skrypt wygląda tak:
PRZYPISANIE SEKWENCJI DO KLAWISZA
Czyli standardowe makro. Przypisanie dłuższej sekwencji do jednego klawisza można zrobić na dwa sposoby. Prostszy to wysłanie całego ciągu znaków za jednym zamachem (linia 2 poniżej). Jeśli gra ma z tym problemy, lepiej wysyłać znaki pojedynczo, przedzielając je komendą sleep 50, która odpowiada za odstęp czasowy (w milisekundach) pomiędzy kolejnymi krokami. Poniższy skrypt zmienia znaczenia kombinacji Ctrl+X. Najpierw przesyłane są za jednym razem dwa znaki „x”, a następnie (po 50 ms) znak „t”. Makro można modyfikować, wystarczy tylko pamiętać, że „^” (w linii 1) oznacza klawisz Ctrl, Alt ma symbol „!”, a „+” odpowiada Shiftowi.
PRZEŁĄCZANIE CZUŁOŚCI MYSZKI
W większości myszek do gier służy do tego osobny przycisk, ale za pomocą AHK da się bez problemu stworzyć skrypt, który nie tylko zadziała z każdym „gryzoniem”, ale jeszcze może zostać przypisany do dowolnego klawisza. Wykorzystuje on systemowe ustawienia przyspieszenia ruchu. Po naciśnięciu F5 (można to zmienić w linii 3) zmniejsza je o połowę, ale nic nie stoi na przeszkodzie, by przy „Wolno” w pierwszej linijce określić mniejszą liczbę (standardowa wartość to 10). Po powtórnym naciśnięciu F5 szybkość myszy wraca do poziomu ustawionego w panelu sterowania.