SSD Nodes Learn 🎉 VPS mula $5.50/buwan
Mga Gabay Matt ConnorNi Matt Connor · Na-update 2026-08-13

Paano I-set ang Colemak sa Linux Console, X11 at Wayland

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

Kung saan matatagpuan ang Colemak layout sa Linux

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

May ikaapat na option na lubusang lumalampas sa operating system. Ang keyboard na nagre-remap gamit ang 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 rito nang walang anumang configuration, kasama ang server console at machine na hindi mo pagmamay-ari. Ang kapalit nito ay QWERTY pa rin ang tina-type ng laptop keyboard mo.

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

Suriin kung ano na ang mayroon sa system

Patakbuhin muna ang mga ito bago magbago ng anuman. Ipi-print ng mga ito ang kasalukuyang setting at ang listahan ng mga Colemak variant na iniaalok ng 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. Ilang taon nang kasama ang Colemak sa xkeyboard-config. Dumating ang Colemak-DH sa version 2.34, kaya lumang release lamang ang maaaring walang ganitong variant. 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 section para sa kasong iyon sa ibaba.

Colemak o Colemak-DH

Inililipat ng Colemak ang labing-pitong key mula sa mga posisyon ng QWERTY at iniiwan ang sampu sa dati nitong lugar, kabilang ang Z, X, C, at V. Kaya nananatili sa inaasahang puwesto ng kaliwang kamay ang mga shortcut para sa undo, cut, copy, at paste. Iyan ang pangunahing dahilan kung bakit ganoon ang disenyo 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 isang hintuturo papunta sa gitnang column ng keyboard. Pinananatili ng official mod ang bawat letra sa parehong daliring ginagamit nito sa Colemak. Kaya para sa isang Colemak typist na lumilipat sa DH, maliit na pagbabago lamang ito sa halip na panibagong layout. Ang XKB variant ay colemak_dh, at colemak_dh_iso naman para sa mga keyboard na may karagdagang key sa tabi ng left shift.

Kung mula ka sa QWERTY, iisang proseso lang ng pag-aaral muli ang kailangan sa alinman sa dalawa. Kaya pumili batay sa komportable sa iyo at huwag nang patuloy na magpalit. Ang ikalawang pagpapalit ng layout ay halos kasingbigat ng una dahil ang binubuo mong muli ay motor memory na nakabatay sa mga posisyon ng key.

Itakda ang Colemak sa X11 gamit ang setxkbmap at localectl

setxkbmap us -variant colemak
setxkbmap -query

Dapat iulat na ngayon ng setxkbmap -query ang variant: colemak, at ang pagta-type sa anumang window ay dapat maglabas ng mga letrang Colemak. Nagagamit ang pagbabago habang aktibo ang X session at walang isinusulat sa disk, kaya ligtas itong gamitin para subukan ang layout nang isang oras.

Para manatili ito pagkatapos ng mga reboot:

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

Ang pagkakasunod-sunod ng mga argument ay layout, kasunod ang model, at pagkatapos ay variant. Dapat ipakita na ngayon ng localectl status ang X11 Layout: us at X11 Variant: colemak. Kino-convert din ng localectl ang piniling layout sa pinakamalapit na console keymap maliban kung idaragdag mo ang --no-convert, kaya sa maraming system, sapat na ang iisang command na ito para sa tty. Sa Debian at Ubuntu, tingnan ang /etc/default/keyboard pagkatapos, 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 ng compositor ang layout. Ito ang dahilan kung bakit mukhang hindi gumagana ang setxkbmap doon: maaaring hindi nito mahanap ang display, o XWayland lamang ang mabago nito, at hindi ito papansinin ng mga native Wayland application.

Sa GNOME, isang gsettings key ang setting:

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

Agad itong inilalapat nang hindi kailangang mag-logout. Ang string na us+colemak ay 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 bawat input device pati ang layout na ginagamit nito. Ito ang command na dapat patakbuhin kapag isang keyboard lamang ang hindi gumagana nang tama.

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 naaabot mo gamit ang Ctrl+Alt+F3, at sarili nitong keymap ang ginagamit nito. Walang setting sa X11 o sa compositor ang nakakaapekto rito, na mahalaga kung gumagamit ka ng 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 setting:

sudo setupcon

Mag-type sa console para kumpirmahin. Kino-convert ng console-setup ang XKB description na ito bilang console keymap gamit ang ckbcomp, kaya 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 at hindi colemak. Magpasa ng pangalang lumalabas sa listahan, dahil tatanggihan 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 test lamang at hindi configuration: nananatili ito hanggang sa reboot, at sa Debian at Ubuntu, ibinabalik ng boot-time setupcon run ang anumang nakasaad sa /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. Tinatanggap ng terminal emulator mo ang pagpindot sa key, ginagawang character ng local layout mo, at ang character na iyon lamang ang ipinapadala sa koneksyon. Tinatanggap ng server ang n nang walang paraan upang malaman kung aling physical key ang gumawa nito. Kaya ang layout na itinakda mo sa laptop ay sumusunod sa iyo sa bawat SSH session, sa tmux, at sa bawat editor na pinapatakbo mo remotely. Hindi na kailangan ng anumang keyboard configuration sa remote machine.

Tandaan ito bago ka magsimulang mag-edit ng mga keyboard file sa production box. Kung nagma-manage ka ng fleet ng 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 isang 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. Dahil dito, scancode ang dumarating, at ang sariling console keymap ng server ang nagpapasya kung aling 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 characters 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 isang box na ginagamit ng ibang tao, mababago rin ito para sa kanila, at hindi nila mahuhulaan kung bakit.

Ano ang nangyayari sa hjkl keys ng Vim

Sa Colemak, hindi gumagalaw ang h. Gumagana ang tatlo pa. Ang j ay nasa ilalim ng Y ng QWERTY, ang k ay nasa ilalim ng N ng QWERTY, at ang l ay nasa ilalim ng U ng QWERTY, kaya nakakalat sa tatlong row ang cursor keys sa halip na nasa ilalim ng apat na daliri.

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

Panatilihin ang default at pag-aralan muli ang mga posisyon. Walang ibang masisira sa setup mo, patuloy na gagana ang lahat ng plugin, at magagamit mo ang bawat Vim tip na isinulat ng ibang tao nang eksakto gaya ng pagkakasulat nito.

O i-remap ang apat na key na nasa ilalim ng kanang kamay mo, kung saan dating naroon ang hjkl. Sa Colemak, ang mga key na iyon ay nagbibigay ng h, n, e at i. Sa Colemak-DH, nagbibigay ang parehong apat na physical 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

Ang n ang ginagamit ngayon para bumaba, ang e para umakyat, ang i para pakanan, at dati nang ginagamit ang h para pakaliwa. Ibinabalik ng huling dalawang linya ang mga command na na-displace mo: sinisimulan ng l ang insert mode, at inuulit ng k ang huling search. Gawin din ang parehong remap sa mga capital letter, kung hindi ay maaaring magdulot ng sorpresa ang Shift kasama ang cursor key.

May katulad na function ang langmap option ng Vim, pero mas kaunti ang kailangang linya:

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

Binabasa ang bawat pair bilang character na tina-type mo, kasunod ang character na dapat i-apply ni Vim. Normal mode lamang ang naaapektuhan nito, kaya normal pa ring nagta-type ng Colemak text ang insert mode. May dalawang limitasyong nakadokumento sa sariling help ng Vim: hindi naaapektuhan ng langmap ang mga combination na may Ctrl o Alt, at maaaring maging kakaiba ang kilos ng mga plugin mapping na ginawa para sa default keys.

Anuman ang piliin mo, pumili ka nang isang beses. Ang remap na iiwan mo makalipas ang isang buwan ay mangangailangan ng panibagong buwan para masanay ka.

Ano ang nangyayari sa mga terminal shortcut

Nagmumula ang terminal control code sa character, hindi sa pisikal na key, kaya gumagalaw ang bawat Ctrl shortcut kasabay ng layout. Nananatili sa mga dating posisyon ang Ctrl+C, Ctrl+Z, Ctrl+X, at Ctrl+V dahil sadyang iniiwan ng Colemak ang Z, X, C, at V sa mga posisyong katumbas ng mga ito sa QWERTY.

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

Nananatili ang default prefix ng tmux dahil hindi gumagalaw ang B sa Colemak. Sa Colemak-DH, gumagalaw ang B sa top row, kaya gumagalaw din ang prefix nito. Ito ang unang mapapansin mo kung pananatilihin mong matagal na tumatakbong tmux session sa isang VPS. Isang line 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 rule ng desktop shortcut. Gumagalaw kasabay ng layout ang binding sa Super+E dahil character ang batayan ng definition nito. Nananatili sa dating posisyon ang binding sa Super+F1 dahil hindi nire-remap ng layout ang mga function key.

Gaano katagal ang magiging epekto ng paglipat

Walang makakapagbigay ng eksaktong bilang para sa bilis ng pag-type mo. Ang touch typing ay motor memory. Hindi mo inaaral kung nasaan ang mga letra. Binubuo mong muli ang reflex na nagko-convert ng salita sa sequence ng mga daliri. Kaya ang tanging nakakatulong ay ang oras na ginugugol sa pag-type.

Ang karaniwang iniuulat ng mga tao—mula sa sarili nilang practice logs at hindi mula sa controlled measurement—ay bilis na mas mababa sa kalahati ng dati nilang bilis sa unang linggo. Karaniwang bumabalik ang dating bilis makalipas ang 1 hanggang 3 buwan ng araw-araw na paggamit. Malaki ang pagkakaiba sa bawat tao. Ituring ang mga numerong ito bilang pangkalahatang pattern, hindi bilang eksaktong schedule.

Dalawang habit ang nagpapabagal sa proseso. Kapag nagpapalit-palit ka ng QWERTY at Colemak sa maghapon, parehong nananatiling mahina ang reflexes. Kaya karamihan sa mga tuluyang lumilipat ay buong ginagamit ang bagong layout sa pangunahing machine nila. Kapag nagsimula ka sa isang abalang linggo, mapipilitan kang mag-type nang mali dahil sa time pressure. Dahil dito, nasasanay kang tumingin sa mga key.

I-set up muna ang paraan para makabalik bago mo ito kailanganin. Kapag may nasira at may naghihintay, iyon mismo ang oras na gugustuhin mong gamitin muli ang QWERTY.

Paano mabilis na 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

I-load nito ang Colemak bilang unang layout at ang plain US bilang pangalawa, at nagpapalipat-lipat ang Super+Space sa mga ito. 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 dalawang input source sa Settings, kung saan ginagamit na ng Super+Space ang paglipat sa pagitan ng mga ito.

May dalawang password prompt na nasa labas ng iyong desktop session at nangangailangan ng hiwalay na pag-aasikaso. 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 encrypted 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, pagkatapos ay isang beses na mag-reboot para subukan ito habang mayroon ka pang ibang paraan para makapasok sa machine.

Maaari bang panatilihing QWERTY ang isang programa?

Inilalapat ang layout bago pa man 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 natanggap nito. Ito ang dahilan kung bakit nasa configuration ng Vim ang fix para sa Vim, at kung bakit walang pangkalahatang per-window layout switch na maaaring gamitin.

May dalawang pamamaraang gumagana. Ang una ay per device. Kung hiwalay na keyboard ang ginagamit sa pag-type ng QWERTY, 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 sunod-sunod. Tinatanggap ng sway ang parehong mga setting para sa bawat input identifier mula sa swaymsg -t get_inputs, at mananaig ang mas partikular na selector kaysa sa type:keyboard.

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

FAQ

Kailangan ko bang i-set ang Colemak sa aking VPS?

Hindi, kung ina-access mo ito gamit ang SSH. Nagpapadala ang SSH ng mga character, kaya nire-resolve ang layout sa iyong laptop bago may maipadala, at tumatanggap ang server ng parehong bytes na matatanggap nito mula sa QWERTY typist. Ang exception ay ang browser console sa panel ng iyong provider. Kumokonekta ito sa virtual machine bilang keyboard at ginagamit ang sariling console keymap ng server. Ang console na iyon ang rescue path mo kapag hindi gumagana ang SSH, kaya baguhin lamang ito kung sigurado ka, at i-test ito habang gumagana pa ang SSH.

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

Pareho itong nangangailangan ng isang proseso ng muling pagkatuto mula sa QWERTY, kaya pumili batay sa comfort at hindi sa migration cost. Inililipat ng Colemak-DH ang D, B, at G at ipinagpapalit ang H at M, dahil ang plain Colemak ay gumagamit ng pag-unat ng index finger papunta sa middle column para sa D at H. Ang mga pangalan ng XKB variant ay colemak at colemak_dh, at colemak_dh_iso para sa mga keyboard na may dagdag na key sa tabi ng left shift. Patakbuhin ang localectl list-x11-keymap-variants us | grep colemak upang makita kung alin ang available sa iyong system.

Ano ang mangyayari sa hjkl keys 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 bagong puwesto, para manatiling valid ang 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 rin ng langmap option ng Vim ang parehong trabaho para sa normal mode, ngunit hindi ito naaangkop sa mga Ctrl combination at maaari nitong lituhin ang mga plugin mapping.

Gaano katagal bago ako makapag-type muli sa dati kong bilis?

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 walang reflex na nakakapag-settle.

Bakit walang ginawa ang setxkbmap sa desktop ko?

Halos tiyak na dahil Wayland ang session. Sa Wayland, ang compositor ang may kontrol sa keymap at ipinapasa 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. I-set 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