Présentation générale
L’exploitation d’agencements de touches XKB sophistiqués au sein des consoles virtuelles Linux (TTY) requiert une conversion préalable vers un format binaire ou textuel interprétable par le sous-système de console. L’utilitaire ckbcomp se charge précisément de compiler ces règles pour les rendre directement utilisables en mode texte. Plutôt que de décrypter une page de manuel aride, ce tutoriel pratique détaille la procédure pas à pas : de l’installation des dépendances à l’ajustement de variantes linguistiques, sans oublier la permutation ergonomique de touches (comme CapsLock en Control) et l’activation immédiate via loadkeys.
1. Déploiement des dépendances et génération du modèle US de base
La manipulation et l’injection de tables de caractères en console virtuelle reposent sur trois paquets fondamentaux : console-setup, kbd et xkb-data. Initialisez l’environnement en exécutant la commande suivante :

Le programme ckbcomp analyse les fichiers sources XKB pour produire en sortie standard une table de correspondances directement exploitable par loadkeys.
Pour inspecter la structure interne d’une disposition américaine classique, nous redirigeons le résultat vers head -n 30 afin d’observer les trente premières définitions de touches.
⚙️ [Paramètres essentiels]
-model : Définit le type matériel du clavier ciblé (par exemple pc105 ou pc104).-variant : Sélectionne une déclinaison spécifique de la disposition (comme dvorak ou colemak).-option : Injecte des ajustements comportementaux XKB complémentaires (notamment ctrl:nocaps).-charmap : Spécifie le jeu de caractères pour l’encodage du keymap produit (UTF-8, ISO-8859-1, etc.).-compact : Rationalise la taille du fichier final en fusionnant les assignations de touches redondantes.-freebsd : Génère une table compatible avec le pilote de console FreeBSD plutôt que Linux.

2. Adaptation selon le modèle matériel (-model) et les variantes nationales (-variant)
Pour générer une table adaptée à un matériel standard à 105 touches configuré pour la langue coréenne, associez l’option -model pc105 au sélecteur -layout kr.
Le flux généré permet de vérifier la correspondance entre chaque code de touche numérique, la valeur Unicode assignée et le comportement sous différentes combinaisons de modificateurs.

Dans le cas d’une configuration germanique (-layout de), l’argument -variant nodeadkeys neutralise le mécanisme des touches mortes.
Cette modification garantit que la frappe d’un accent circonflexe ou d’un tréma affiche immédiatement le symbole graphique correspondant, sans temporisation ni attente d’une voyelle combinable.

3. Personnalisation avancée : réaffectation de la touche Verr. Maj en Contrôle
L’utilisation du modificateur -option ctrl:nocaps transforme la touche Verr. Maj (CapsLock) en une touche Contrôle additionnelle. En examinant le résultat à l’aide de grep, on constate l’absence totale du symbole Caps_Lock :
La touche d’origine ayant été intégralement convertie en Control, aucune occurrence de verrouillage des majuscules n’apparaît dans la configuration résultante.

Si vous souhaitez plutôt intervertir réciproquement les deux touches, recourez au paramètre -option ctrl:swapcaps et filtrez les symboles concernés.
On observe alors que l’emplacement natif de Contrôle (keycode 29) hérite désormais de l’instruction Caps_Lock, confirmant la permutation fonctionnelle bilatérale des deux contrôleurs.

4. Sauvegarde de la table compilée et chargement immédiat via loadkeys
Avant d’archiver vos tables de conversion, organisez l’arborescence locale en créant un dossier dédié via la commande mkdir -p ~/keymaps.

Compilez la disposition US pourvue de la substitution CapsLock vers Control, puis déversez le flux de sortie dans le fichier ~/keymaps/custom_us.map au moyen de la redirection standard (>).

Afin d’optimiser l’occupation mémoire et l’espace disque tout en conservant le fichier brut, compressez la table résultante à l’aide de gzip -fk ~/keymaps/custom_us.map.

Un simple examen avec ls -lh ~/keymaps/custom_us.map* illustre l’efficacité du procédé :
Le document texte initial d’environ 120 Ko se trouve réduit à une archive compacte de 4,0 Ko, prête à l’emploi.

Appliquez sans délai cette nouvelle configuration au terminal virtuel courant via sudo loadkeys ~/keymaps/custom_us.map.
L’opération s’achève silencieusement, rendant la réaffectation de la touche CapsLock en touche Control immédiatement opérationnelle dans votre session console.

Vous disposez dorénavant d’une méthode reproductible et élégante pour compiler et déployer n’importe quel profil XKB sur la console Ubuntu via ckbcomp. Ce workflow structuré vous affranchit des documentations nébuleuses et garantit un confort de frappe sur mesure, y compris sur les systèmes dépourvus de serveur graphique.