ch01. 첫 번째 매크로 만들기

단축키 하나로 macOS 제어 센터를 열고, Raycast를 항상 영문 모드로 실행한다. 가장 단순한 매크로 두 개로 Keyboard Maestro의 기본 구조를 익힌다.

이런 불편함, 겪어보셨나요?

macOS에는 제어 센터(Control Center)가 있다. 화면 밝기, 음량, 집중 모드 같은 시스템 설정을 빠르게 바꿀 수 있는 패널이다. 문제는 이걸 열려면 메뉴 바 오른쪽 위의 작은 아이콘을 클릭해야 한다는 것이다. 키보드에서 손을 떼고, 마우스를 화면 구석까지 이동해야 한다.

Raycast나 Spotlight도 마찬가지다. Command+Space를 눌러 검색창을 띄운다. 그런데 한글 입력 상태에서 영문 키워드를 입력하려고 하면, 먼저 입력 소스를 전환해야 한다. "raycast"를 치려다 "개ㅛ채ㄴㅅ"가 입력되는 경험, 한 번쯤 있을 것이다.

이런 작은 불편을 해결하는 것이 매크로의 출발점이다. 이번 챕터에서는 Keyboard Maestro에서 매크로를 만드는 기본 과정을 배운다. 트리거를 설정하고, 액션을 추가하고, 실행하는 세 단계다.

매크로 분석: Control Center

무엇을 하는 매크로인가

Control+Escape를 누르면 macOS 제어 센터가 열린다. 메뉴 바의 제어 센터 아이콘을 마우스로 클릭하는 동작을 자동화한 것이다.

트리거

트리거 타입 설명
HotKey ⌃⎋ (Control+Escape) 어떤 앱에서든 동작 (Global Macro Group)

이 매크로는 Global Macro Group에 속해 있다. Global Macro Group은 특정 앱에 한정되지 않고, 어디서든 실행되는 그룹이다. 시스템 전역에서 동작해야 하는 매크로에 적합하다.

액션 흐름

flowchart TD A(["트리거: ⌃⎋"]) --> B("마우스 이동 및 클릭<br>제어 센터 아이콘 좌표") B --> C(["완료"]) style A fill:#E3F2FD,stroke:#1976D2 style B fill:#F3E5F5,stroke:#7B1FA2 style C fill:#E3F2FD,stroke:#1976D2

그림 1-1. Control Center 매크로 흐름도

  1. MouseMoveAndClick -- 화면의 지정된 좌표를 클릭한다. 제어 센터 아이콘의 위치(메뉴 바 오른쪽 상단)를 좌표로 지정해둔 것이다.

이 매크로는 액션이 단 하나다. "단축키를 누르면 특정 위치를 클릭한다." 그것이 전부다. 단순하지만 효과적이다. 키보드에서 손을 떼지 않고도 제어 센터를 열 수 있다.

핵심 기술 해설

HotKey 트리거

Keyboard Maestro에서 가장 기본이 되는 트리거 타입이다. 특정 키 조합을 누르면 매크로가 실행된다. 이 매크로에서는 Control+Escape(⌃⎋)를 사용한다.

트리거를 설정할 때 주의할 점이 있다. 다른 앱이 이미 사용하는 단축키와 겹치지 않아야 한다. macOS 시스템 단축키와도 충돌하면 안 된다. ⌃⎋는 기본적으로 할당된 기능이 없어서 안전한 선택이다.

MouseMoveAndClick 액션

화면의 특정 좌표로 마우스를 이동한 뒤 클릭하는 액션이다. 이 매크로에서는 창(Window) 기준으로 좌표를 지정한다. 왼쪽 위 모서리를 기준점으로, 가로 1569, 세로 -158 위치를 클릭한다. 세로 값이 음수인 이유는 메뉴 바가 창 위쪽에 있기 때문이다.

좌표 기반 클릭은 설정이 간단하다는 장점이 있다. 반면, 모니터 해상도가 바뀌거나 메뉴 바 아이콘 순서가 달라지면 좌표를 다시 잡아야 한다. 이 점은 기억해두자. 나중에 더 견고한 방법(이미지 인식 등)도 배울 것이다.

활용 팁

  • 해상도가 다른 모니터를 사용한다면, 좌표 값을 해당 모니터에 맞게 수정해야 한다.
  • KM 에디터에서 MouseMoveAndClick 액션의 좌표 입력란 옆에 있는 십자선 버튼을 클릭하면, 마우스로 직접 위치를 지정할 수 있다.
  • macOS Ventura 이후에는 시스템 설정 앱에서 제어 센터에 단축키를 직접 할당하는 방법도 있다. 하지만 KM을 사용하면 클릭 위치를 자유롭게 바꿀 수 있어서 유연하다.

매크로 분석: a. raycast

무엇을 하는 매크로인가

Command+Space를 누르면 입력 소스가 자동으로 영문(ABC)으로 전환된 뒤 Raycast가 실행된다. 한글 상태에서 Raycast를 열어도 항상 영문으로 검색을 시작할 수 있다.

트리거

트리거 타입 설명
HotKey ⌘Space (Command+Space) 전역 동작, Raycast 기본 단축키를 가로챔

액션 흐름

flowchart TD A(["트리거: ⌘Space"]) --> B["입력 소스 변경: ABC"] B --> C(["Raycast 실행<br>(원래 단축키 동작)"]) style A fill:#E3F2FD,stroke:#1976D2 style B fill:#F3E5F5,stroke:#7B1FA2 style C fill:#E3F2FD,stroke:#1976D2

그림 1-2. a. raycast 매크로 흐름도

  1. SetKeyboardLayout -- 입력 소스를 "ABC"(영문)로 강제 전환한다.

이 매크로도 액션이 하나뿐이다. "입력 소스를 영문으로 바꾼다." 그것이 전부다.

그런데 의문이 생길 수 있다. 입력 소스만 바꾸면 Raycast는 어떻게 열리는 것인가?

Keyboard Maestro가 매크로 실행을 마치면, 원래 단축키의 동작이 이어서 실행된다. ⌘Space는 Raycast(또는 Spotlight)의 기본 단축키다. KM이 입력 소스를 영문으로 바꾼 뒤, ⌘Space의 본래 기능인 Raycast 실행이 자동으로 이루어진다.

정확히 말하면, 이 매크로는 Raycast 설정에서 단축키를 별도로 지정해두었을 때 동작한다. KM의 HotKey 트리거가 ⌘Space를 먼저 가로채고, 입력 소스를 전환한 뒤, Raycast가 같은 단축키에 반응하는 방식이다.

핵심 기술 해설

SetKeyboardLayout 액션

macOS의 입력 소스를 강제로 변경하는 액션이다. "ABC", "한국어 2벌식", "일본어" 등 시스템에 설치된 입력 소스 중 하나를 지정할 수 있다.

이 매크로에서는 com.apple.keylayout.ABC를 지정하여 영문 입력 모드로 전환한다. 검색창을 열 때마다 입력 소스를 확인할 필요가 없어진다.

기존 단축키 가로채기 패턴

이 매크로에서 사용하는 핵심 패턴이다. Raycast의 기본 단축키인 ⌘Space를 KM이 먼저 가로챈다. KM이 자신의 액션(입력 소스 전환)을 실행한 뒤, 원래 앱(Raycast)이 같은 단축키에 반응한다.

이 패턴은 "기존 동작 앞에 추가 동작을 끼워넣는" 기법이다. 앞으로 여러 챕터에서 반복적으로 등장할 것이다. 잘 기억해두자.

매크로 그룹: Language

이 매크로는 "Language"라는 그룹에 속해 있다. 매크로 그룹은 매크로를 용도별로 정리하는 폴더와 같다. 입력 소스 관련 매크로를 한 그룹에 모아두면 관리가 쉬워진다.

활용 팁

  • Raycast 대신 Spotlight를 사용하는 경우에도 같은 방식으로 동작한다.
  • Alfred를 사용한다면, Alfred의 단축키에 맞춰 트리거를 변경하면 된다.
  • 영문 외에 일본어 입력 소스로 전환하는 매크로도 같은 방식으로 만들 수 있다.

직접 만들어보기

"a. raycast" 매크로를 직접 만들어보자. 가장 단순한 구조이면서, 매일 쓸 수 있는 실용적인 매크로다.

  1. Keyboard Maestro 에디터를 연다. 메뉴 바의 KM 아이콘을 클릭하고 "Edit Macros"를 선택한다.

  2. 새 매크로 그룹을 만든다. 왼쪽 하단의 "+" 버튼을 클릭하고 "New Macro Group"을 선택한다. 이름을 "Language"로 지정한다.

  3. 새 매크로를 만든다. 그룹을 선택한 상태에서 "+" 버튼을 클릭하고 "New Macro"를 선택한다. 이름을 "a. raycast"로 지정한다.

  4. 트리거를 설정한다. "New Trigger" 버튼을 클릭하고, "Hot Key Trigger"를 선택한다. 입력란을 클릭한 뒤 Command+Space를 누른다.

  5. 액션을 추가한다. "New Action" 버튼을 클릭한다. 검색란에 "Set Keyboard Layout"을 입력한다. 해당 액션을 드래그하여 매크로 영역에 놓는다. 드롭다운 메뉴에서 "ABC"를 선택한다.

  1. 테스트한다. 한글 입력 상태에서 Command+Space를 눌러본다. Raycast(또는 Spotlight)가 열리면서 영문 입력 모드가 되어 있는지 확인한다.

축하한다. 첫 번째 매크로가 완성되었다. 액션 하나짜리 매크로이지만, 매일 사용하는 단축키가 더 편리해졌다.

이 챕터에서 배운 것

  • Keyboard Maestro의 기본 구조: 트리거가 발동하면 액션이 실행된다.
  • HotKey 트리거로 단축키를 지정하는 방법.
  • MouseMoveAndClick 액션으로 화면의 특정 위치를 클릭하는 방법.
  • SetKeyboardLayout 액션으로 입력 소스를 강제 전환하는 방법.
  • 기존 단축키를 가로채서 추가 동작을 끼워넣는 패턴.
  • 매크로 그룹(Global Macro Group, Language)의 역할.

다음 챕터 예고

ch02에서는 Excel 들여쓰기/내어쓰기 매크로를 다룬다. 단축키 매크로의 기본 패턴을 확장하여, 특정 앱에서만 동작하는 앱별 단축키를 배운다.