AutoHotkey
Macro Deck에 포함AutoHotkey v2 스크립트를 Macro Deck에 보관하고, 버튼으로 실행하고 중지하며, 스크립트에서 변수를 읽고 설정하세요.
스크립트 목록과 편집기에 열린 스크립트 하나가 있는 AutoHotkey 연동의 스크립트 탭
- Macro Deck에서 AutoHotkey v2 스크립트 작성, 검사, 테스트
- 버튼으로 스크립트, .ahk 파일, 인라인 코드 실행
- 계속 실행되는 스크립트의 시작, 중지, 전환
- 매개변수로 값을 안전하게 전달
- 스크립트에서 변수를 읽고 설정하며 알림 표시
AutoHotkey 연동은 버튼과 자동화에서 AutoHotkey v2 스크립트를 실행합니다. 백그라운드 창에 키 보내기, 창 정렬, 앱별 단축키 등 AutoHotkey로 할 수 있는 모든 일에 쓸 수 있습니다. Windows에서만 사용할 수 있으며, 직접 켜기 전까지는 꺼져 있습니다. Macro Deck에는 AutoHotkey가 포함되어 있지 않으며, 설치된 AutoHotkey v2를 찾거나 직접 선택한 포터블 버전을 사용합니다. AutoHotkey v1은 지원하지 않습니다.
할 수 있는 일
- 연동의 스크립트 탭에 스크립트를 보관하고, 구문 강조가 있는 편집기에서 수정하고, 그 자리에서 구문 검사와 실행. 마지막 실행에는 최근 실행이 어떻게 끝났는지, 그 결과, 줄 번호가 포함된 오류, 스크립트 출력이 표시됩니다.
- AutoHotkey 스크립트 실행으로 라이브러리의 스크립트를, AutoHotkey 파일 실행으로 저장된 위치의
.ahk파일을, 인라인 AutoHotkey 코드 실행으로 액션 안에 직접 작성한 코드를 실행. - 단축키나 타이머가 있는 스크립트를 Macro Deck과 함께 시작하고, AutoHotkey 스크립트 전환으로 시작하고 중지. 버튼에 실행 중 또는 실행 중 아님이 표시됩니다.
- 스크립트에 값을 매개변수로 전달. Macro Deck은 값을 스크립트 텍스트에 삽입하지 않으므로 값이 코드를 망가뜨리거나 바꿀 수 없습니다. 스크립트는 값을
MacroDeck.Params["name"]으로 읽습니다. - Macro Deck 도우미로 스크립트가 응답하게 하기:
MacroDeck.GetVar와MacroDeck.SetVar는 변수를 읽고 설정하고,MacroDeck.Notify는 알림을 표시하며,MacroDeck.SetResult는 액션에 결과를 보고합니다. - 스크립트가 시작, 종료, 실패할 때 자동화 시작.
활용 예:
- 게임용 단축키 스크립트를 위한 AutoHotkey 스크립트 전환 버튼. 실행 중과 실행 중 아님에 각각 다른 모양을 지정합니다.
- 매개변수
volume을{{ vars.volume }}로 설정해 스크립트를 실행하는 버튼. 스크립트는SoundSetVolume MacroDeck.Params["volume"]을 호출합니다. - AutoHotkey 스크립트 실패 자동화로 버튼에
{{ event.reason }}표시.
스크립트 실행 방식
Macro Deck이 실행하는 스크립트에서는 AutoHotkey가 오류 대화 상자를 표시하지 않습니다. 로드 오류와 런타임 오류는 마지막 실행 아래에 나타나며, 완료를 기다리는 액션을 실패하게 합니다. 중지되는 스크립트는 먼저 종료 요청을 받아 OnExit 루틴이 실행되고, 중지 유예 시간(초) 동안 기다린 뒤 강제로 종료됩니다. 중지와 전환 액션은 Macro Deck이 시작한 스크립트에만 적용됩니다. Macro Deck이 종료되거나 연동을 끄면 Macro Deck은 자신이 시작한 모든 AutoHotkey 스크립트를 중지합니다.
Macro Deck 2에서 마이그레이션하면 jbcarreon123의 AutoHotkey 플러그인 버튼 중 AutoHotkey v2 스크립트를 실행하는 버튼이 이 액션으로 옮겨집니다.
준비물
- Windows.
- 설치형 또는 포터블 AutoHotkey v2. Macro Deck에는 포함되어 있지 않습니다.
설정하기
1단계: AutoHotkey v2 설치
autohotkey.com에서 AutoHotkey v2를 다운로드해 설치하세요. Macro Deck은 설치 프로그램이 설치한 위치에서 AutoHotkey를 찾습니다.
2단계: 연동 켜기
Macro Deck의 사이드바에서 연동을 클릭하고 AutoHotkey를 클릭한 다음 오른쪽 위의 스위치를 켜세요. Macro Deck이 AutoHotkey v2를 찾지 못하면 페이지에 AutoHotkey를 찾을 수 없음이 표시됩니다. AutoHotkey를 설치한 다음 다시 확인을 클릭하세요.
3단계: AutoHotkey 설정 확인
개요 탭의 구성 섹션에서 설정을 클릭하세요. AutoHotkey 설정 대화 상자에 사용 중인 AutoHotkey와 그 버전이 표시됩니다. 포터블 AutoHotkey를 쓰려면 AutoHotkey 실행 파일을 실행 파일 선택으로 설정하고 실행 파일에서 그
AutoHotkey64.exe를 고르세요. 계속을 클릭하세요.4단계: 스크립트 작성
스크립트 탭을 열고 목록 제목 옆의 + 버튼을 클릭하세요. 이름을 입력하고 스크립트 만들기를 클릭한 다음 편집기에 스크립트를 작성하세요. 예:
MsgBox "Hello from Macro Deck". 저장을 클릭한 다음 실행을 클릭해 시험해 보세요.5단계: 버튼에 액션 추가
덱 페이지에서 사용할 버튼을 클릭하세요. 덱의 잠금이 해제되어 있어야 하며, 오른쪽 위 버튼에 잠금이라고 표시되어 있으면 해제된 상태입니다. 짧게 누르기가 선택된 상태로 편집기가 열립니다. + 액션 추가를 클릭하고 액션 추가 대화 상자 왼쪽에서 AutoHotkey를 선택한 다음 AutoHotkey 스크립트 실행을 고르세요. AutoHotkey 스크립트에서 스크립트를 선택한 다음 저장을 클릭하세요.
6단계: 버튼 누르기
덱에서 버튼을 누르세요. 스크립트가 실행되고, 스크립트 탭의 마지막 실행에 실행 결과가 표시됩니다.
액션7
버튼에 넣거나 흐름에서 실행하세요.
- AutoHotkey 스크립트 실행
- 스크립트 탭의 스크립트를 매개변수와 함께 실행하며, 끝날 때까지 기다릴 수 있습니다.
- AutoHotkey 파일 실행
- 컴퓨터에 저장된 위치의
.ahk파일을A_Args의 인수 및 매개변수와 함께 실행합니다. - 인라인 AutoHotkey 코드 실행
- 액션 안에 직접 작성한 AutoHotkey v2 코드를 실행합니다.
- AutoHotkey 스크립트 중지
- Macro Deck이 시작한 스크립트나 파일을 중지합니다. 모든 인스턴스 또는 가장 최근 인스턴스만 중지할 수 있습니다.
- AutoHotkey 스크립트 다시 시작
- 스크립트나 파일을 중지하고 새 매개변수로 다시 시작하며, 실행 중이 아니면 바로 시작합니다.
- AutoHotkey 스크립트 전환
- Macro Deck이 실행하고 있지 않은 스크립트나 파일은 시작하고, 실행 중이면 중지합니다. 버튼에 실행 중 또는 실행 중 아님을 표시합니다.
- Window Spy 열기
- AutoHotkey의 Window Spy를 열어 창 제목, 클래스, 컨트롤을 확인합니다.
트리거3
버튼이나 흐름이 이 이벤트에 반응할 수 있습니다.
- AutoHotkey 스크립트 시작됨
- Macro Deck이 시작한 스크립트가 로드되어 실행 중입니다.
- AutoHotkey 스크립트 종료됨
- 그런 스크립트가 종료되었습니다. 종료 코드와 실행 시간을 함께 제공합니다.
- AutoHotkey 스크립트 실패
- 스크립트를 시작하거나 로드할 수 없었거나, 스크립트가 오류를 보고했거나, 제시간에 끝나지 않았습니다.
변수4
버튼과 위젯에 이 값을 표시하거나 조건에 사용하세요.
autohotkey_installed,autohotkey_version- Macro Deck이 작동하는 AutoHotkey v2를 찾았는지 여부와 그 버전입니다.
autohotkey_running_scripts- Macro Deck이 현재 실행 중인 AutoHotkey 스크립트 수입니다.
autohotkey_last_script,autohotkey_last_exit_code,autohotkey_last_result,autohotkey_last_error- 마지막으로 종료되거나 실패한 스크립트, 그 종료 코드,
MacroDeck.SetResult로 보고한 결과, 실패한 경우 그 이유입니다. autohotkey_script_<name>_running- 라이브러리의 스크립트가 실행 중인지 여부이며, 스크립트마다 하나씩 있습니다. 스크립트 이름을 바꿔도 변수 이름은 그대로입니다.
자주 묻는 질문
AutoHotkey v1 스크립트에서도 동작하나요?
아니요. Macro Deck은 AutoHotkey v2만 지원하며, AutoHotkey v1용으로 작성한 코드는 v2에서 로드되지 않습니다. 스크립트 탭의 구문 검사는 첫 번째 오류가 있는 줄을 보여 줍니다.
Macro Deck의 값을 스크립트로 가져오려면 어떻게 하나요?
액션에 매개변수로 추가하세요. 예를 들어 값이 {{ vars.volume }}인 volume을 추가하고, 스크립트에서 MacroDeck.Params["volume"]으로 읽으세요. 값은 항상 입력한 그대로 텍스트로 전달됩니다. 스크립트는 MacroDeck.GetVar("name")으로 언제든지 변수를 읽을 수도 있습니다.
스크립트가 게임이나 도구에 키를 보내지 못하는 이유는 무엇인가요?
Macro Deck은 관리자 권한 없이 스크립트를 실행하며, Windows는 이런 스크립트가 관리자 권한으로 실행 중인 프로그램의 창에 키나 클릭을 보내는 것을 허용하지 않습니다.
Macro Deck이 닫히면 스크립트는 어떻게 되나요?
Macro Deck은 종료될 때나 연동을 끌 때 자신이 시작한 모든 AutoHotkey 스크립트를 중지합니다. Macro Deck이 실행될 때마다 스크립트도 실행되게 하려면 스크립트의 설정에서 Macro Deck 시작 시 실행을 켜세요. 스크립트가 연 프로그램은 계속 열려 있습니다.
기존 .ahk 파일을 계속 사용할 수 있나요?
네. AutoHotkey 파일 실행은 파일이 저장된 위치에서 실행하므로 A_ScriptDir은 그 파일의 폴더입니다. 스크립트 탭에서 파일을 라이브러리로 가져올 수도 있습니다.
내 컴퓨터의 다른 연동
시스템
Macro Deck에 포함덱에서 컴퓨터를 제어하세요. 앱, 볼륨, 명령, 알림, 절전, 시스템 종료까지.
키보드
Macro Deck에 포함버튼으로 컴퓨터에서 단축키를 누르고, 텍스트를 입력하고, 키 시퀀스를 실행하세요.
마우스
Macro Deck에 포함버튼으로 컴퓨터에서 클릭하고, 포인터를 움직이고, 드래그하고, 스크롤하세요.
ADB / Android Debug Bridge
Macro Deck에 포함USB나 Wi-Fi로 Android 스마트폰이나 태블릿을 제어하세요. 화면 깨우기, 앱 시작, 탭, 입력, 스크린샷까지.
Steam
Macro Deck에 포함Steam 게임을 시작하고 닫으며, 플레이 중인 게임, 친구, 라이브러리를 덱에 표시하세요.