SSD Nodes Learn Hosting plans →
Guides Matt ConnorPar Matt Connor · Mis à jour le 2026-08-22

Passer à Colemak sous Linux : console, X11 et Wayland

Configurez Colemak dans la console Linux, X11 ou Wayland, comprenez pourquoi SSH n’en a pas besoin et vérifiez l’impact sur Vim, hjkl et les touches Ctrl.

Emplacement d’une disposition Colemak sous Linux

Sous Linux, Colemak n’est pas un réglage unique à l’échelle du système. La disposition est appliquée par le composant qui lit le clavier à ce moment-là. Elle se trouve donc à l’un des trois endroits suivants : la console texte, le serveur X11 ou votre compositeur Wayland. Si vous la configurez au mauvais endroit, rien ne semble se produire.

Une quatrième option contourne complètement le système d’exploitation. Un clavier qui remappe les touches dans son propre firmware, par exemple un modèle exécutant QMK ou VIA, envoie les codes correspondant aux lettres souhaitées. Chaque machine à laquelle vous le branchez utilise alors Colemak sans aucune configuration, y compris une console de serveur et une machine qui ne vous appartient pas. En contrepartie, le clavier de votre ordinateur portable continue à utiliser QWERTY.

La suite de ce guide couvre les trois couches logicielles, explique pourquoi un serveur distant n’a presque jamais besoin de ces réglages et décrit l’effet du changement sur Vim et sur les raccourcis de votre terminal.

Vérifiez ce que votre système possède déjà

Exécutez ces commandes avant de modifier quoi que ce soit. Elles affichent le réglage actuel et la liste des variantes Colemak proposées par votre base de données X keyboard.

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

La dernière commande doit afficher colemak et colemak_dh. Colemak est intégré à xkeyboard-config depuis des années. Colemak-DH a été ajouté dans la version 2.34. Seule une version ancienne peut donc ne pas le proposer. En août 2026, Ubuntu 24.04 et Debian 13 fournissent tous deux une version plus récente.

Si setxkbmap -query indique qu’il ne peut pas ouvrir un display, vous êtes dans une session Wayland et le compositor gère la disposition. Ce cas fait l’objet d’une section distincte ci-dessous.

Colemak ou Colemak-DH

Colemak déplace dix-sept touches par rapport à leur position QWERTY et en laisse dix inchangées, notamment Z, X, C et V. Les raccourcis d’annulation, de coupe, de copie et de collage restent ainsi là où votre main gauche s’attend à les trouver. Cette compatibilité explique entièrement la disposition du clavier.

Colemak-DH est une modification de Colemak. Elle déplace D, B et G, et échange H avec M, car Colemak standard fait taper D et H en étendant un index vers la colonne centrale du clavier. Le mod officiel conserve chaque lettre sous le même doigt que dans Colemak. Une personne qui utilise Colemak et passe à DH doit donc s’adapter à un changement limité, et non apprendre une nouvelle disposition. La variante XKB est colemak_dh, avec colemak_dh_iso pour les claviers qui disposent d’une touche supplémentaire à côté de la touche Maj gauche.

Depuis QWERTY, les deux dispositions demandent un seul apprentissage. Choisissez donc celle qui vous semble la plus confortable, puis n’en changez plus. Changer de disposition une seconde fois demande à peu près le même effort que la première fois, car vous reconstruisez une mémoire motrice liée à la position des touches. Si vous hésitez encore à quitter QWERTY, consultez la comparaison entre Colemak, Dvorak et QWERTY avant de consacrer un mois à reconstruire cette mémoire motrice.

Définir Colemak dans X11 avec setxkbmap et localectl

setxkbmap us -variant colemak
setxkbmap -query

setxkbmap -query doit maintenant afficher variant: colemak, et la saisie dans n’importe quelle fenêtre doit produire les caractères Colemak. La modification reste active pendant toute la session X et n’écrit rien sur disque. C’est donc la méthode sûre pour tester cette disposition pendant une heure.

Pour la conserver après les redémarrages :

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

L’ordre des arguments est le suivant : disposition, puis modèle, puis variante. localectl status doit maintenant afficher X11 Layout: us et X11 Variant: colemak. localectl convertit également ce choix vers la keymap console la plus proche, sauf si vous ajoutez --no-convert. Sur de nombreux systèmes, cette seule commande configure donc aussi le tty. Sur Debian et Ubuntu, vérifiez ensuite /etc/default/keyboard, car c’est le fichier lu par console-setup au démarrage.

Définir Colemak sous Wayland

Une session Wayland n’a pas de serveur X à configurer. Le compositeur charge la keymap et la transmet à chaque application. La disposition est donc un paramètre du compositeur. C’est pourquoi setxkbmap semble ne pas fonctionner : la commande ne trouve pas de display, ou elle ne modifie que XWayland, tandis que vos applications Wayland natives l’ignorent.

Sous GNOME, le paramètre est une clé gsettings :

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

La modification s’applique immédiatement, sans déconnexion. La chaîne us+colemak contient la disposition et la variante, séparées par un signe plus.

Sous sway, ajoutez-la dans ~/.config/sway/config :

input type:keyboard {
    xkb_layout us
    xkb_variant colemak_dh
}

Rechargez la configuration avec swaymsg reload. swaymsg -t get_inputs liste tous les périphériques d’entrée avec la disposition qu’ils utilisent. C’est la commande à exécuter lorsqu’un seul clavier fonctionne mal.

Sous KDE Plasma, ouvrez Paramètres système, puis Clavier, puis Dispositions, et ajoutez English (US) avec la variante Colemak.

Définir Colemak sur la console texte

La console est le tty en texte brut auquel vous accédez avec Ctrl+Alt+F3. Elle utilise sa propre keymap. Les réglages effectués dans X11 ou dans un compositor ne s’y appliquent pas, ce qui est important si vous travaillez sur un environnement de terminal sur une console virtuelle brute.

Sur Debian et Ubuntu, modifiez /etc/default/keyboard :

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

Appliquez ensuite la modification :

sudo setupcon

Saisissez du texte sur la console pour vérifier le résultat. console-setup convertit cette description XKB en keymap de console avec ckbcomp. Sur ces systèmes, la console et X utilisent donc la même description.

Sur les distributions qui utilisent directement des keymaps kbd, commencez par rechercher le nom :

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

Le paquet kbd fournit la map de console Colemak sous le nom i386/colemak/en-latin9. Le nom à transmettre est donc généralement en-latin9, et non colemak. Utilisez un nom présent dans la liste, car un nom inexistant est rejeté.

sudo loadkeys en-latin9 modifie immédiatement la console active, et sudo loadkeys us restaure la configuration précédente. Considérez loadkeys comme un test, pas comme une configuration permanente : le réglage tient jusqu’au redémarrage. Au démarrage, l’exécution de setupcon sur Debian et Ubuntu restaure la valeur définie par /etc/default/keyboard.

Un VPS sans interface graphique a-t-il besoin d’une disposition Colemak ?

Presque jamais, et il est utile d’en comprendre la raison. SSH transmet des caractères, pas des positions de touches. Votre émulateur de terminal reçoit la frappe, votre disposition locale la transforme en caractère, et seul ce caractère circule sur la connexion. Le serveur reçoit n sans pouvoir savoir quelle touche physique l’a produit. La disposition définie sur votre ordinateur portable vous suit donc dans chaque session SSH, dans tmux et dans chaque éditeur que vous exécutez à distance. La machine distante n’a besoin d’aucune configuration de clavier.

Gardez cela à l’esprit avant de commencer à modifier les fichiers de clavier sur des serveurs de production. Si vous administrez un parc de serveurs Linux, la disposition appartient à la machine devant vous, pas au parc. Elle n’a donc pas sa place dans votre provisioning. Les dix premières minutes sur un nouveau VPS permettent de faire des tâches plus utiles que celle-ci.

Deux exceptions doivent être prévues. La première concerne une console connectée directement à la machine. La console accessible depuis le navigateur, dans le panneau du fournisseur, se présente généralement à la machine virtuelle comme un clavier. Les frappes arrivent donc sous forme de scancodes, et la keymap de la console du serveur détermine le caractère affiché. C’est le seul endroit où une disposition configurée sur le serveur prend effet. C’est aussi votre voie de secours lorsque SSH ne fonctionne plus. Une keymap de console incomplète constitue donc un risque réel.

Une console série se comporte différemment, car elle transmet des caractères et utilise votre disposition locale. La deuxième exception concerne une machine partagée. La keymap de la console s’applique à tout le système. Configurer Colemak sur une machine à laquelle d’autres personnes se connectent la modifie donc aussi pour elles, sans qu’elles sachent nécessairement pourquoi.

Ce que deviennent les touches hjkl de Vim

Sur Colemak, h ne déplace pas le curseur. Les trois autres le font. j se trouve sous le Y de QWERTY, k sous le N de QWERTY et l sous le U de QWERTY. Les touches de déplacement sont donc réparties sur trois rangées au lieu de se trouver sous quatre doigts.

Deux solutions fonctionnent, et chacune compte de vrais utilisateurs.

Conservez les valeurs par défaut et réapprenez les positions. Rien d’autre dans votre configuration ne change, tous les plugins continuent de fonctionner et tous les conseils Vim écrits par d’autres personnes restent applicables tels quels.

Vous pouvez aussi remapper les quatre touches situées sous votre main droite, à l’emplacement qu’occupaient hjkl. Avec Colemak, ces touches produisent h, n, e et i. Avec Colemak-DH, les mêmes touches physiques produisent m, n, e et i, car DH a échangé H et M.

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

n déplace maintenant le curseur vers le bas, e vers le haut et i vers la droite. h déplaçait déjà le curseur vers la gauche. Les deux dernières lignes réattribuent les commandes que vous avez déplacées : l active le mode insertion et k répète la dernière recherche. Appliquez le même traitement aux majuscules. Sinon, une combinaison de Shift avec une touche de déplacement peut produire un résultat inattendu.

L’option langmap de Vim permet d’obtenir un résultat similaire avec moins de lignes :

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

Chaque paire se lit comme le caractère que vous avez saisi, suivi du caractère que Vim doit interpréter. Elle s’applique uniquement au mode normal. Le mode insertion continue donc de saisir normalement le texte Colemak. L’aide intégrée de Vim documente deux limites : langmap ne s’applique pas aux combinaisons avec Ctrl ou Alt, et les mappings de plugins prévus pour les touches par défaut peuvent se comporter de manière inattendue avec cette option.

Quelle que soit votre solution, choisissez-en une et gardez-la. Un remapping abandonné après un mois vous coûte un mois supplémentaire.

Ce qui arrive aux raccourcis du terminal

Un code de contrôle du terminal dépend du caractère, pas de la touche physique. Chaque raccourci Ctrl se déplace donc avec la disposition. Ctrl+C, Ctrl+Z, Ctrl+X et Ctrl+V conservent leur position, car Colemak laisse volontairement Z, X, C et V à l’emplacement qu’ils occupent en QWERTY.

Quatre raccourcis que vous utilisez tous les jours changent de position. Ctrl+D, qui termine la saisie, se trouve désormais à l’emplacement de G en QWERTY. Ctrl+R, qui recherche dans l’historique, se trouve à l’emplacement de S en QWERTY. Ctrl+E, qui va en fin de ligne, se trouve à l’emplacement de K en QWERTY. Ctrl+U, qui efface la ligne, se trouve à l’emplacement de I en QWERTY.

tmux conserve son préfixe par défaut, car B ne change pas de position dans Colemak. Avec Colemak-DH, B passe sur la rangée supérieure et le préfixe se déplace avec lui. C’est la première chose que vous remarquerez si vous gardez une session tmux de longue durée sur un VPS. Modifier le préfixe pour utiliser une touche de votre choix ne demande qu’une ligne de configuration. C’est plus simple que de réapprendre deux fois le même réflexe.

Les raccourcis du bureau suivent la même règle. Un raccourci associé à Super+E se déplace avec la disposition, car il est défini par le caractère. Un raccourci associé à Super+F1 reste à la même position, car les touches de fonction ne sont pas remappées par la disposition.

Combien de temps prend le changement

Personne ne peut vous donner de durée précise pour la saisie au clavier. La frappe à dix doigts repose sur la mémoire motrice. Vous n’apprenez pas où se trouvent les lettres : vous reconstruisez le réflexe qui transforme un mot en une séquence de mouvements des doigts. Le seul facteur utile est donc le temps passé à taper.

D’après les retours disponibles, qui sont des journaux d’entraînement autodéclarés et non des mesures contrôlées, la vitesse reste généralement inférieure à la moitié de l’ancienne pendant la première semaine. Elle revient ensuite au niveau précédent après un à trois mois d’utilisation quotidienne. L’écart entre les personnes est important. Considérez donc ces chiffres comme une tendance, et non comme un calendrier.

Deux habitudes ralentissent la transition. Alterner entre QWERTY et Colemak au cours de la journée entretient mal les deux réflexes. La plupart des personnes qui terminent la transition utilisent donc exclusivement Colemak sur leur machine principale. Commencer pendant une semaine chargée vous oblige à taper maladroitement sous pression. Vous risquez alors de vous entraîner à regarder les touches.

Préparez le retour à QWERTY avant d’en avoir besoin. Le moment où vous voudrez à nouveau utiliser QWERTY sera probablement celui où quelque chose sera en panne et où quelqu’un attendra.

Comment revenir rapidement à QWERTY

Sous X11, setxkbmap us rétablit immédiatement QWERTY. Sur la console, sudo loadkeys us fait de même. Pour annuler le réglage persistant, exécutez sudo localectl set-x11-keymap us.

Un basculement est préférable à une commande que vous devez saisir avec une disposition que vous ne pouvez pas encore utiliser :

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

Cette commande charge Colemak comme première disposition et l’anglais américain standard comme deuxième disposition. Super+Space permet de passer de l’une à l’autre. La virgule finale dans colemak, n’est pas une erreur : elle attribue la variante colemak à la première disposition et aucune variante à la seconde. Sous GNOME, ajoutez les deux sources de saisie dans les paramètres. Super+Space permet alors déjà de basculer entre elles.

Deux invites de mot de passe s’exécutent en dehors de votre session de bureau et nécessitent une configuration distincte. L’écran de connexion démarre avant l’application des paramètres de votre session. Testez-le donc en vous déconnectant, plutôt que de vous fier au réglage. Si le disque est chiffré, l’invite de phrase secrète s’exécute depuis l’initramfs, qui possède sa propre copie de la keymap. Sous Debian et Ubuntu, reconstruisez-la avec sudo update-initramfs -u après avoir modifié /etc/default/keyboard, puis redémarrez une fois pour tester tant que vous disposez encore d’un autre moyen d’accéder à la machine.

Puis-je garder un programme en QWERTY ?

La disposition est appliquée avant que l’application ne reçoive la touche. Le serveur X ou le compositeur transforme un scancode en caractère, puis transmet ce caractère. L’application ne peut donc pas demander une autre disposition. Elle peut uniquement remapper ce qu’elle reçoit. C’est pourquoi la correction pour Vim se trouve dans la configuration de Vim, et pourquoi il n’existe pas de commutateur général de disposition par fenêtre.

Deux approches fonctionnent. La première concerne le périphérique. Si la saisie en QWERTY se fait sur un clavier distinct, définissez la disposition sur ce périphérique plutôt que sur le système :

xinput list
setxkbmap -device 12 -layout us

Récupérez l’identifiant avec xinput list, puis vérifiez-le en saisissant du texte sur chaque clavier à tour de rôle. sway accepte les mêmes paramètres pour chaque identifiant d’entrée avec swaymsg -t get_inputs, et un sélecteur plus spécifique est prioritaire sur type:keyboard.

La seconde approche consiste à effectuer le remappage dans l’application, comme le fait langmap de Vim. Les jeux proposent presque toujours un écran d’association des touches. Réaffecter les touches de déplacement à cet endroit prend moins de temps que de lutter contre la disposition depuis l’extérieur. Pour les applications qui n’offrent aucune de ces possibilités, associez le basculement de disposition ci-dessus et activez-le avant de lancer l’application.

FAQ

Dois-je configurer Colemak sur mon VPS ?

Non, si vous y accédez via SSH. SSH transporte les caractères. La disposition est donc appliquée sur votre ordinateur portable avant l’envoi, et le serveur reçoit les mêmes octets que ceux envoyés par une personne utilisant QWERTY. L’exception est la console du navigateur dans le panneau de votre fournisseur. Elle se connecte à la machine virtuelle comme un clavier et utilise la propre keymap de la console du serveur. Cette console est votre moyen de secours lorsque SSH ne fonctionne plus. Ne la modifiez que si vous en êtes sûr, et testez-la tant que SSH fonctionne encore.

Dois-je apprendre Colemak ou Colemak-DH ?

Dans les deux cas, il faut réapprendre la frappe à partir de QWERTY. Choisissez donc selon votre confort, et non selon le coût de la migration. Colemak-DH déplace D, B et G et permute H avec M, car Colemak standard impose de taper D et H avec un étirement de l’index vers la colonne centrale. Les noms des variantes XKB sont colemak et colemak_dh, avec colemak_dh_iso pour les claviers qui disposent d’une touche supplémentaire à côté de la touche Shift gauche. Exécutez localectl list-x11-keymap-variants us | grep colemak pour voir celles proposées par votre système.

Que deviennent les touches hjkl de Vim avec Colemak ?

h reste à sa place. j se trouve sous le Y de QWERTY, k sous le N de QWERTY et l sous le U de QWERTY. Les touches de déplacement du curseur sont donc réparties sur trois lignes. Vous pouvez les réapprendre à leur nouvel emplacement. Tous les plugins et tous les tutoriels restent alors valides. Vous pouvez aussi remapper les quatre touches situées sous votre main droite : h, n, e et i avec Colemak, et m, n, e et i avec Colemak-DH. L’option langmap de Vim fournit la même fonction en mode normal. Elle ne s’applique toutefois pas aux combinaisons avec Ctrl et peut provoquer des conflits avec les mappings des plugins.

Combien de temps faut-il pour retrouver mon ancienne vitesse de frappe ?

Comptez plutôt en semaines qu’en jours, car il s’agit de mémoire motrice et le seul moyen de progresser est de pratiquer. Les journaux d’entraînement publiés par les utilisateurs décrivent généralement une première semaine à moins de la moitié de l’ancienne vitesse, puis un retour à cette vitesse après un à trois mois d’utilisation quotidienne. Alterner chaque jour entre QWERTY et Colemak prolonge cette période, car aucun des deux automatismes n’a le temps de se stabiliser.

Pourquoi setxkbmap n’a-t-il rien changé sur mon bureau ?

Presque certainement parce que la session utilise Wayland. Sous Wayland, le compositor gère la keymap et la transmet à chaque application. setxkbmap ne trouve donc pas d’affichage ou ne modifie que XWayland, et les applications natives l’ignorent. Configurez plutôt la disposition dans le compositor : avec la clé gsettings org.gnome.desktop.input-sources sous GNOME, avec xkb_variant dans la configuration de sway, ou depuis la page Layouts des System Settings de KDE Plasma.