SSD Nodes Learn Hosting plans →
Mga Gabay Matt ConnorNi Matt Connor · Na-update 2026-08-30

Paano Magpalit sa Colemak sa Linux

Alamin kung paano i-set ang Colemak sa Linux console, X11, at Wayland, bakit walang layout ang SSH server, at paano naaapektuhan ang Vim hjkl at Ctrl keys.

Saan matatagpuan ang Colemak layout sa Linux

Sa Linux, hindi isang setting na saklaw ang buong system ang Colemak. Ina-apply ang layout ng component na kasalukuyang nagbabasa ng keyboard, kaya nasa isa ito sa tatlong lugar: text console, X11 server, o Wayland compositor. Kapag sa maling layer ito itinakda, walang makikitang pagbabago.

May ikaapat na opsyon na hindi na gumagamit ng operating system. Ang keyboard na nagre-remap sa sarili nitong firmware, gaya ng board na nagpapatakbo ng QMK o VIA, ay nagpapadala ng mga code para sa mga letrang gusto mo. Dahil dito, Colemak ang tina-type nito sa bawat machine na ikinokonekta mo rito nang walang anumang configuration, kasama ang server console at machine na hindi mo pagmamay-ari. Ang kapalit nito, QWERTY pa rin ang tina-type ng laptop keyboard mo.

Sinasaklaw ng natitirang bahagi ng guide na ito ang tatlong software layer, ang dahilan kung bakit halos hindi kailanman kailangan ng remote server ang alinman sa mga ito, at ang epekto ng switch sa Vim at sa mga terminal shortcut mo.

Suriin kung ano na ang mayroon sa iyong system

Patakbuhin ang mga ito bago ka magbago ng anuman. Ipi-print ng mga command ang kasalukuyang setting at ang listahan ng mga Colemak variant na iniaalok ng iyong X keyboard database.

localectl status
setxkbmap -query
localectl list-x11-keymap-variants us | grep colemak

Dapat i-print ng huling command ang colemak at colemak_dh. Matagal nang kasama ang Colemak sa xkeyboard-config. Dumating ang Colemak-DH sa version 2.34, kaya lumang release lamang ang maaaring walang nito. Noong August 2026, parehong may mas bagong version kaysa rito ang Ubuntu 24.04 at Debian 13.

Kung mag-ulat ang setxkbmap -query na hindi ito makapagbukas ng display, nasa Wayland session ka at ang compositor ang namamahala sa layout. May hiwalay na seksyon para sa sitwasyong ito sa ibaba.

Colemak o Colemak-DH

Inililipat ng Colemak ang labimpitong key mula sa mga posisyon ng QWERTY at hindi binabago ang sampu, kabilang ang Z, X, C at V. Kaya nananatili sa nakasanayang posisyon ng kaliwang kamay ang mga shortcut para sa undo, cut, copy at paste. Iyan ang pangunahing dahilan kung bakit ganoon ang ayos ng layout.

Ang Colemak-DH ay isang pagbabago sa Colemak. Inililipat nito ang D, B at G, at ipinagpapalit ang H at M. Ginagawa ito dahil sa plain Colemak, parehong tina-type ang D at H sa pamamagitan ng pag-unat ng hintuturo papunta sa gitnang column ng keyboard. Pinananatili ng opisyal na mod ang bawat letra sa daliring ginagamit nito sa Colemak. Kaya maliit na pagbabago lamang ang haharapin ng isang Colemak typist na lilipat sa DH, sa halip na panibagong layout. Ang XKB variant ay colemak_dh, at colemak_dh_iso naman para sa mga keyboard na may dagdag na key sa tabi ng kaliwang shift.

Kung mula ka sa QWERTY, parehong nangangailangan ng isang proseso ng muling pagkatuto ang dalawang layout. Pumili batay sa komportable sa iyo, at huwag nang patagalin ang desisyon. Ang ikalawang pagpapalit ng layout ay halos kasinghirap ng una dahil ang binubuo mong muli ay motor memory na nakatali sa mga posisyon ng key. Kung hindi pa rin malinaw kung dapat mo bang iwan ang QWERTY, alamin muna sa paghahambing ng Colemak, Dvorak at QWERTY bago ka gumugol ng isang buwan sa muling pagbuo ng motor memory na iyon.

Itakda ang Colemak sa X11 gamit ang setxkbmap at localectl

setxkbmap us -variant colemak
setxkbmap -query

Dapat mag-ulat ngayon ang setxkbmap -query ng variant: colemak, at ang pag-type sa anumang window ay dapat maglabas ng mga titik ng Colemak. Mananatili ang pagbabago habang aktibo ang X session at walang isusulat sa disk. Dahil dito, ligtas itong gamitin para subukan ang layout nang isang oras.

Para mapanatili ito sa mga reboot:

sudo localectl set-x11-keymap us pc105 colemak
localectl status

Ang pagkakasunod-sunod ng mga argumento ay layout, pagkatapos ay model, at saka variant. Dapat ipakita ngayon ng localectl status ang X11 Layout: us at X11 Variant: colemak. Kino-convert din ng localectl ang napiling setting sa pinakamalapit na console keymap maliban kung idagdag mo ang --no-convert. Kaya sa maraming system, sapat na ang iisang command na ito para maisama rin ang tty. Sa Debian at Ubuntu, suriin pagkatapos ang /etc/default/keyboard, dahil binabasa ng console-setup ang file na iyon sa boot.

Itakda ang Colemak sa Wayland

Walang X server na iko-configure ang isang Wayland session. Nilo-load ng compositor ang keymap at ipinapasa ito sa bawat application, kaya setting ito ng compositor. Ito ang dahilan kung bakit mukhang hindi gumagana ang setxkbmap sa ganitong setup: maaaring hindi ito makahanap ng display, o XWayland lamang ang mabago nito, kaya binabalewala ito ng iyong mga native Wayland application.

Sa GNOME, gsettings key ang setting:

gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us+colemak')]"

Agad itong inilalapat at hindi kailangan ng logout. Ang string na us+colemak ang layout at variant na pinagdugtong gamit ang plus sign.

Sa sway, ilagay ito sa ~/.config/sway/config:

input type:keyboard {
    xkb_layout us
    xkb_variant colemak_dh
}

I-reload gamit ang swaymsg reload. Inililista ng swaymsg -t get_inputs ang lahat ng input device at ang layout na ginagamit ng bawat isa. Ito ang dapat patakbuhin kapag isang keyboard lamang ang may problema.

Sa KDE Plasma, buksan ang System Settings, pagkatapos ay Keyboard, saka Layouts, at idagdag ang English (US) na may Colemak variant.

Itakda ang Colemak sa text console

Ang console ay ang plain-text tty na naa-access mo gamit ang Ctrl+Alt+F3, at mayroon itong sariling keymap. Hindi umaabot dito ang anumang itakda mo sa X11 o sa compositor. Mahalaga ito kung nagtatrabaho ka sa terminal workbench sa bare virtual console.

Sa Debian at Ubuntu, i-edit ang /etc/default/keyboard:

XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT="colemak"
XKBOPTIONS=""

Pagkatapos, ilapat ang pagbabago:

sudo setupcon

Mag-type sa console para kumpirmahin. Kino-convert ng console-setup ang XKB description na ito bilang console keymap gamit ang ckbcomp. Dahil dito, iisang description ang ginagamit ng console at X sa mga system na ito.

Sa mga distribution na direktang gumagamit ng kbd keymaps, kunin muna ang pangalan:

localectl list-keymaps | grep -i -e colemak -e latin9
sudo localectl set-keymap en-latin9

Kasama sa kbd package ang Colemak console map bilang i386/colemak/en-latin9. Kaya karaniwang en-latin9 ang ipinapasa mong pangalan, hindi colemak. Gumamit ng pangalang lumilitaw sa listahan. Tinatanggihan ang pangalang hindi umiiral.

Agad na binabago ng sudo loadkeys en-latin9 ang kasalukuyang console, at ibinabalik ito ng sudo loadkeys us. Ituring ang loadkeys bilang pagsubok, hindi bilang configuration. Nananatili lamang ito hanggang sa reboot. Sa Debian at Ubuntu, ibinabalik ng boot-time na pagpapatakbo ng setupcon ang itinatakda ng /etc/default/keyboard.

Kailangan ba ng Colemak layout ang isang headless VPS?

Halos hindi kailanman, at mahalagang maunawaan kung bakit. Mga character ang ipinapadala ng SSH, hindi mga posisyon ng key. Tumatanggap ng key press ang terminal emulator mo, ginagawang character ito ng local layout mo, at ang character lang na iyon ang ipinapadala sa connection. Tumatanggap ang server ng n at wala itong paraan para malaman kung aling pisikal na key ang gumawa nito. Kaya sinusunod ng layout na itinakda mo sa laptop ang bawat SSH session, pati ang tmux at bawat editor na pinapatakbo mo remotely. Hindi na kailangan ng keyboard configuration sa remote machine.

Tandaan ito bago ka magsimulang mag-edit ng mga keyboard file sa production server. Kung nangangasiwa ka ng fleet ng mga Linux server, ang layout ay para sa machine na nasa harap mo, hindi para sa fleet. Kaya wala itong lugar sa provisioning mo. Mas kapaki-pakinabang ang unang sampung minuto sa bagong VPS kaysa rito.

May dalawang exception na dapat paghandaan. Ang una ay console na direktang nakakonekta sa machine. Karaniwang ipinapakita ng browser console sa provider panel ang sarili nito sa virtual machine bilang keyboard. Kaya dumarating ang mga key press bilang scancode, at ang sariling console keymap ng server ang nagpapasya kung anong character ang lilitaw. Ito ang tanging lugar kung saan nagkakabisa ang layout na itinakda sa server. Ito rin ang rescue path mo kapag hindi na gumagana ang SSH, kaya tunay na panganib ang hindi pa tapos na console keymap doon.

Iba ang serial console dahil mga character ang ipinapadala nito at ang local layout mo ang ginagamit. Ang ikalawang exception ay shared machine. System-wide ang console keymap, kaya kapag itinakda mo ang Colemak sa machine na ginagamit din ng ibang tao, mababago rin ito para sa kanila. Hindi nila malalaman kung bakit.

Ano ang nangyayari sa mga hjkl key ng Vim

Sa Colemak, hindi gumagalaw ang h. Gumagana ang iba pang tatlo. Nasa ilalim ng QWERTY Y ang j, nasa ilalim ng QWERTY N ang k, at nasa ilalim ng QWERTY U ang l, kaya nakakalat ang mga cursor key sa tatlong row sa halip na nasa ilalim ng apat na daliri.

May dalawang praktikal na sagot, at parehong may tunay na gumagamit.

Panatilihin ang mga default at kabisaduhin muli ang mga posisyon. Walang ibang masisira sa setup mo, patuloy na gagana ang bawat plugin, at mananatiling eksaktong naaangkop sa iyo ang bawat Vim tip na isinulat ng ibang tao.

O i-remap ang apat na key na nasa ilalim ng kanang kamay mo, kung saan dating naroon ang hjkl. Sa Colemak, ang mga pisikal na key na iyon ay nagbibigay ng h, n, e, at i. Sa Colemak-DH, nagbibigay ang parehong apat na pisikal na key ng m, n, e, at i dahil ipinagpalit ng DH ang H at M.

noremap n j
noremap e k
noremap i l
noremap l i
noremap k n

Ngayon, pababa ang galaw ng n, pataas ang e, pakanan ang i, at pakaliwa na dati pa ang h. Ibinabalik ng huling dalawang linya ang mga command na napalitan mo: sinisimulan ng l ang insert mode, at inuulit ng k ang huling search. Gawin din ito sa mga capital letter, kung hindi ay maaaring magdulot ng hindi inaasahang resulta ang Shift kasama ang isang cursor key.

May katulad na ginagawa ang langmap option ng Vim sa mas kaunting linya:

set langmap=nj,ek,il,li,kn

Ang bawat pares ay binabasa bilang character na tina-type mo, kasunod ang character na dapat pag-aksiyunan ng Vim. Para lamang ito sa normal mode, kaya normal pa ring nagta-type ng Colemak text ang insert mode. May dalawang limitasyong nakadokumento sa sariling help ng Vim: hindi naaangkop ang langmap sa mga kombinasyong may Ctrl o Alt, at maaaring magkaroon ng kakaibang asal ang mga plugin mapping na nakabatay sa mga default key.

Anuman ang piliin mo, isang beses ka lang pumili. Ang remap na iiwan mo pagkalipas ng isang buwan ay mangangailangan ng isa na namang buwan para matutuhan.

Ano ang nangyayari sa mga terminal shortcut

Galing sa character, hindi sa pisikal na key, ang terminal control code. Kaya sumusunod sa layout ang bawat Ctrl shortcut. Nananatili sa dating posisyon ang Ctrl+C, Ctrl+Z, Ctrl+X, at Ctrl+V dahil sadyang iniwan ng Colemak ang Z, X, C, at V sa mga posisyong ginagamit ng QWERTY.

Nagbabago ang posisyon ng apat na shortcut na ginagamit mo araw-araw. Ang Ctrl+D, na nagtatapos ng input, ay nasa posisyon na ginagamit ng QWERTY para sa G. Ang Ctrl+R, para sa history search, ay nasa posisyon ng QWERTY para sa S. Ang Ctrl+E, para sa dulo ng linya, ay nasa posisyon ng QWERTY para sa K. Ang Ctrl+U, na naglilinis ng linya, ay nasa posisyon ng QWERTY para sa I.

Nananatili ang default prefix ng tmux dahil hindi gumagalaw ang B sa Colemak. Sa Colemak-DH, gumagalaw ang B papunta sa top row, kaya sumusunod dito ang prefix. Ito ang unang mapapansin mo kung pananatilihin mo ang matagalang tmux session sa isang VPS. Isang linya lang ang kailangan para i-rebind ang prefix sa key na gusto mo. Mas madali ito kaysa sanayin muli ang parehong reflex nang dalawang beses.

Pareho ang sinusunod na tuntunin ng mga desktop shortcut. Gumagalaw kasabay ng layout ang binding na Super+E dahil character ang batayan nito. Nananatili sa dating posisyon ang binding na Super+F1 dahil hindi nire-remap ng layout ang mga function key.

Gaano katagal ang epekto ng paglipat

Walang makapagbibigay ng eksaktong bilang para sa iyong mga kamay. Ang touch typing ay memoryang motor. Hindi mo inaalam kung nasaan ang mga letra; binubuo mong muli ang reflex na nagko-convert ng isang salita sa pagkakasunod-sunod ng mga daliri. Kaya ang tanging nakatutulong na input ay oras na ginugol sa pagta-type.

Ayon sa mga ulat ng mga tao—mga self-reported practice log ito at hindi resulta ng controlled measurement—sa unang linggo, mas mababa sa kalahati ng dati nilang bilis ang karaniwang naaabot nila. Karaniwang nababalik ang dating bilis sa loob ng isa hanggang tatlong buwan ng araw-araw na paggamit. Malaki ang pagkakaiba-iba ng bawat tao, kaya ituring ang mga bilang na ito bilang pangkalahatang pattern, hindi bilang tiyak na iskedyul.

Dalawang gawi ang nagpapabagal dito. Kapag nagpapalit-palit ka sa pagitan ng QWERTY at Colemak sa loob ng araw, nananatiling mahina ang dalawang reflex. Kaya karamihan sa tuluyang lumilipat ay ganap na gumagamit ng iisang layout sa pangunahing machine nila. Kapag nagsimula ka sa abalang linggo, mapipilitan kang mabagal at mali mag-type dahil sa time pressure. Dahil dito, nasasanay kang tumingin sa mga key.

Ihanda ang paraan ng pagbabalik bago mo ito kailanganin. Karaniwang gugustuhin mong bumalik sa QWERTY sa mismong oras na may sira at may naghihintay.

Mabilis na paraan upang bumalik sa QWERTY

Sa X11, agad na ibinabalik ng setxkbmap us ang QWERTY. Sa console, ganoon din ang ginagawa ng sudo loadkeys us. Para alisin ang persistent setting, patakbuhin ang sudo localectl set-x11-keymap us.

Mas mainam ang toggle kaysa sa command na kailangan mong i-type gamit ang layout na hindi mo pa ma-type:

setxkbmap -layout us,us -variant colemak, -option grp:win_space_toggle

Ikinakarga nito ang Colemak bilang unang layout at ang plain US bilang pangalawa, at nagpapalipat-lipat sa mga ito ang Super+Space. Hindi typo ang trailing comma sa colemak,: itinatakda nito ang colemak variant para sa unang layout at walang variant para sa pangalawa. Sa GNOME, idagdag ang parehong input source sa Settings, kung saan awtomatikong nagpapalit ang Super+Space sa pagitan ng mga ito.

May dalawang password prompt na nasa labas ng iyong desktop session at kailangang asikasuhin nang hiwalay. Nagsisimula ang login greeter bago mailapat ang mga setting ng session, kaya subukan ito sa pamamagitan ng pag-log out sa halip na umasa sa setting. Kung naka-encrypt ang disk, tumatakbo ang passphrase prompt mula sa initramfs, na may sarili nitong kopya ng keymap. Sa Debian at Ubuntu, i-rebuild ito gamit ang sudo update-initramfs -u pagkatapos mong baguhin ang /etc/default/keyboard, saka isang beses na mag-reboot upang subukan ito habang mayroon ka pang ibang paraan para makapasok sa machine.

Maaari bang panatilihin sa QWERTY ang isang program?

Inilalapat ang layout bago makita ng application ang key. Ginagawang character ng X server o compositor ang scancode at ipinapasa ang character, kaya hindi makakahingi ang application ng ibang layout. Maaari lamang nitong i-remap ang natatanggap nito. Kaya nasa config ng Vim ang solusyon para sa Vim, at walang pangkalahatang per-window layout switch na maaaring gamitin.

May dalawang paraang gumagana. Ang una ay per device. Kung hiwalay na keyboard ang ginagamit para sa QWERTY typing, itakda ang layout sa device na iyon sa halip na sa buong system:

xinput list
setxkbmap -device 12 -layout us

Kunin ang id mula sa xinput list, at kumpirmahin ito sa pamamagitan ng pag-type sa bawat keyboard nang salitan. Tinatanggap ng sway ang parehong mga setting para sa bawat input identifier mula sa swaymsg -t get_inputs, at nananaig ang mas partikular na selector kaysa sa type:keyboard.

Ang ikalawang paraan ay gawin ang remap sa loob ng application, gaya ng ginagawa ng Vim sa langmap. Halos lahat ng laro ay may key binding screen, at mas mabilis i-rebind doon ang mga movement key kaysa subukang kontrolin ang layout mula sa labas. Para sa mga application na walang ganitong setting, i-bind ang layout toggle sa itaas at pindutin ito bago ilunsad ang application.

FAQ

Kailangan ko bang itakda ang Colemak sa aking VPS?

Hindi, kung ina-access mo ito gamit ang SSH. Mga character ang ipinapadala ng SSH, kaya nireresolba ang layout sa laptop mo bago maipadala ang anuman, at tinatanggap ng server ang parehong bytes na matatanggap nito mula sa gumagamit ng QWERTY. Ang eksepsiyon ay ang browser console sa panel ng iyong provider, na kumokonekta sa virtual machine bilang keyboard at gumagamit ng sariling console keymap ng server. Ang console na iyon ang rescue path mo kapag pumalya ang SSH, kaya baguhin lamang ito kung sigurado ka, at subukan ito habang gumagana pa ang SSH.

Dapat ko bang pag-aralan ang Colemak o Colemak-DH?

Pareho silang nangangailangan ng isang proseso ng muling pagkatuto mula sa QWERTY, kaya pumili batay sa kaginhawaan at hindi sa gastos ng migration. Inililipat ng Colemak-DH ang D, B at G at ipinagpapalit ang H at M, dahil tina-type ng plain Colemak ang D at H gamit ang pag-abot ng hintuturo papunta sa gitnang column. Ang mga pangalan ng XKB variant ay colemak at colemak_dh, habang colemak_dh_iso ang para sa mga keyboard na may dagdag na key sa tabi ng kaliwang shift. Patakbuhin ang localectl list-x11-keymap-variants us | grep colemak upang makita kung alin ang iniaalok ng iyong system.

Ano ang mangyayari sa mga hjkl key ng Vim sa Colemak?

Nananatili sa dati nitong puwesto ang h. Napupunta ang j sa ilalim ng Y ng QWERTY, ang k sa ilalim ng N ng QWERTY, at ang l sa ilalim ng U ng QWERTY, kaya kumakalat ang mga cursor key sa tatlong row. Maaari mong muling pag-aralan ang mga ito sa mga bagong puwesto, na nagpapanatiling valid sa bawat plugin at tutorial, o i-remap ang apat na key sa ilalim ng kanang kamay mo: h, n, e at i sa Colemak, at m, n, e at i sa Colemak-DH. Ginagawa ng langmap option ng Vim ang parehong gawain para sa normal mode, ngunit hindi ito naaangkop sa mga Ctrl combination at maaaring malito nito ang mga mapping ng plugin.

Gaano katagal bago ko muling maabot ang dati kong bilis ng pagta-type?

Asahan ang ilang linggo sa halip na ilang araw, dahil motor memory ito at practice lamang ang input. Karaniwang inilalarawan sa mga self-reported practice log ang unang linggo na mas mababa sa kalahati ng dating bilis, at ang pagbabalik sa dating bilis pagkatapos ng isa hanggang tatlong buwan ng araw-araw na paggamit. Pinatatagal ito ng salit-salitang paggamit ng QWERTY at Colemak araw-araw, dahil hindi nakakapag-settle ang alinmang reflex.

Bakit walang ginawa ang setxkbmap sa desktop ko?

Halos tiyak na dahil Wayland ang session. Sa Wayland, pagmamay-ari ng compositor ang keymap at ipinapasa nito ito sa bawat application, kaya maaaring hindi makahanap ng display ang setxkbmap o XWayland lamang ang mabago nito, habang binabalewala ito ng mga native application. Itakda ang layout sa compositor sa halip: ang org.gnome.desktop.input-sources gsettings key sa GNOME, xkb_variant sa sway config, o ang Layouts page sa System Settings ng KDE Plasma.

#colemak#keyboard#linux#terminal#productivity