SSD Nodes Learn Hosting plans →
Gidsen Matt ConnorDoor Matt Connor · Bijgewerkt 2026-08-28

Colemak instellen op Linux: console, X11 en Wayland

Leer hoe u Colemak correct configureert voor de Linux console, X11 en Wayland. Ontdek waarom SSH-servers geen layout nodig hebben en hoe u Vim-sneltoetsen behoudt na de overstap.

Waar een Colemak-indeling zich bevindt op Linux

Colemak op Linux is geen enkele, systeembrede instelling. De indeling wordt toegepast door het onderdeel dat op dat moment de invoer van het toetsenbord verwerkt. Daarom bevindt deze zich op een van de drie volgende locaties: de tekstconsole, de X11-server of uw Wayland-compositor. Als u de instelling op de verkeerde plek wijzigt, lijkt er niets te gebeuren.

Een vierde optie omzeilt het besturingssysteem volledig. Een toetsenbord dat de indeling in de eigen firmware aanpast, zoals een toetsenbord met QMK of VIA, verstuurt de codes voor de gewenste letters. Hierdoor typt elke machine waarop u het aansluit in Colemak, zonder enige configuratie, inclusief een serverconsole en machines waarvan u niet de eigenaar bent. Het nadeel is dat het toetsenbord van uw laptop in QWERTY blijft typen.

De rest van deze handleiding behandelt de drie softwarelagen, de reden waarom een externe server deze bijna nooit nodig heeft, en wat de overstap betekent voor Vim en uw terminal-sneltoetsen.

Controleer wat uw systeem al heeft

Voer deze commando's uit voordat u wijzigingen aanbrengt. Ze tonen de huidige instelling en de lijst met Colemak-varianten die uw X-toetsenborddatabase aanbiedt.

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

Het laatste commando hoort colemak en colemak_dh weer te geven. Colemak zit al jaren in xkeyboard-config. Colemak-DH werd toegevoegd in versie 2.34, dus alleen een verouderde release mist deze variant. Sinds augustus 2026 leveren zowel Ubuntu 24.04 als Debian 13 een nieuwere versie dan dat.

Als setxkbmap -query meldt dat het geen display kan openen, bevindt u zich in een Wayland-sessie en beheert de compositor de lay-out. Dat scenario heeft hieronder een eigen sectie.

Colemak of Colemak-DH

Colemak verplaatst zeventien toetsen ten opzichte van hun QWERTY-posities en laat er tien ongewijzigd, waaronder Z, X, C en V. Hierdoor blijven de sneltoetsen voor ongedaan maken, knippen, kopiëren en plakken op de plek waar uw linkerhand ze verwacht. Die compatibiliteit is de enige reden waarom de indeling er zo uitziet.

Colemak-DH is een aanpassing van Colemak. Het verplaatst D, B en G, en wisselt H met M om, omdat men bij de standaard Colemak zowel de D als de H typt door de wijsvinger uit te strekken naar de middelste kolom van het toetsenbord. De officiële aanpassing houdt elke letter op dezelfde vinger als in Colemak, waardoor een Colemak-typer die overstapt naar DH slechts een kleine wijziging ervaart in plaats van een volledig nieuwe indeling. De XKB-variant is colemak_dh, met colemak_dh_iso voor toetsenborden die een extra toets naast de linker shift-toets hebben.

Als u van QWERTY komt, is het bij beide opties een eenmalig leerproces; kies dus op basis van comfort en laat het daarbij. Een tweede keer van indeling wisselen kost ongeveer evenveel moeite als de eerste keer, omdat u het motorisch geheugen dat gekoppeld is aan toetsposities opnieuw moet opbouwen. Als u nog twijfelt of u QWERTY überhaupt moet verlaten, beslis dit dan met hoe Colemak, Dvorak en QWERTY zich verhouden voordat u een maand investeert in het opbouwen van dat motorisch geheugen.

Colemak instellen in X11 met setxkbmap en localectl

setxkbmap us -variant colemak
setxkbmap -query

setxkbmap -query zou nu variant: colemak moeten rapporteren en het typen in elk venster zou Colemak-letters moeten produceren. De wijziging blijft actief zolang de X-sessie duurt en schrijft niets naar de schijf, wat dit de veilige manier maakt om de lay-out een uur lang uit te proberen.

Om de instelling na een herstart te behouden:

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

De volgorde van de argumenten is lay-out, dan model, dan variant. localectl status zou nu X11 Layout: us en X11 Variant: colemak moeten tonen. localectl zet de keuze ook om naar de meest overeenkomstige console-keymap, tenzij u --no-convert toevoegt, dus op veel systemen dekt dit ene commando ook de tty. Controleer op Debian en Ubuntu daarna /etc/default/keyboard, omdat dat het bestand is dat console-setup bij het opstarten inleest.

Colemak instellen op Wayland

Een Wayland-sessie heeft geen X-server om te configureren. De compositor laadt de keymap en geeft deze door aan elke applicatie; de lay-out is daarom een instelling van de compositor. Dit is de reden waarom setxkbmap daar niet werkt: het commando vindt geen display of wijzigt alleen XWayland, terwijl uw native Wayland-applicaties de wijziging negeren.

Op GNOME is de instelling een gsettings-key:

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

Deze wordt direct toegepast, zonder dat u hoeft uit te loggen. De string us+colemak is de lay-out en de variant, verbonden met een plusteken.

Op sway plaatst u dit in ~/.config/sway/config:

input type:keyboard {
    xkb_layout us
    xkb_variant colemak_dh
}

Herlaad met swaymsg reload. swaymsg -t get_inputs toont elk invoerapparaat met de bijbehorende lay-out; dit is de controle die u uitvoert wanneer slechts één toetsenbord niet naar behoren werkt.

Op KDE Plasma opent u Systeeminstellingen, vervolgens Toetsenbord, dan Indelingen, en voegt u English (US) toe met de Colemak-variant.

Colemak instellen op de tekstconsole

De console is de tekst-tty die u bereikt met Ctrl+Alt+F3; deze behoudt een eigen toetsenbordindeling. Instellingen in X11 of een compositor hebben hier geen invloed op, wat van belang is als u werkt op een terminal-werkstation op een kale virtuele console.

Bewerk op Debian en Ubuntu /etc/default/keyboard:

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

Pas de wijziging vervolgens toe:

sudo setupcon

Typ op de console om dit te bevestigen. console-setup zet deze XKB-beschrijving om naar een console-keymap met ckbcomp, waardoor de console en X op deze systemen dezelfde beschrijving delen.

Vraag op distributies die direct gebruikmaken van kbd-keymaps eerst de naam op:

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

Het pakket kbd levert de Colemak-consolemap als i386/colemak/en-latin9, dus de naam die u opgeeft is doorgaans en-latin9 en niet colemak. Geef een naam op die in de lijst voorkomt, aangezien een niet-bestaande naam wordt geweigerd.

sudo loadkeys en-latin9 wijzigt de huidige console onmiddellijk en sudo loadkeys us herstelt deze. Beschouw loadkeys eerder als een test dan als een configuratie: de wijziging blijft van kracht tot de volgende herstart, en op Debian en Ubuntu herstelt de uitvoering van setupcon tijdens het opstarten de instellingen zoals gedefinieerd in /etc/default/keyboard.

Heeft een headless VPS een Colemak-indeling nodig?

Bijna nooit, en het is belangrijk om te begrijpen waarom. SSH verstuurt tekens, geen toetsenbordposities. Uw terminalemulator ontvangt de toetsaanslag, uw lokale toetsenbordindeling zet deze om in een teken, en alleen dat teken wordt over de verbinding verstuurd. De server ontvangt n zonder dat deze kan achterhalen welke fysieke toets dit heeft gegenereerd. De indeling die u op uw laptop instelt, volgt u dus in elke SSH-sessie, in tmux en in elke editor die u op afstand gebruikt; de externe machine heeft zelf geen toetsenbordconfiguratie nodig.

Houd hier rekening mee voordat u toetsenbordbestanden op productieservers gaat bewerken. Als u een vloot Linux-servers beheert, hoort de toetsenbordindeling bij de machine waar u voor zit en niet bij de vloot; het heeft dus geen plaats in uw provisioning. De eerste tien minuten op een nieuwe VPS zijn nuttiger besteed dan hieraan.

Er zijn twee uitzonderingen waar u rekening mee moet houden. De eerste is een console die direct met de machine is verbonden. De browserconsole in een beheerpaneel van een provider presenteert zich doorgaans als een toetsenbord aan de virtuele machine. Toetsaanslagen komen hierbij aan als scancodes en de console-keymap van de server bepaalt welk teken verschijnt. Dit is de enige plek waar een op de server ingestelde indeling effect heeft, en het is tevens uw reddingspad wanneer SSH niet meer werkt. Een onvolledige console-keymap vormt hier dus een reëel risico.

Een seriële console gedraagt zich anders, omdat deze tekens verstuurt en uw lokale indeling van toepassing blijft. De tweede uitzondering is een gedeelde machine. Een console-keymap is systeembreed; het instellen van Colemak op een machine waar anderen op inloggen, wijzigt de instelling ook voor hen, en zij zullen niet begrijpen waarom.

Wat gebeurt er met de hjkl-toetsen van Vim

Op Colemak beweegt h niet. De andere drie doen dat wel. j bevindt zich onder de Y van QWERTY, k onder de N van QWERTY en l onder de U van QWERTY. Hierdoor zijn de cursortoetsen verspreid over drie rijen in plaats van dat ze onder vier vingers liggen.

Er zijn twee werkbare oplossingen en beide hebben actieve gebruikers.

Behoud de standaardinstellingen en leer de posities opnieuw aan. Niets in uw configuratie raakt defect, elke plugin blijft werken en elke Vim-tip die door anderen is geschreven, is ongewijzigd op u van toepassing.

Of wijzig de toewijzing van de vier toetsen die onder uw rechterhand liggen naar de plek waar hjkl voorheen zat. Op Colemak geven deze toetsen h, n, e en i. Op Colemak-DH geven dezelfde vier fysieke toetsen m, n, e en i, omdat DH de H en M heeft omgewisseld.

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

n beweegt nu naar beneden, e beweegt naar boven, i beweegt naar rechts en h was al links. De laatste twee regels herstellen de commando's die u heeft verplaatst: l start de invoegmodus en k herhaalt de laatste zoekopdracht. Pas hetzelfde toe op de hoofdletters, anders zal Shift in combinatie met een cursortoets u verrassen.

De langmap-optie van Vim doet hetzelfde in minder regels:

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

Elk paar wordt gelezen als het teken dat u heeft getypt, gevolgd door het teken waarop Vim moet reageren. Dit is alleen van toepassing op de normale modus, waardoor de invoegmodus nog steeds normaal Colemak-tekst typt. Twee beperkingen staan gedocumenteerd in de eigen help van Vim: langmap is niet van toepassing op Ctrl- of Alt-combinaties en plugin-mappings die zijn geschreven voor de standaardtoetsen kunnen zich hierbij onvoorspelbaar gedragen.

Welke optie u ook kiest, kies één keer. Een wijziging die u na een maand weer ongedaan maakt, kost u nog een maand extra tijd.

Wat gebeurt er met terminal-sneltoetsen

Een terminal-besturingscode is afkomstig van het teken, niet van de fysieke toets. Daarom verhuizen alle Ctrl-sneltoetsen mee met de lay-out. Ctrl+C, Ctrl+Z, Ctrl+X en Ctrl+V behouden hun posities, omdat Colemak de Z, X, C en V bewust op dezelfde plek laat als bij QWERTY.

Vier sneltoetsen die u dagelijks gebruikt, verplaatsen wel. Ctrl+D, dat de invoer beëindigt, bevindt zich nu op de plek waar QWERTY de G heeft. Ctrl+R, de zoekfunctie voor de geschiedenis, zit op de plek van de S bij QWERTY. Ctrl+E, einde van de regel, zit op de plek van de K bij QWERTY. Ctrl+U, dat de regel wist, zit op de plek van de I bij QWERTY.

tmux behoudt zijn standaard prefix, omdat de B niet verplaatst in Colemak. Bij Colemak-DH verplaatst de B naar de bovenste rij en verhuist de prefix mee; dit is het eerste wat u zult merken als u een langlopende tmux-sessie op een VPS behoudt. Het opnieuw toewijzen van de prefix aan een toets naar keuze is een wijziging van één regel, en dit is eenvoudiger dan dezelfde reflex twee keer opnieuw aanleren.

Bureaublad-sneltoetsen volgen dezelfde regel. Een koppeling op Super+E verhuist mee met de lay-out, omdat deze wordt gedefinieerd door het teken. Een koppeling op Super+F1 blijft op zijn plek, omdat functietoetsen niet worden heringedeeld door de lay-out.

Hoe lang de overstap duurt

Niemand kan u een exact tijdsbestek geven voor het aanleren van een nieuwe toetsenbordindeling. Blind typen is gebaseerd op spiergeheugen. U leert niet waar de letters staan, maar u bouwt het reflex opnieuw op dat een woord omzet in een reeks vingerbewegingen. De enige factor die hierbij helpt, is de tijd die u besteedt aan het typen.

Wat gebruikers rapporteren — waarbij het gaat om zelf bijgehouden oefenlogs en geen gecontroleerde metingen — is dat de snelheid in de eerste week ver onder de helft van de oude snelheid ligt. Een terugkeer naar de oorspronkelijke snelheid vindt doorgaans plaats na één tot drie maanden dagelijks gebruik. De spreiding tussen individuen is groot, dus beschouw deze cijfers als een indicatie en niet als een vast schema.

Twee gewoontes vertragen het proces. Het afwisselen tussen QWERTY en Colemak gedurende de dag houdt beide reflexen zwak. De meeste mensen die de overstap succesvol afronden, stappen daarom volledig over op hun hoofdcomputer. Beginnen tijdens een drukke week betekent dat u onder tijdsdruk slecht typt, waardoor u uzelf aanleert om naar de toetsen te kijken.

Zorg dat u de weg terug naar QWERTY heeft ingericht voordat u deze nodig heeft. Het moment dat u QWERTY weer wilt gebruiken, is namelijk het moment dat er iets kapot is en er iemand op u wacht.

Hoe u snel terugschakelt naar QWERTY

In X11 herstelt setxkbmap us direct de QWERTY-indeling. Op de console doet sudo loadkeys us hetzelfde. Om de permanente instelling ongedaan te maken, voert u sudo localectl set-x11-keymap us uit.

Een schakelaar is handiger dan een commando dat u moet typen in een indeling die u nog niet kunt gebruiken:

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

Dit laadt Colemak als de eerste indeling en standaard US als de tweede, waarbij Super+Space tussen beide wisselt. De afsluitende komma in colemak, is geen typefout: deze geeft de eerste indeling de colemak-variant en de tweede indeling geen variant. Voeg in GNOME beide invoerbronnen toe in de Instellingen, waar Super+Space ze al voor u wisselt.

Twee wachtwoordprompts bevinden zich buiten uw desktopsessie en vereisen afzonderlijke aandacht. Het inlogscherm start voordat uw sessie-instellingen worden toegepast; test dit daarom door uit te loggen in plaats van op de instelling te vertrouwen. Als de schijf is versleuteld, wordt de wachtwoordprompt uitgevoerd vanuit de initramfs, die een eigen kopie van de keymap bevat. Op Debian en Ubuntu herbouwt u deze met sudo update-initramfs -u nadat u /etc/default/keyboard heeft gewijzigd. Start daarna eenmaal opnieuw op om te testen terwijl u nog een andere manier heeft om toegang te krijgen tot de machine.

Kan ik één programma op QWERTY laten staan?

De toetsenbordindeling wordt toegepast voordat een applicatie de toetsaanslag ontvangt. De X server of de compositor zet een scancode om in een teken en geeft dit teken door; een applicatie kan daarom niet om een andere indeling vragen. De applicatie kan alleen de ontvangen invoer opnieuw toewijzen. Dit is de reden waarom de Vim-oplossing in de configuratie van Vim staat en waarom er geen algemene schakelaar per venster beschikbaar is.

Er zijn twee benaderingen die wel werken. De eerste is per apparaat. Als het QWERTY-typen op een apart toetsenbord gebeurt, stel de indeling dan in op dat specifieke apparaat in plaats van op systeemniveau:

xinput list
setxkbmap -device 12 -layout us

Neem het id uit xinput list en controleer dit door op elk toetsenbord om de beurt te typen. sway accepteert dezelfde instellingen per invoer-identifier uit swaymsg -t get_inputs, waarbij een specifiekere selector voorrang krijgt boven type:keyboard.

De tweede benadering is om de hermapping binnen de applicatie uit te voeren, zoals langmap van Vim doet. Games hebben bijna altijd een scherm voor toetsbindingen; het opnieuw instellen van de bewegingstoetsen kost daar minder tijd dan het van buitenaf bevechten van de indeling. Voor applicaties die geen van beide opties bieden, kunt u de hierboven genoemde schakelaar voor de indeling gebruiken en deze indrukken voordat u het programma start.

FAQ

Moet ik Colemak instellen op mijn VPS?

Nee, als u deze via SSH benadert. SSH verstuurt tekens; uw toetsenbordindeling wordt op uw laptop verwerkt voordat er iets wordt verzonden. De server ontvangt dezelfde bytes als bij een QWERTY-toetsenbord. De uitzondering is de browserconsole in het paneel van uw provider. Deze maakt verbinding met de virtuele machine als een toetsenbord en gebruikt de eigen console-keymap van de server. Die console is uw reddingspad wanneer SSH faalt. Wijzig deze instelling dus alleen als u zeker van uw zaak bent en test het terwijl SSH nog werkt.

Moet ik Colemak of Colemak-DH leren?

Beide vereisen dat u opnieuw leert typen vanaf QWERTY, dus kies op basis van comfort in plaats van migratiekosten. Colemak-DH verplaatst D, B en G en wisselt H met M, omdat standaard Colemak vereist dat u D en H typt met een uitrekking van de wijsvinger naar de middelste kolom. De XKB-variantnamen zijn colemak en colemak_dh, met colemak_dh_iso voor toetsenborden die een extra toets naast de linker shift hebben. Voer localectl list-x11-keymap-variants us | grep colemak uit om te zien welke varianten uw systeem aanbiedt.

Wat gebeurt er met de hjkl-toetsen van Vim op Colemak?

h blijft op zijn plek. j verplaatst zich naar de positie van de QWERTY Y, k naar de QWERTY N, en l naar de QWERTY U. Hierdoor verspreiden de cursortoetsen zich over drie rijen. U kunt ze opnieuw aanleren op hun nieuwe positie, waardoor elke plugin en tutorial geldig blijft. U kunt ook de vier toetsen onder uw rechterhand opnieuw mappen: h, n, e en i op Colemak, en m, n, e en i op Colemak-DH. De langmap-optie van Vim doet hetzelfde voor de normale modus, hoewel dit niet geldt voor Ctrl-combinaties en het plugin-mappings in de war kan sturen.

Hoe lang duurt het voordat ik weer op mijn oude snelheid typ?

Houd rekening met weken in plaats van dagen, omdat dit draait om spiergeheugen en de enige manier om dit te trainen is door te oefenen. Gebruikersrapporten beschrijven vaak een eerste week met een snelheid die ver onder de helft van de oude snelheid ligt, en een terugkeer naar het oude niveau na één tot drie maanden dagelijks gebruik. Wisselen tussen QWERTY en Colemak op één dag vertraagt dit proces, omdat geen van beide reflexen zich kan settelen.

Waarom deed setxkbmap niets op mijn desktop?

Dit komt vrijwel zeker doordat de sessie Wayland gebruikt. Onder Wayland beheert de compositor de keymap en pusht deze naar elke applicatie. Hierdoor kan setxkbmap het display niet vinden of wijzigt het alleen XWayland, terwijl native applicaties de wijziging negeren. Stel de indeling in de compositor in: de org.gnome.desktop.input-sources gsettings-sleutel op GNOME, xkb_variant in de sway-configuratie, of de pagina Layouts in de Systeeminstellingen van KDE Plasma.