Colemak czy Colemak Mod-DH: który układ wybrać?
Porównanie układów Colemak oraz Mod-DH. Wyjaśnienie różnic w położeniu klawiszy D i H oraz instrukcja konfiguracji wariantu Mod-DH w systemie Linux dla zaawansowanych użytkowników.
Zmiany wprowadzane przez Colemak Mod-DH
Colemak Mod-DH to standardowy układ Colemak z sześcioma przestawionymi literami. Litery D oraz H zostają przeniesione z dwóch środkowych kolumn pod palce wskazujące, a litery G, B, V oraz M zajmują zwolnione przez nie miejsca. Wszystkie pozostałe klawisze, w tym klawisze bazowe poznawane jako pierwsze, pozostają w pozycjach zdefiniowanych w standardowym układzie Colemak.
Nazwa wariantu odzwierciedla wprowadzone zmiany. W standardowym układzie Colemak litera D znajduje się na klawiszu oznaczonym jako G, a litera H na klawiszu oznaczonym jako H. Te dwa klawisze tworzą środkowe kolumny klawiatury. Palec wskazujący może do nich dotrzeć jedynie poprzez przesunięcie całej dłoni w bok, dlatego projekt Mod-DH uznał je za najsłabszy punkt udanego skądinąd układu i przeniósł obie litery o jeden rząd niżej.
Jeśli użytkownik jest w trakcie nauki układu, należy wybrać Mod-DH i zaprzestać analizowania porównań. Jeśli użytkownik pisze już bezwzrokowo w standardowym układzie Colemak, przejście na ten wariant oznacza kilka tygodni wolniejszego pisania w zamian za wzrost komfortu, którego nie wykaże żaden test szybkości. Niniejszy przewodnik przedstawia najpierw dokładny zakres zmian, a następnie kwestie związane z systemem Linux: nazwę wariantu, o którą należy pytać, oraz sposób postępowania w przypadku jej braku w systemie.
Dwa układy obok siebie
Standardowy Colemak, tylko litery:
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, tylko litery:
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 , . /Różni się sześć liter. Łatwiej to zrozumieć jako cztery ruchy lewą ręką i jedną zamianę prawą. Po lewej stronie: D przesuwa się z rzędu bazowego do dolnego, G przesuwa się z górnego rzędu do środkowej kolumny zwolnionej przez D, B przesuwa się w górę do rzędu górnego, w którym było G, a V przesuwa się o jeden klawisz w prawo na miejsce zwolnione przez B. Po prawej stronie: H i M zamieniają się miejscami, co umieszcza H pod palcem wskazującym, a M w środkowej kolumnie.
Należy odczytywać te diagramy jako dziesięć kolumn w rzędzie, co odpowiada budowie klawiatury matrycowej (ortoliniowej). W przypadku standardowej klawiatury z przesuniętymi rzędami, lewy dolny róg układu Mod-DH posiada drugi wariant, który został omówiony w dalszej części.
Dlaczego litera D stanowi problem w standardowym układzie Colemak?
Palce wskazujące spoczywają na dwóch klawiszach bazowych: klawiszu oznaczonym jako F po lewej stronie, który w obu układach wpisuje T, oraz klawiszu oznaczonym jako J po prawej stronie, który w obu układach wpisuje N. Każdy palec wskazujący obsługuje również kolumnę obok, czyli klawisze oznaczone jako G oraz H. Żadna dłoń nie pokrywa obu kolumn bez przesuwania się, ponieważ palec nie jest wystarczająco długi. Wymusza to przesunięcie dłoni w bok, co powoduje, że pozostałe trzy palce tracą kontakt z klawiszami bazowymi. Ten ruch boczny jest najbardziej kosztownym ruchem w pisaniu bezwzrokowym i to właśnie w celu jego wyeliminowania powstał Mod-DH.
Standardowy układ Colemak umieszcza D na klawiszu oznaczonym jako G, a H na klawiszu oznaczonym jako H, więc oba klawisze środkowej kolumny obsługują często używane litery. Mod-DH przenosi D na klawisz oznaczony jako V, a H na klawisz oznaczony jako M, wykorzystując układ przedstawiony na powyższym diagramie. Każdy z tych klawiszy znajduje się około pół szerokości klawisza na prawo od klawisza bazowego palca wskazującego na klawiaturze o układzie schodkowym. Dzięki temu palec zagina się w dół w obrębie własnej kolumny, a dłoń pozostaje w miejscu. Litery, które przejmują środkowe kolumny, to G po lewej stronie oraz M po prawej stronie.
Cała argumentacja opiera się na częstotliwości wpisywania poszczególnych liter.
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
}
]Są to typowe, publikowane dane dla zwykłego tekstu w języku angielskim, które różnią się o kilka dziesiątych punktu procentowego w zależności od analizowanego korpusu. Ranking pozostaje stabilny. H stanowi 6.1 procent wpisywanych liter, a D 4.3 procent, podczas gdy M stanowi 2.4 procent, G 2.0 procent, a V 1.0 procent. Mod-DH nie eliminuje całkowicie sięgania bocznego. Przenosi ten wysiłek na rzadkie litery zamiast na te powszechne, co wymaga wykonania 6 ruchów palców.
Co pozostaje bez zmian?
- Klawisze bazowe A R S T po lewej stronie oraz N E I O po prawej nie zmieniają swojego położenia. Te osiem klawiszy odpowiada za największą część wpisywanego tekstu i jest to element układu Colemak, którego uczysz się w pierwszej kolejności.
- Górny rząd jest identyczny z wyjątkiem jednego klawisza: Q W F P po lewej stronie oraz J L U Y wraz ze średnikiem po prawej.
- Klawisze interpunkcyjne po prawej stronie nie zmieniają swojego położenia.
- Rząd z cyframi oraz klawisze modyfikujące pozostają nienaruszone.
- Gry wykorzystujące układ WASD zachowują się tak samo w obu układach, ponieważ te cztery fizyczne klawisze odpowiadają tym samym literom w każdym z nich.
Jedna rzecz nie przetrwała tej zmiany. Standardowy Colemak utrzymuje Z, X, C oraz V na klawiszach znanych z układu QWERTY, dzięki czemu skróty Ctrl+Z, Ctrl+X, Ctrl+C oraz Ctrl+V pozostają pod palcami, które używały ich od momentu pierwszego kontaktu z komputerem. Mod-DH wymaga dolnego lewego rzędu dla litery D, więc ten zestaw klawiszy musiał zostać przesunięty.
W obiegu znajdują się dwa warianty tego układu, a powyższy diagram przedstawia tylko jeden z nich. Wariant podstawowy utrzymuje Z, X oraz C na klawiszach oznaczonych jako Z, X oraz C, a V przesuwa o jeden klawisz w prawo, na miejsce oznaczone jako B. Wariant angle mod przesuwa całą grupę o jeden klawisz w lewo, dzięki czemu lewy palec wskazujący trafia na D bez konieczności wyciągania go w dół i w prawo. Klawiatura ISO posiada dodatkowy klawisz między lewym Shift a Z, który jest wykorzystywany przez angle mod. Klawiatura ANSI nie posiada takiego klawisza, więc wersja ANSI musi przenieść Z, co jest akceptowalne, ponieważ Z jest najrzadziej używaną literą w języku angielskim.
Dlatego nazwy dostępnych wariantów zawierają typ klawiatury. Wybierz ten, który odpowiada posiadanemu sprzętowi, a następnie naciśnij klawisz oznaczony jako Z. Wynik wskaże, który układ został zastosowany i które skróty edycyjne zmieniły swoje położenie.
Czy warto przejść ze standardowego układu Colemak?
- Jesteś w trakcie nauki lub nadal używasz QWERTY: wybierz Mod-DH. Nauka tego układu nie jest trudniejsza niż standardowego Colemak, a kwestię tę można uznać za zamkniętą. Jeśli nie podjąłeś jeszcze ostatecznej decyzji co do Colemak, to jest to wcześniejszy etap, a porównanie Colemak z Dvorak i QWERTY pomoże Ci w wyborze.
- Piszesz płynnie na standardowym Colemak: zysk jest realny, lecz niewielki, a koszt to kilka tygodni pracy. Sześć liter wystarczy, aby przełamać automatyzm pisania, a dwie najważniejsze z nich obsługiwane są przez palce wskazujące, które pojawiają się w dużej części słów języka angielskiego. Osoby, które zdecydowały się na zmianę, opisują kilka dni bardzo wolnego pisania oraz kilka tygodni, zanim powróciła ich dawna szybkość.
- Posiadasz już programowalną klawiaturę: to najtańszy wariant. Zmiana wymaga jedynie wgrania nowego firmware, a powrót do poprzedniego ustawienia jest równie łatwy. Wypróbuj układ przez miesiąc i pozostań przy tym, który bardziej Ci odpowiada.
- Przez większość dnia piszesz w innym języku: powyższe dane dotyczące częstotliwości odnoszą się do języka angielskiego. Sprawdź statystyki dla swojego języka przed przyjęciem argumentacji, ponieważ litery D, H, G oraz M nie mają wszędzie takiej samej wagi.
- Odczuwasz ból dłoni: układ klawiatury jest tylko jednym z wielu czynników, obok wysokości biurka, krzesła, samej klawiatury oraz liczby godzin spędzonych przy pracy. Nie oczekuj, że zamiana liter rozwiąże problem, który wynika z pozostałych elementów stanowiska pracy.
Jak ustawić układ Colemak Mod-DH w systemie Linux?
Należy sprawdzić dostępne w systemie układy. Według stanu na sierpień 2026 warianty Mod-DH są dostarczane wewnątrz xkeyboard-config, czyli bazy danych układów klawiatury używanej przez każdy desktopowy system Linux.
localectl list-x11-keymap-variants us | grep colemakAktualny system wyświetla colemak wraz z wpisami Mod-DH. colemak_dh to wersja ANSI, colemak_dh_iso to wersja ISO, colemak_dh_ortho jest przeznaczona dla klawiatur matrycowych, a colemak_dh_wide oraz colemak_dh_wide_iso to wersje wide, które przesuwają prawą rękę o jedną kolumnę na zewnątrz. Układ brytyjski (UK) również posiada wariant Mod-DH, więc należy wykonać to samo polecenie dla gb w przypadku korzystania z klawiatury w tym standardzie. Jeśli grep nie zwróci żadnych wyników, posiadana wersja xkeyboard-config jest starsza niż te warianty i należy przejść do następnej sekcji.
Przed wprowadzeniem trwałych zmian warto przetestować układ w sesji X.
setxkbmap -layout us -variant colemak_dh
setxkbmap -querysetxkbmap -query wyświetla aktualnie używany układ oraz wariant, co pozwala potwierdzić wprowadzenie zmian. Po wpisaniu kilku zdań można przywrócić poprzednie ustawienia za pomocą setxkbmap -layout us. Jeśli wariant nie istnieje w systemie, polecenie zakończy się błędem Error loading new keyboard description, a układ pozostanie bez zmian.
Należy pamiętać, czego to polecenie nie robi. Wpływa ono wyłącznie na bieżącą sesję X, ustawienia znikają po wylogowaniu i nie mają żadnego wpływu na środowisko Wayland, gdzie za mapowanie klawiszy odpowiada kompozytor. Trwałe ustawienie układu klawiatury zależy od używanego środowiska graficznego i zostało opisane w dokumentacji: trwałe ustawienie układu Colemak w konsoli, X11 oraz Wayland. Każdy krok opisany w tym przewodniku ma zastosowanie do tego wariantu. W miejscach, gdzie przewodnik wskazuje colemak, należy wpisać colemak_dh.
Co zrobić, jeśli system nie posiada wariantu colemak_dh?
Istnieją trzy sposoby na uzyskanie tego układu, z których każdy przestaje działać na innym etapie.
Niestandardowy wariant xkb. Definicje klawiszy zapisuje się w pliku symboli i rejestruje wariant, a następnie używa go pod nazwą, tak jak w przypadku pakietów systemowych. Jest to ten sam mechanizm, więc zachowuje się identycznie i obejmuje zarówno sesje X11, jak i Wayland. Kosztem jest utrzymanie: plik edytowany w /usr/share/X11/xkb należy do pakietu xkeyboard-config, więc aktualizacja może go nadpisać, a instalację trzeba powtarzać na każdej obsługiwanej maszynie.
Remapper w przestrzeni użytkownika. keyd odczytuje klawiaturę przez evdev (warstwę wejściową jądra) i zapisuje zmapowane klawisze z powrotem przez uinput (urządzenie wstrzykiwania danych wejściowych jądra). Zamiana następuje, zanim serwer wyświetlania otrzyma sygnał klawisza, więc jeden plik obsługuje sesję X, sesję Wayland oraz czystą konsolę tekstową. Mapę umieszcza się w /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 = hKażda linia określa, że fizyczny klawisz wymieniony po lewej stronie wysyła teraz klawisz wymieniony po prawej, a klawisze, które nie ulegają zmianie, są pomijane. Klawisz średnika zmienia się w obu kierunkach i celowo pominięto go powyżej: uruchom keyd list-keys, aby uzyskać nazwę używaną przez twoją kompilację, a następnie dodaj te dwie linie. Załaduj konfigurację i sprawdź działanie:
sudo systemctl enable --now keyd
sudo keyd reload
keyd monitorkeyd monitor wyświetla każdy klawisz w formie, w jakiej widzi go keyd; w ten sposób można wykryć dwukrotne zmapowanie tego samego klawisza. Przed włączeniem keyd przywróć systemowy układ do standardowego US QWERTY, ponieważ wyjście keyd jest nadal interpretowane przez skonfigurowany układ, a dwa remapy szeregowe generują znaki, które nie pasują do żadnego układu.
Firmware klawiatury. QMK, ZMK i Vial umieszczają układ bezpośrednio w klawiaturze. Urządzenie wysyła żądany znak, a host nie otrzymuje informacji o jakimkolwiek remapowaniu. W przypadku QMK proces sprowadza się do kompilacji i flashowania:
qmk setup
qmk list-keyboards
qmk compile -kb planck/rev6 -km default
qmk flash -kb planck/rev6 -km defaultNazwy klawiatury i mapy klawiszy powyżej są przykładowe. Zastąp planck/rev6 wartością, którą zwraca qmk list-keyboards dla twojego urządzenia, a default nazwą katalogu mapy klawiszy zawierającego układ Mod-DH.
Vial i VIA realizują to samo za pomocą edytora graficznego przez USB, jeśli firmware klawiatury je wspiera, co pozwala na zmianę przypisania klawisza bez użycia kompilatora.
Która metoda działa w konsoli tekstowej?
Tylko oprogramowanie układowe (firmware) towarzyszy użytkownikowi wszędzie. Wariant xkb jest przypisany do jednej sesji na jednej maszynie. Narzędzie keyd działa w obrębie jednej maszyny i wymaga uprawnień root. Klawiatura należy do użytkownika: po podłączeniu jej do powłoki ratunkowej, ekranu konfiguracji UEFI, świeżo zainstalowanego systemu czy konsoli szeregowej, układ Mod-DH działa natychmiast, ponieważ urządzenie końcowe nie musi o nim wiedzieć.
W pracy zdalnej ma to mniejsze znaczenie, niż można oczekiwać, natomiast jest kluczowe w przypadku konsol lokalnych. Podczas łączenia się przez SSH z VPS, serwer w ogóle nie widzi układu klawiatury użytkownika: terminal zamienia naciśnięcia klawiszy na znaki i przesyła te znaki, więc mapa klawiszy maszyny zdalnej nie ma znaczenia. Problem pojawia się przy konsoli, przed którą się siedzi, na przykład w powłoce ratunkowej po nieudanym rozruchu lub w stałym środowisku pracy utrzymywanym na dodatkowym TTY. Wirtualna konsola Linux posiada własny system map klawiszy, niezależny od xkb, a ustawienia środowiska graficznego nie mają na niego wpływu.
W systemach Debian i Ubuntu mapa klawiszy konsoli jest generowana z danych xkb za pomocą ckbcomp, dzięki czemu konsola może korzystać z tej samej nazwy wariantu:
ckbcomp us colemak_dh | sudo loadkeys -Zmiana ta obowiązuje do następnego restartu. Aby ją utrzymać, należy ustawić XKBLAYOUT oraz XKBVARIANT w pliku /etc/default/keyboard i wykonać sudo setupcon. W dystrybucjach nieposiadających pakietu console-setup użytkownik jest ograniczony do map klawiszy dostarczanych wraz z kbd, które w większości bazują na QWERTY: przed założeniem, że mapa Colemak-DH istnieje, należy sprawdzić to za pomocą localectl list-keymaps | grep -i colemak. Tam, gdzie jej nie ma, keyd jest szybszym rozwiązaniem, ponieważ jeden plik obsługuje zarówno konsolę, jak i sesję graficzną.
Co przestaje działać po zmianie?
Dwie warstwy mapowania. Klawiatura z wgranym oprogramowaniem Mod-DH oraz host ustawiony na colemak_dh powodują, że znaki nie odpowiadają żadnemu z układów, ponieważ mapowania nakładają się na siebie. Naciśnięcie klawisza oznaczonego jako S powoduje wysłanie przez klawiaturę sygnału R, który host interpretuje jako klawisz R i drukuje P. Mapowanie należy wykonywać tylko w jednym miejscu.
Niewłaściwy dolny rząd dla danej klawiatury. Wybór colemak_dh na klawiaturze ISO lub colemak_dh_iso na ANSI powoduje błędne rozmieszczenie liter w lewym dolnym rogu. Po dokonaniu zmiany należy w pierwszej kolejności nacisnąć klawisz oznaczony jako Z, ponieważ to właśnie w tym narożniku układy różnią się od siebie.
Ekran logowania. GDM i SDDM przechowują własną konfigurację klawiatury, dlatego monit o hasło może nadal używać układu QWERTY, podczas gdy sesja użytkownika korzysta z innego. Narzędzia takie jak keyd oraz oprogramowanie układowe pozwalają uniknąć tego problemu, ponieważ działają, zanim ekran logowania zostanie wyrenderowany.
Caps Lock. Publikowany układ Colemak zmienia również działanie klawisza Caps Lock na Backspace, a poszczególne implementacje różnią się w kwestii uwzględnienia tej zmiany. Należy sprawdzić ten klawisz zaraz po przełączeniu układu. Odkrycie tego w trakcie pisania zdania jest niekomfortowe.
Prędkość pisania przez pewien czas. Należy przygotować się na to, że pierwsze dwa dni będą na tyle uciążliwe, iż pojawi się chęć powrotu do poprzedniego układu. Jest to zjawisko normalne, dotykające każdego, kto zmienia układ klawiatury.
FAQ
Czy warto przechodzić na Colemak Mod-DH, jeśli używam już standardowego układu Colemak?
Jeśli pisanie na klawiaturze jest już odruchem bezwarunkowym, uczciwa odpowiedź brzmi: zazwyczaj nie. Zmienia się sześć liter, z czego dwie są często używanymi znakami obsługiwanymi przez palce wskazujące, co wystarczy, by zburzyć wypracowane przez miesiące nawyki. Osoby, które zdecydowały się na zmianę, opisują kilka dni bardzo wolnego pisania i kilka tygodni powrotu do dawnej prędkości. Zyskiem jest wygoda, a nie szybkość: litery D i H przestają wymagać ruchu ręką w bok. Zmień układ, jeśli odczuwasz dyskomfort w palcach wskazujących lub jeśli używasz programowalnej klawiatury, w której powrót do poprzednich ustawień wymaga jedynie ponownego wgrania firmware.
Czy Colemak Mod-DH psuje skróty Ctrl+Z, Ctrl+X, Ctrl+C oraz Ctrl+V?
Psuje część tego zestawu, czego standardowy Colemak nie robi. Standardowy Colemak pozostawia klawisze Z, X, C oraz V w miejscach znanych z QWERTY, więc wszystkie cztery skróty pozostają tam, gdzie oczekuje ich ręka. Mod-DH wymaga dolnego lewego rzędu dla litery D, więc coś musi zostać przeniesione. W układzie podstawowym Z, X i C pozostają na swoich miejscach, a V przesuwa się o jeden klawisz w prawo. W układzie z modyfikacją angle mod grupa przesuwa się o jeden klawisz w lewo, a Z zostaje przeniesione. Naciśnij klawisz oznaczony jako Z po przełączeniu, aby sprawdzić, który wariant oferuje Twoja implementacja.
Jak sprawdzić, czy system Linux posiada wariant colemak_dh?
Uruchom localectl list-x11-keymap-variants us | grep colemak. Każdy wymieniony tam układ można wybrać po nazwie. Przetestuj go w sesji X za pomocą setxkbmap -layout us -variant colemak_dh i potwierdź działanie poleceniem setxkbmap -query. Jeśli wariantu brakuje, setxkbmap wyświetli Error loading new keyboard description, a układ nie ulegnie zmianie. W takim przypadku opcjami są: własny wariant xkb, remapper keyd lub firmware klawiatury.
Czy Colemak Mod-DH działa w konsoli tekstowej systemu Linux?
Nie samodzielnie. Konsola wirtualna posiada własną mapę klawiszy, ładowaną przez loadkeys, która nie odczytuje ustawień xkb środowiska graficznego. W systemach Debian i Ubuntu ckbcomp us colemak_dh | sudo loadkeys - konwertuje wariant xkb na mapę klawiszy konsoli dla bieżącej sesji, a ustawienie XKBVARIANT w pliku /etc/default/keyboard wraz z sudo setupcon zapewnia trwałość ustawień po restarcie. Narzędzie keyd działa w konsoli na każdej dystrybucji, ponieważ dokonuje mapowania na poziomie warstwy wejściowej jądra. Firmware klawiatury również działa w tym środowisku i nie wymaga instalacji żadnego oprogramowania w systemie.
Który wariant Mod-DH wybrać dla mojej klawiatury?
Dopasuj go do fizycznego układu klawiatury. colemak_dh jest przeznaczony dla klawiatur ANSI, czyli tych z szerokim, płaskim klawiszem Enter i długim lewym Shiftem. colemak_dh_iso jest przeznaczony dla klawiatur ISO, które posiadają wysoki klawisz Enter oraz dodatkowy klawisz między lewym Shiftem a Z. colemak_dh_ortho jest przeznaczony dla klawiatur matrycowych z prostymi kolumnami klawiszy. Warianty typu wide przesuwają prawą rękę o jedną kolumnę na zewnątrz i mają sens tylko wtedy, gdy jest to pożądane rozwiązanie. Jeśli litery w dolnym lewym rogu pojawiają się nieprawidłowo, wybrano niewłaściwy wariant.