Colemak Mod-DH vs 표준 Colemak 차이점과 설정 방법
Colemak Mod-DH는 D와 H를 검지 위치로 이동해 손가락 부담을 줄입니다. 표준 Colemak과의 상세한 키 배치 차이, 전환 시 고려사항 및 Linux 환경에서 colemak_dh 레이아웃을 적용하는 구체적인 설정 방법을 안내합니다.
Colemak Mod-DH의 변경 사항
Colemak Mod-DH는 표준 Colemak에서 6개의 글자 위치를 옮긴 변형입니다. D와 H를 중앙 두 열에서 아래로 내려 검지 손가락 아래에 배치하고, G, B, V, M을 그 자리에 대신 배치합니다. 가장 먼저 익히게 되는 홈 키를 포함한 나머지 모든 키는 표준 Colemak의 위치를 그대로 유지합니다.
이 변형의 이름은 변경된 내용을 의미합니다. 표준 Colemak에서 D는 G라고 적힌 키에, H는 H라고 적힌 키에 위치합니다. 이 두 키는 키보드의 중앙 열에 해당합니다. 검지 손가락으로 이 키를 누르려면 손 전체를 옆으로 뻗어야 하므로, Mod-DH 프로젝트는 이를 우수한 레이아웃의 가장 취약한 지점으로 판단하여 두 글자를 한 행 아래로 옮겼습니다.
아직 레이아웃을 학습 중이라면 Mod-DH를 선택하고 비교 분석은 그만두십시오. 이미 표준 Colemak을 무의식적으로 타이핑하고 있다면, 속도 측정으로는 확인할 수 없는 편안함을 얻기 위해 몇 주간 타이핑 속도가 저하되는 과정을 겪어야 합니다. 이 가이드는 먼저 정확한 변경 사항을 설명하고, 이어서 Linux 환경에서의 적용 방법을 다룹니다. 즉, 어떤 변형 이름을 선택해야 하는지, 그리고 시스템에 해당 변형이 없을 때 어떻게 처리해야 하는지 안내합니다.
두 가지 레이아웃 비교
표준 Colemak, 문자만 표시:
q w f p g j l u y ;
a r s t d h n e i o
z x c v b k m , . /Colemak Mod-DH, 문자만 표시:
q w f p b j l u y ;
a r s t g m n e i o
z x c d v k h , . /6개의 문자가 다릅니다. 왼쪽 손에서 4번의 이동, 오른쪽 손에서 1번의 교체로 이해하면 더 쉽습니다. 왼쪽의 경우: D는 홈 로우에서 아래 로우로 내려가고, G는 탑 로우에서 D가 떠난 중앙 열로 내려오며, B는 G가 있던 탑 로우로 올라가고, V는 B가 떠난 자리로 한 칸 오른쪽으로 이동합니다. 오른쪽의 경우: H와 M의 위치가 바뀌어 H는 검지 아래로, M은 중앙 열로 이동합니다.
이 다이어그램은 행당 10개의 열로 구성된 매트릭스(정렬형) 키보드 구조를 기준으로 합니다. 일반적인 스태거드(staggered) 키보드에서는 Mod-DH의 왼쪽 하단 모서리에 두 번째 배열이 적용되며, 이에 대해서는 아래에서 자세히 다룹니다.
표준 Colemak에서 D가 문제가 되는 이유는 무엇입니까?
검지는 두 개의 홈 키 위에 위치합니다. 왼쪽의 F 키는 두 레이아웃 모두에서 T를 입력하며, 오른쪽의 J 키는 두 레이아웃 모두에서 N을 입력합니다. 각 검지는 옆에 있는 G 키와 H 키도 담당합니다. 손가락 길이가 충분하지 않아 손을 움직이지 않고는 두 열을 모두 덮을 수 없으므로, 손을 옆으로 이동해야 하며 나머지 세 손가락은 홈 키에서 떨어지게 됩니다. 이러한 측면 이동은 터치 타이핑에서 가장 비효율적인 동작이며, Mod-DH는 바로 이 동작을 제거하기 위해 존재합니다.
표준 Colemak은 G 키에 D를, H 키에 H를 배치하여 두 중앙 열 키에 모두 빈도가 높은 문자를 할당합니다. 반면 Mod-DH는 위의 다이어그램과 같이 D를 V 키에, H를 M 키에 배치합니다. 이 키들은 스태거드(staggered) 배열 키보드에서 검지의 홈 키보다 오른쪽으로 약 절반 정도 치우쳐 있으므로, 손가락을 자신의 열 안쪽으로 구부리기만 하면 되며 손은 제자리에 머물 수 있습니다. 중앙 열을 물려받는 문자는 왼쪽의 G와 오른쪽의 M입니다.
전체 논리는 각 문자가 얼마나 자주 입력되는지에 달려 있습니다.
The data behind this chart
[
{
"label": "H",
"frequency_pct": 6.1
},
{
"label": "D",
"frequency_pct": 4.3
},
{
"label": "M",
"frequency_pct": 2.4
},
{
"label": "G",
"frequency_pct": 2.0
},
{
"label": "B",
"frequency_pct": 1.5
},
{
"label": "V",
"frequency_pct": 1.0
}
]위 수치는 일반적인 영어 텍스트에 대해 발표된 전형적인 데이터이며, 어떤 말뭉치를 기준으로 하느냐에 따라 소수점 단위로 약간의 차이가 있습니다. 순위는 안정적입니다. H는 입력하는 전체 문자 중 6.1 퍼센트를 차지하고 D는 4.3 퍼센트를 차지하는 반면, M은 2.4 퍼센트, G는 2.0 퍼센트, V는 1.0 퍼센트입니다. Mod-DH가 측면 이동을 완전히 없애는 것은 아닙니다. 다만 빈도가 높은 문자 대신 드문 문자에 그 이동을 할당하며, 이를 위해 6번의 문자 이동을 수행합니다.
무엇이 그대로 유지됩니까?
- 왼쪽의 A R S T와 오른쪽의 N E I O 홈 키는 이동하지 않습니다. 이 여덟 개의 키는 타이핑의 대부분을 차지하며, Colemak에서 가장 먼저 익힌 부분이기도 합니다.
- 윗줄은 한 개의 키를 제외하고는 동일합니다. 왼쪽에는 Q W F P가, 오른쪽에는 세미콜론을 포함한 J L U Y가 위치합니다.
- 오른손의 문장 부호 키들은 이동하지 않습니다.
- 숫자 행과 수정자 키(modifier keys)는 변경되지 않습니다.
- WASD에 바인딩된 게임은 두 레이아웃 모두에서 동일하게 작동합니다. 각 물리적 키가 두 레이아웃에서 같은 문자를 담고 있기 때문입니다.
변경 후 유지되지 않는 것이 하나 있습니다. 표준 Colemak은 Z, X, C, V를 QWERTY 위치에 그대로 두어 Ctrl+Z, Ctrl+X, Ctrl+C, Ctrl+V를 처음 컴퓨터를 배울 때부터 사용하던 손가락으로 그대로 입력할 수 있게 합니다. Mod-DH는 왼쪽 아래 행을 D를 위해 사용해야 하므로, 해당 키 그룹은 자리를 비켜주어야 합니다.
해당 모서리 배열에는 두 가지 방식이 통용되고 있으며, 위의 다이어그램은 그중 하나일 뿐입니다. 일반 배열은 Z, X, C를 Z, X, C라고 적힌 키에 그대로 두고, V를 오른쪽으로 한 칸 밀어 B라고 적힌 키에 배치합니다. 반면 angle mod는 전체 그룹을 왼쪽으로 한 칸씩 밀어, 왼쪽 검지가 오른쪽 아래로 뻗는 대신 D 키로 자연스럽게 굽혀지도록 합니다. ISO 키보드에는 왼쪽 Shift와 Z 사이에 여분의 키가 있어 angle mod가 이를 활용합니다. ANSI 키보드에는 그런 키가 없으므로 ANSI 버전은 Z를 재배치해야 하는데, Z는 영어에서 가장 드물게 사용되는 문자이므로 이는 감수할 만한 수준입니다.
패키지화된 변형 이름에 키보드 유형이 포함된 이유가 바로 이것입니다. 현재 사용 중인 키보드와 일치하는 것을 선택한 다음, Z라고 적힌 키를 누르십시오. 입력되는 문자를 확인하면 어떤 배열이 적용되었는지, 그리고 어떤 편집 단축키의 위치가 변경되었는지 알 수 있습니다.
표준 Colemak에서 전환해야 합니까?
- 아직 학습 중이거나 여전히 QWERTY를 사용 중이라면: Mod-DH를 선택하십시오. 표준 Colemak보다 배우기 어렵지 않으며, 이 페이지를 다시 고민할 필요가 없습니다. 아직 Colemak으로 완전히 정착하지 않았다면, 이는 더 앞선 문제이며 Colemak과 Dvorak 및 QWERTY 비교에서 결정하십시오.
- 표준 Colemak을 능숙하게 입력한다면: 얻는 이득은 확실하지만 작으며, 대가는 수주간의 시간입니다. 6개의 글자만으로도 자동화된 타이핑 습관을 깨기에 충분하며, 가장 중요한 2개의 글자는 영어 단어에서 큰 비중을 차지하는 검지 손가락에 위치합니다. 전환을 완료한 사람들은 며칠간 고통스러울 정도로 느린 타이핑을 경험하고, 예전 속도를 회복하기까지 몇 주가 걸린다고 설명합니다.
- 이미 프로그래밍 가능한 키보드를 소유하고 있다면: 이 경우는 비용이 들지 않습니다. 변경은 펌웨어 빌드 한 번이면 충분하며, 되돌리는 것도 마찬가지입니다. 한 달 동안 시도해 보고 더 선호하는 것을 유지하십시오.
- 하루 대부분의 시간을 다른 언어 입력에 사용한다면: 위의 빈도 수치는 영어 기준입니다. D, H, G, M의 비중은 언어마다 다르므로, 이 주장을 받아들이기 전에 본인의 언어 환경을 먼저 확인하십시오.
- 손이 아프다면: 키보드 레이아웃은 책상 높이, 의자, 키보드 종류, 앉아 있는 시간 등 여러 입력 요소 중 하나일 뿐입니다. 글자 위치를 바꾸는 것만으로 나머지 설정이 유발하는 문제를 해결할 수 있다고 기대하지 마십시오.
Linux에서 Colemak Mod-DH를 입력하는 방법
시스템에 이미 어떤 설정이 있는지 확인하십시오. 2026년 8월 기준으로 Mod-DH 변형은 모든 데스크톱 Linux가 사용하는 키보드 데이터베이스인 xkeyboard-config에 포함되어 출시됩니다.
localectl list-x11-keymap-variants us | grep colemak현재 시스템은 colemak와 Mod-DH 항목을 나열합니다. colemak_dh은 ANSI 버전이고, colemak_dh_iso은 ISO 버전이며, colemak_dh_ortho는 매트릭스 키보드용입니다. colemak_dh_wide과 colemak_dh_wide_iso는 와이드 버전으로, 오른손 위치를 한 열 바깥쪽으로 이동시킵니다. 영국식 레이아웃에도 Mod-DH 변형이 포함되어 있으므로, 영국식 키보드를 사용한다면 gb를 대상으로 동일한 명령을 실행하십시오. grep 명령의 출력 결과가 없다면 사용 중인 xkeyboard-config 버전이 해당 변형을 포함하기 이전 버전이므로 다음 섹션을 참조하십시오.
설정을 적용하기 전에 X 세션에서 먼저 시도해 보십시오.
setxkbmap -layout us -variant colemak_dh
setxkbmap -querysetxkbmap -query은 현재 적용된 레이아웃과 변형을 출력하므로 변경 사항이 적용되었는지 확인할 수 있습니다. 몇 문장을 입력한 뒤 setxkbmap -layout us을 사용하여 원래대로 되돌리십시오. 만약 해당 변형이 시스템에 존재하지 않으면 명령은 Error loading new keyboard description 오류와 함께 실패하며 레이아웃은 이전 상태로 유지됩니다.
이 명령이 수행하지 않는 작업에 유의하십시오. 이 명령은 실행 중인 X 세션에만 영향을 미치며 로그아웃 시 초기화됩니다. 또한 컴포지터가 키맵을 관리하는 Wayland 환경에서는 아무런 동작을 하지 않습니다. 레이아웃을 영구적으로 설정하는 방법은 데스크톱 환경마다 다르며, 이미 다음 문서에 작성되어 있습니다: 콘솔, X11 및 Wayland에서 Colemak을 영구적으로 설정하는 방법. 해당 가이드의 모든 단계는 이 변형에도 동일하게 적용됩니다. 가이드에서 colemak을 언급하는 모든 곳에 colemak_dh를 입력하십시오.
시스템에 colemak_dh 변형이 없다면 어떻게 해야 합니까?
레이아웃을 적용하는 세 가지 방법이 있으며, 각 방법은 서로 다른 지점에서 작동을 멈춥니다.
사용자 정의 xkb 변형. 키 정의를 심볼 파일에 작성하고 변형을 등록한 다음, 패키지로 제공되는 것과 같이 이름으로 사용합니다. 동일한 메커니즘을 사용하므로 동작 방식이 같으며, X11 및 Wayland 세션을 모두 지원합니다. 단점은 유지 관리입니다. /usr/share/X11/xkb 아래에서 편집하는 파일은 xkeyboard-config 패키지에 속하므로, 업그레이드 시 파일이 교체될 수 있으며 접근하는 모든 시스템에 다시 설치해야 합니다.
사용자 공간 리매퍼. keyd는 evdev(커널 입력 계층)를 통해 키보드를 읽고, uinput(커널의 입력 주입 장치)을 통해 리매핑된 키를 다시 씁니다. 키가 디스플레이 서버에 도달하기 전에 교체가 발생하므로, 하나의 파일로 X 세션, Wayland 세션, 일반 텍스트 콘솔을 모두 처리할 수 있습니다. 맵 파일은 /etc/keyd/default.conf에 위치합니다.
[ids]
*
[main]
e = f
r = p
t = b
y = j
u = l
i = u
o = y
s = r
d = s
f = t
h = m
j = n
k = e
l = i
v = d
b = v
n = k
m = h각 줄은 왼쪽에 명시된 물리적 키가 이제 오른쪽에 명시된 키를 전송함을 의미하며, 변경되지 않는 키는 생략합니다. 세미콜론 키는 양방향으로 변경되며 위 예시에서는 의도적으로 누락되었습니다. keyd list-keys을 실행하여 빌드에서 사용하는 해당 키의 이름을 확인한 다음, 두 줄을 추가하십시오. 설정을 로드하고 작동을 확인합니다.
sudo systemctl enable --now keyd
sudo keyd reload
keyd monitorkeyd monitor는 keyd가 인식하는 모든 키를 출력하며, 이를 통해 키가 두 번 리매핑되는 경우를 찾아낼 수 있습니다. keyd를 활성화하기 전에 시스템 레이아웃을 기본 US QWERTY로 되돌리십시오. keyd의 출력은 여전히 구성된 레이아웃에 의해 해석되므로, 리매핑이 직렬로 두 번 적용되면 어떤 레이아웃과도 일치하지 않는 문자가 생성됩니다.
키보드 펌웨어. QMK, ZMK, Vial은 레이아웃을 키보드 내부에 저장합니다. 키보드가 원하는 문자를 전송하므로, 호스트 시스템은 리매핑 사실을 알지 못합니다. QMK의 경우 빌드와 플래시 과정을 거칩니다.
qmk setup
qmk list-keyboards
qmk compile -kb planck/rev6 -km default
qmk flash -kb planck/rev6 -km default위의 키보드 및 키맵 이름은 예시입니다. planck/rev6는 qmk list-keyboards이 귀하의 보드에 대해 출력하는 값으로, default은 Mod-DH 레이아웃을 포함하는 키맵 디렉터리 이름으로 각각 교체하십시오.
보드의 펌웨어가 지원하는 경우, Vial과 VIA를 사용하여 USB를 통해 그래픽 편집기로 동일한 작업을 수행할 수 있으므로 컴파일러 없이도 키를 이동할 수 있습니다.
어떤 방식이 텍스트 콘솔에서도 유지됩니까?
펌웨어만이 어디서든 동일하게 작동합니다. xkb 변형은 특정 기기의 한 세션에 종속됩니다. keyd는 한 기기에 종속되며 해당 기기의 root 권한이 필요합니다. 키보드 자체는 사용자에게 종속됩니다. 복구 셸, UEFI 설정 화면, 새로 설치한 시스템, 시리얼 콘솔 어디에 연결하든 Mod-DH로 입력됩니다. 연결된 대상은 아무것도 알 필요가 없기 때문입니다.
이 점은 원격 작업보다 로컬 콘솔에서 더 중요하게 작용합니다. VPS에 SSH로 접속할 때 서버는 사용자의 레이아웃을 전혀 알지 못합니다. 터미널이 키 입력을 문자로 변환하여 전송하므로 원격 기기의 키맵은 무관합니다. 이 문제가 발생하는 지점은 부팅 실패 후의 복구 셸이나 여분의 TTY에 유지하는 상시 작업대와 같이 직접 앞에 앉아 사용하는 콘솔입니다. Linux 가상 콘솔은 xkb와 별개인 자체 키맵 시스템을 사용하므로 데스크톱 설정이 적용되지 않습니다.
Debian과 Ubuntu에서는 ckbcomp를 통해 xkb 데이터로부터 콘솔 키맵을 생성하므로, 콘솔에서도 동일한 변형 이름을 사용할 수 있습니다.
ckbcomp us colemak_dh | sudo loadkeys -이 설정은 다음 재부팅 전까지만 유지됩니다. 설정을 유지하려면 /etc/default/keyboard 파일에 XKBLAYOUT 및 XKBVARIANT를 설정하고 sudo setupcon을 실행하십시오. console-setup을 지원하지 않는 배포판에서는 kbd와 함께 제공되는 키맵만 사용할 수 있으며, 대부분은 QWERTY 기반입니다. Colemak-DH 맵이 존재하는지 가정하기 전에 localectl list-keymaps | grep -i colemak로 확인하십시오. 해당 맵이 없는 경우, 하나의 파일로 콘솔과 그래픽 세션을 모두 처리할 수 있는 keyd가 더 효율적인 방법입니다.
전환 후 무엇이 문제가 되는가?
두 겹의 키 매핑. Mod-DH로 펌웨어를 올린 키보드와 colemak_dh으로 설정된 호스트를 함께 사용하면 두 매핑이 겹쳐져 어느 레이아웃의 문자도 제대로 입력되지 않습니다. S라고 적힌 키를 누르면 키보드는 R을 보내고, 호스트 레이아웃은 이를 R 키로 읽어 P를 출력합니다. 매핑은 반드시 한 곳에서만 수행하십시오.
키보드와 맞지 않는 하단 열. ISO 키보드에서 colemak_dh를 선택하거나 ANSI 키보드에서 colemak_dh_iso를 선택하면 왼쪽 하단 근처의 문자가 잘못 배치됩니다. 전환 직후 Z 키를 눌러 확인하십시오. 해당 모서리가 두 배열의 차이가 가장 큰 지점이기 때문입니다.
로그인 화면. GDM과 SDDM은 각자의 키보드 설정을 유지하므로, 세션 설정과 달리 비밀번호 입력창은 여전히 QWERTY일 수 있습니다. keyd와 펌웨어 방식은 로그인 화면이 나타나기 전에 이미 적용되므로 이러한 문제를 피할 수 있습니다.
Caps Lock. Colemak의 공식 레이아웃은 Caps Lock을 Backspace로 변경합니다. 구현 방식에 따라 이 설정을 포함할지 여부가 다를 수 있습니다. 전환 직후 해당 키를 확인하십시오. 문장을 입력하는 도중에 이를 발견하면 매우 불편합니다.
일시적인 속도 저하. 처음 이틀 동안은 다시 원래대로 돌아가고 싶을 만큼 속도가 느려질 것입니다. 이는 정상이며 레이아웃을 변경하는 모든 사람이 겪는 과정입니다.
FAQ
이미 표준 Colemak을 사용 중인데 Colemak Mod-DH로 전환할 가치가 있습니까?
이미 타자 습관이 완전히 자동화되었다면, 솔직한 답변은 '아니오'입니다. 6개의 글자가 바뀌며, 그중 2개는 자주 사용하는 검지 손가락 위치이므로 수개월간 쌓아온 반사 신경을 무너뜨리기에 충분합니다. 전환한 사람들은 며칠간 매우 느린 타자 속도를 경험하고, 예전 속도를 회복하기까지 몇 주가 걸린다고 말합니다. 얻을 수 있는 이점은 속도보다는 편안함입니다. D와 H를 입력할 때 손을 옆으로 움직일 필요가 없어집니다. 검지 손가락에 통증이 있거나, 펌웨어 플래싱 한 번으로 쉽게 되돌릴 수 있는 프로그래밍 가능한 키보드를 사용 중이라면 전환을 고려해 보십시오.
Colemak Mod-DH를 사용하면 Ctrl+Z, Ctrl+X, Ctrl+C, Ctrl+V 단축키가 작동하지 않습니까?
표준 Colemak과 달리 Mod-DH는 해당 키 조합의 일부를 변경합니다. 표준 Colemak은 Z, X, C, V를 QWERTY와 동일한 위치에 두어 단축키 위치가 변하지 않습니다. Mod-DH는 왼쪽 하단 행을 D를 위해 사용해야 하므로 무언가 이동해야 합니다. 일반적인 배열에서는 Z, X, C는 그대로 유지되고 V만 오른쪽으로 한 칸 이동합니다. Angle mod 배열에서는 그룹 전체가 왼쪽으로 한 칸 밀리고 Z의 위치가 바뀝니다. 전환 후 Z라고 적힌 키를 눌러 현재 구현된 레이아웃을 확인하십시오.
Linux 시스템에 colemak_dh 변형이 있는지 어떻게 확인합니까?
localectl list-x11-keymap-variants us | grep colemak을 실행하십시오. 목록에 나타나는 항목은 이름으로 선택할 수 있습니다. X 세션에서 setxkbmap -layout us -variant colemak_dh로 테스트하고 setxkbmap -query로 확인하십시오. 변형이 없으면 setxkbmap은 Error loading new keyboard description를 출력하며 레이아웃은 변경되지 않습니다. 이 경우 사용자 정의 xkb 변형을 만들거나, keyd 리매퍼를 사용하거나, 키보드 펌웨어를 수정해야 합니다.
Colemak Mod-DH는 Linux 텍스트 콘솔에서도 작동합니까?
단독으로는 작동하지 않습니다. 가상 콘솔은 loadkeys로 로드되는 자체 키맵을 사용하며, 데스크톱의 xkb 설정을 읽지 않습니다. Debian과 Ubuntu에서는 ckbcomp us colemak_dh | sudo loadkeys -을 사용하여 xkb 변형을 현재 부팅 세션용 콘솔 키맵으로 변환할 수 있으며, /etc/default/keyboard 파일에 XKBVARIANT을 설정하고 sudo setupcon을 실행하면 재부팅 후에도 설정이 유지됩니다. keyd는 커널 입력 계층에서 리매핑을 수행하므로 모든 배포판의 콘솔에서 작동합니다. 펌웨어 방식 또한 운영체제에 별도의 설치가 필요 없으므로 콘솔에서 정상 작동합니다.
제 키보드에는 어떤 Mod-DH 변형을 선택해야 합니까?
물리적인 키보드 배열에 맞춰 선택하십시오. colemak_dh는 넓고 평평한 Enter 키와 긴 왼쪽 Shift 키를 가진 ANSI 키보드용입니다. colemak_dh_iso는 세로로 긴 Enter 키와 왼쪽 Shift와 Z 사이에 추가 키가 있는 ISO 키보드용입니다. colemak_dh_ortho은 키가 수직으로 정렬된 매트릭스 키보드용입니다. Wide 변형은 오른손을 바깥쪽으로 한 칸 이동시키며, 해당 배열을 명확히 의도한 경우에만 선택하십시오. 왼쪽 하단 근처의 글자가 잘못 입력된다면 잘못된 변형을 선택한 것입니다.