Colemak Mod-DH와 표준 Colemak 차이점 비교
Colemak Mod-DH는 D와 H 키 위치를 조정해 손가락 부담을 줄입니다. 표준 배열과의 정확한 변경 사항을 확인하고, 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은 중앙 열로 들어오게 됩니다.
이 다이어그램은 매트릭스(ortholinear) 키보드의 구조인 행당 10열 기준으로 읽어야 합니다. 일반적인 스태거드(staggered) 키보드에서 Mod-DH의 왼쪽 하단 모서리는 별도의 배열을 가지며, 이에 대해서는 아래에서 추가로 다룹니다.
표준 Colemak에서 D가 문제가 되는 이유는 무엇입니까?
검지는 두 개의 홈 키 위에 위치합니다. 왼쪽의 F 키는 두 레이아웃 모두에서 T를 입력하며, 오른쪽의 J 키는 두 레이아웃 모두에서 N을 입력합니다. 각 검지는 자신의 옆에 있는 G와 H 키 열도 담당합니다. 손가락 길이가 충분하지 않아 손을 움직이지 않고는 두 열을 모두 덮을 수 없으므로, 손을 옆으로 이동해야 하며 나머지 세 손가락은 홈 키에서 떨어지게 됩니다. 이러한 측면 이동은 터치 타이핑에서 가장 비효율적인 동작이며, Mod-DH는 바로 이 동작을 제거하기 위해 존재합니다.
표준 Colemak은 G 키에 D를, H 키에 H를 배치하여 두 중앙 열 키에 모두 빈도가 높은 문자를 할당합니다. 반면 Mod-DH는 위 다이어그램의 배열을 사용하여 V 키에 D를, M 키에 H를 배치합니다. 이 키들은 스태거드(staggered) 배열 키보드에서 검지의 홈 키보다 오른쪽으로 약 절반 정도 떨어져 있으므로, 손가락을 자신의 열 안쪽으로 굽히기만 하면 되며 손을 이동할 필요가 없습니다. 중앙 열을 물려받는 문자는 왼쪽의 G와 오른쪽의 M입니다.
이 모든 논의는 각 문자가 얼마나 자주 입력되는지에 달려 있습니다.
이 차트의 데이터
[
{
"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
}
]위 수치는 일반적인 영어 텍스트에 대해 발표된 전형적인 통계이며, 어떤 말뭉치(corpus)를 기준으로 하느냐에 따라 소수점 단위로 약간의 차이가 있습니다. 하지만 순위는 안정적입니다. 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 홈 키는 이동하지 않습니다. 이 8개의 키는 타이핑의 대부분을 차지하며, 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는 오른손을 한 열 바깥쪽으로 이동시키는 와이드 버전입니다. UK 레이아웃에도 Mod-DH 변형이 포함되어 있으므로, UK 키보드를 사용하는 경우 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와 동일한 위치에 두어 4개의 단축키 모두 익숙한 위치에서 사용할 수 있습니다. Mod-DH는 왼쪽 하단 행을 D를 위해 사용해야 하므로 무언가는 이동해야 합니다. 일반적인 배열에서는 Z, X, C는 그대로 유지되고 V만 오른쪽으로 한 칸 이동합니다. Angle mod 배열에서는 그룹 전체가 왼쪽으로 한 칸 밀리고 Z가 재배치됩니다. 전환 후 Z라고 표시된 키를 눌러 사용 중인 구현체에서 어떤 키가 할당되었는지 확인하십시오.
Linux 시스템에 colemak_dh 변형이 있는지 어떻게 확인합니까?
localectl list-x11-keymap-variants us | grep colemak을 실행하십시오. 목록에 나타나는 모든 항목은 이름으로 선택할 수 있습니다. setxkbmap -layout us -variant colemak_dh을 사용하여 X 세션에서 테스트하고 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 변형은 오른손을 바깥쪽으로 한 칸 이동시키며, 이를 원한다고 결정한 경우에만 선택하십시오. 왼쪽 하단 근처의 글자가 잘못 입력된다면 잘못된 변형을 선택한 것입니다.