키보드 로드맵 — 세벌식·HHKB에서 내 키맵을 짜기까지
세벌식 390·HHKB로 손버릇의 배경을 잡고, 펌웨어 지형도·용어로 도구 지도를 그린 뒤, 그 손버릇을 ZMK 40% 커스텀 키맵으로 옮기는 여정이 이 로드맵의 줄기. 유선(QMK)·GUI(VIA·VIAL)는 같은 펌웨어를 고치는 대안 도구로 곁에 얹고, 펌웨어를 아예 못 건드릴 때의 Karabiner(OS 레벨 리맵)만 따로 분리한다.
“내가 편한 키보드”를 파고들면 결국 세 갈래가 얽힌다 — 어떤 배열로 글자를 치는가(자판), 어떤 판때기를 쓰는가(하드웨어), 그걸 어떻게 내 손에 맞게 재배치하는가(커스텀 키맵). 이 로드맵은 그 세 갈래를 배경 → 실전 한 줄기로 묶는다. 세벌식 390·HHKB로 “무엇을 왜”를 잡고, 펌웨어 지형도·용어로 도구 지도를 그린 뒤, 그 손버릇을 ZMK 40% 커스텀 키맵으로 옮기는 데까지. 저자가 실제로 걷는 길이 ZMK라, 줄기도 ZMK다. 본인 위치에서 가까운 데부터 들어오면 된다.
키를 재배치하는 도구는 여럿이지만, 이 블로그가 깊게 걷는 길은 무선 40% 보드의 ZMK다. 유선 보드면 QMK, 컴파일이 싫으면 GUI(VIA·VIAL) — 이 셋은 같은 펌웨어를 고치는 대안 도구라 줄기 옆에 얹는다. 리플래시가 아예 안 되는 보드(맥북 내장·기성품)만 Karabiner로 OS에서 덮는 다른 방법이라, 맨 뒤에 따로 뺐다.
한눈에 보기
배경 → 도구 지도 → ZMK 실전이 줄기다. QMK·GUI는 같은 펌웨어의 대안 도구, Karabiner는 펌웨어를 못 건드릴 때의 OS 레벨 대안이다.
| 구역 | 무엇을 다루나 | 성격 |
|---|---|---|
| 입문 | 세벌식 390 자판·HHKB 하드웨어 배경 | 배경 |
| 도구 지도 | 펌웨어 지형도와 키매핑 용어 | 지도 |
| ZMK로 키맵 짜기 | 손버릇을 40% 보드에 올리고 설계 | 줄기 |
| 대안 도구 | 같은 펌웨어 — 유선(QMK)·GUI(VIA·VIAL) | 대안 |
| OS 레벨 대안 | 펌웨어 못 건드릴 때 — Karabiner | 대안 |
입문 — 자판과 하드웨어 배경
키맵을 짜기 전에, “무엇을 왜” 치고 있는지부터. 어떤 배열(자판)과 어떤 판때기(하드웨어)를 쓰는지가 뒤에서 레이어를 어떻게 짤지를 결정한다. 두 글은 서로 독립적이라 관심 가는 쪽부터 읽어도 된다.
| 글 | 핵심 |
|---|---|
| 세벌식 390 입문 | 세벌식이 두벌식과 뭐가 다른지(도깨비불 현상), 390 vs 최종, 그리고 숫자를 넘패드처럼 치는 390만의 기능. macOS 기본 지원 |
| HHKB 입문 | 미니멀 배열의 철학, Ctrl이 Caps 자리·Fn 방향키·삭제키 위치, Topre 스위치, 프로그래머에게 인기인 이유 |
여기까지면 “내 손이 왜 이 배열·이 판때기에 길들었는지”가 잡힌다. 이 손버릇이 곧 실전에서 레이어로 옮길 원본이다.
도구 지도 — 펌웨어 지형도와 용어
배경을 잡았으면, 그걸 실제로 재배치할 도구의 지도부터. QMK·ZMK·VIA·VIAL이 펌웨어 레이어의 어디에 끼는지, 그리고 키매핑 글에 계속 나오는 용어를 먼저 손에 익혀야 실전이 “왜 이렇게 짜나”까지 읽힌다.
| 글 | 핵심 |
|---|---|
| 키보드 펌웨어 지형도 | QMK vs ZMK(유선/무선), 그 위에 얹는 VIA·VIAL·ZMK Studio가 어디에 끼는지 — “어떤 스택을 고를까” |
| 키맵 용어집 | combo·hold-tap·momentary·layer-tap·mod-tap·tap-dance·one-shot… 키매핑 용어를 QMK·ZMK 표기와 함께 정리 |
지형도에서 내 보드에 맞는 경로(무선이면 ZMK, 유선이면 QMK, 컴파일이 싫으면 GUI)를 고르고, 용어집을 옆에 두면 실전 글의 hold-tap·layer 이야기가 낯설지 않다.
ZMK로 내 키맵 짜기 (줄기)
배경에서 익힌 손버릇(세벌식의 넘패드 감각, HHKB의 Ctrl·Fn 방향키)을 실제 ZMK 40% 보드 키맵에 녹이는 단계. “올리는 법 → 설계” 순서로 읽으면, 일단 내 키맵을 보드에 띄운 다음 왜 그렇게 배치하는지가 이어진다. 이 두 글이 로드맵의 줄기다 — 저자가 실제로 걷는 길이라 가장 깊다.
| 글 | 핵심 |
|---|---|
| ZMK 키매핑 가이드 | 판매자 config 포크 → 웹 키맵 에디터 → GitHub Actions 빌드 → 플래싱. 일단 내 키맵을 보드에 올리는 4단계 |
| ZMK 키맵 설계기 — HHKB + 40% + 세벌식 390 | 입력기 특성이 레이어를 강제하는 과정, 손버릇을 레이어로 재현, 위험한 키를 hold-tap으로 실수 방지, ZMK 레이어 인덱스 함정. “40%에서 세벌식 390”은 선례가 드문 조합. 여기 담긴 설계 원칙(레이어 분리·hold-tap 가드)은 펌웨어와 무관해 아래 QMK에도 그대로 쓴다 |
여기까지 오면 배경(자판·하드웨어)에서 도구(지형도·용어)를 거쳐, 내 손버릇을 실제로 재현하는 커스텀 키맵을 직접 올리고 설계할 수 있다. 배경 → 실전 한 바퀴는 여기서 끝이다.
대안 도구 — 유선·GUI (QMK·VIA·VIAL)
이 블로그가 깊게 걷는 건 ZMK지만, 같은 펌웨어를 고치는 다른 도구도 있다. 유선 보드면 QMK, 컴파일이 번거로우면 GUI(VIA·VIAL). 필요한 사람이 출발점을 잡도록 곁에 얹어 둔다. 설계 원칙(레이어 분리·hold-tap)은 위 ZMK 설계기에서 그대로 가져오고, 표기·빌드 흐름만 바꾸면 된다.
| 글 | 핵심 |
|---|---|
| QMK로 키맵 짜기 | keymap.c 레이어 배열, MO·LT·MT 키코드, qmk compile/flash까지 QMK 쪽 워크플로우. 유선 보드의 경로 |
| VIA·VIAL 실전 | 컴파일 없이 GUI로 실시간 리맵. VIA vs VIAL 선택, ZMK는 ZMK Studio. 컴파일이 싫을 때의 경로 |
펌웨어를 못 건드릴 때 — Karabiner (OS 레벨)
리플래시가 아예 불가능한 키보드(맥북 내장·기성품)는 펌웨어를 못 건드린다. 이때는 OS 레벨에서 덮는 게 유일한 길이라, 위 펌웨어 도구들과 따로 뺐다.
| 글 | 핵심 |
|---|---|
| Karabiner-Elements — macOS 소프트웨어 키맵 | 펌웨어가 아닌 macOS 레벨 리맵. 맥북 내장·기성 키보드까지, dual-role·Hyper 키, karabiner.json을 dotfiles로 관리 |
본인 위치에 따라:
- 자판·하드웨어부터 궁금하면 → 입문의 세벌식 390 / HHKB 중 끌리는 쪽부터. 이게 뒤에서 레이어로 옮길 손버릇의 원본이다.
- 어떤 펌웨어·도구를 쓸지 모르겠으면 → 도구 지도의 펌웨어 지형도로 내 보드에 맞는 경로부터 고르고, 용어가 낯설면 용어집을 옆에 둔다.
- 무선 40% 보드로 내 키맵을 짜려면 → 줄기인 ZMK 실전 — 올리는 법 → 설계.
- 유선 보드거나 컴파일이 번거로우면 → 대안 도구의 QMK, 혹은 VIA·VIAL. 설계 원칙은 ZMK 설계기에서 가져온다.
- 맥북 내장·리플래시 불가한 키보드까지 리맵하려면 → Karabiner로 OS 레벨에서 덮는다.
이 로드맵이 다루지 않는 축: 스위치(축)·키캡·PCB·폼팩터 같은 물리 하드웨어를 고르고 조립하는 이야기는 여기 없다. 이 로드맵의 “하드웨어 배경”은 어디까지나 내 손버릇을 만든 특정 자판·판때기(세벌식 390·HHKB)일 뿐, 커스텀 키보드 하드웨어 입문은 별개 축이다. 여기서는 그 손버릇을 키맵(소프트웨어)으로 옮기는 축만 다룬다.