Disposition clavier Ergopti
–

Ergonomie optimisée pour le français, l’anglais et le code

Utiliser Ergopti


Essayer la disposition en ligne

Chargement de magickey.toml…

Note : Après toute installation ou réinstallation, il est important de toujours penser à redémarrer son ordinateur. Cela permet d’être certain que la nouvelle version soit prise en compte et évite bien des problèmes.

Pour tout problème, vous pouvez être aidé sur le Serveur Discord .

Installation Windows

Le pilote ci-dessous a été réalisé à l'aide de KbdEdit. C'est un logiciel très complet qui permet de modifier des dispositions de clavier sur Windows. Il est en mesure de créer des pilotes pour Windows, et depuis peu pour Mac. Seul Linux n'est pas supporté.

Il suffit d'exécuter le fichier Ergopti_windows.exe et de cliquer sur le bouton d'installation pour installer le pilote sur Windows. Ensuite, il est conseillé de redémarrer l'ordinateur pour être sûr que le pilote soit bien pris en compte.

Screenshot d'installation du pilote KbdEdit

Après l'installation, se rendre dans Paramètres > Heure et langue > Langue et région et cliquer sur le … de la langue installée (ici Français (France)) :

Screenshot 1/2 des paramètres Windows 11 pour changer sa disposition de clavier

Cliquer ensuite sur Ajouter un clavier et sélectionner la version qui vient d'être ajoutée par l'installateur de KbdEdit :

Screenshot 2/2 des paramètres Windows 11 pour changer sa disposition de clavier

Il est conseillé de supprimer tous les claviers de cette liste avant d'ajouter celui d'Ergopti et ensuite éventuellement rajouter vos autres claviers comme AZERTY. Cela permettra de l'avoir comme clavier par défaut, étant en première position de la liste.

La disposition sera ensuite disponible dans le menu linguistique de la barre des tâches :

Screenshot du menu menu linguistique de la barre des tâches

Résolution de problèmes connus

Certains problèmes ont été rapportés avec le pilote Windows d'Ergopti dans quelques logiciels :

  • Microsoft Excel : Taper un + avec AltGr + P cause des problèmes d'édition de la cellule : tout ce qui est tapé avant disparaît et est remplacé par un +.
    ➜ Ce problème se résout en utilisant le driver Ergopti+ pour émuler la disposition et garantir que ce soit bien un symbole + qui soit envoyé et non un raccourci interne d'Excel qui interfère.

Installation macOS

Le driver Ergopti+ s'installe aussi avec Homebrew, en choisissant son canal de mises à jour :

brew tap adrienm7/ergopti
brew install --cask ergoptiplus       # versions stables
brew install --cask ergoptiplus@dev   # versions de développement

brew upgrade la met ensuite à jour avec vos autres applications, et elle garde aussi ses propres mises à jour (vérification manuelle ou automatique depuis son menu). Pour changer de canal, désinstaller un cask (brew uninstall --cask ergoptiplus@dev) puis installer l'autre : les réglages sont conservés.

Ce bundle doit être dézippé puis placé dans le dossier des extensions de clavier de macOS :

/Library/Keyboard Layouts/

Il est également possible de l'installer sans droits d'administrateur en plaçant le bundle dans le dossier utilisateur :

~/Library/Keyboard Layouts/

Pour naviguer rapidement vers ce chemin, il existe le raccourci Cmd + Shift + G dans le Finder. Cela ouvre directement l'emplacement spécifié.

Après avoir placé le bundle dans le bon dossier, redémarrer la session (ou l'ordinateur) pour que macOS prenne en compte la nouvelle disposition. Ensuite, aller dans Préférences Système > Clavier > Méthodes de saisie > Modifier… et ajouter une disposition en appuyant sur + en bas à gauche. Généralement, la disposition se trouvera dans la section « Français », mais elle peut aussi parfois se trouver dans « Autres ».

Screenshot 1/4 des paramètres macOS pour changer sa disposition de clavier
Screenshot 2/4 des paramètres macOS pour changer sa disposition de clavier
Screenshot 3/4 des paramètres macOS pour changer sa disposition de clavier
Screenshot 4/4 des paramètres macOS pour changer sa disposition de clavier

La disposition pourra ensuite être sélectionnée depuis la barre des tâches :

Screenshot de la sélection de clavier dans la barre des tâches

Le bundle contient plusieurs variantes de la disposition :

  • Ergopti : version standard, la même que le KbdEdit sur Windows ;
  • Ergopti+ : version standard incluant la touche ★ à la place de J ainsi que les petites modifications en AltGr (% à la place de œ, ! à la place de ç, etc.) ;
  • Ergopti++ : Ergopti+ avec l'ajout de nombreuses touches mortes pour avoir directement les roulements personnalisés dans le keylayout ;

Ergopti++ permet de rapidement tester les roulements personnalisés comme hc donnant wh ou encore (# donnant (". Toutefois, elle entraîne certains petits problèmes. Parmi ceux-ci, il y a le fait qu'il faut appuyer 2 fois sur Entrée pour valider la touche morte et envoyer Entrée. Les touches mortes ne fonctionnent pas non plus sur l'écran de verrouillage, ce qui peut carrément empêcher la saisie de son mot de passe. Enfin, la fermeture automatique des parenthèses ne fonctionne pas dans les éditeurs de code. Pour toutes ces raisons, il est donc conseillé de plutôt utiliser Ergopti+ avec le driver Ergopti+ pour y définir ces roulements.

Des variantes ANSI de ces dispositions sont également disponibles. En effet, sur macOS, un clavier ANSI entraîne de petites différences dans l'arrangement des codes de touches. Si aucun pilote dédié n'était disponible, le ê se verrait être échangé de place avec le $ de la rangée des chiffres. En outre, la touche morte ◌̂ se verrait être échangée avec ◌̈ et donc être encore moins accessible.

Résolution de problèmes connus

Certains problèmes ont été rapportés avec le keylayout d'Ergopti dans quelques logiciels :

  • Les touches mortes suivies d'Entrée nécessitent un double appui sur Entrée. En effet, il faut un premier appui pour valider la touche morte, puis un second appui pour envoyer Entrée. Ce problème peut se résoudre avec le driver Ergopti+.
  • Les touches mortes ne fonctionnent pas sur l'écran de verrouillage, ni les touches envoyant plus d'un caractère d'un coup, comme :. Ce problème cause surtout des difficultés avec ErgoptiPlus qui contient beaucoup de nouvelles touches mortes. Le keylayout Ergopti standard ne présente pas ce problème n'ayant que des touches mortes simples.
  • Parfois, Ergopti peut ne pas s'afficher dans la liste des dispositions clavier. Pour résoudre ce problème, extraire le fichier keylayout du bundle et le placer dans le même dossier que celui-ci (en supprimant le bundle, pour ne pas avoir de doublon d'ids). Le bundle n'est qu'un moyen un peu plus complexe d'installer des fichiers keylayouts, en permettant d'ajouter une traduction des noms, installer plusieurs variantes d'un coup, etc.
    Si, après redémarrage, Ergopti ne s'affiche pas dans « Autres », alors c'est que le keylayout pose problème. C'est grâce au bundle que la disposition peut s'afficher dans la catégorie « Français », ici il est certain que la disposition sera dans « Autres » si elle est reconnue.
    En dernier recours, on peut essayer d'ouvrir le keylayout avec le logiciel Ukulele, pour vérifier sa validité. Il est aussi possible de le modifier directement avec un éditeur de texte, car il s'agit d'un simple fichier XML.
    Ce problème ne devrait cependant a priori jamais exister, car le fichier keylayout est toujours testé avant d'être partagé. Ces tests sont à la fois manuels et automatisés par de nombreux tests unitaires Python.
  • Ouverture du bundle

Installation Linux

curl -fsSL "https://raw.githubusercontent.com/adrienm7/ergopti/main/static/ergopti/linux/xkb_installation/install.sh" | env BRANCH="main" bash

Après l'installation, redémarrer l'ordinateur pour que les changements prennent effet.

Modifier ensuite la disposition clavier dans les paramètres de votre environnement de bureau. La disposition Ergopti devrait désormais être sélectionnable dans le groupe de langues Français, ou en tant que groupe de langue à part entière selon la méthode d'installation choisie. À noter : Les scripts d'installation tentent d'appliquer la disposition automatiquement, ce qui rend cette étape de sélection de la disposition après redémarrage parfois inutile.


Le processus d'installation utilise un script bash unique qui gère la sélection interactive (version, variante) puis lance automatiquement l'installateur approprié. Deux méthodes d'installation sont disponibles :

  • Méthode "Clean" (recommandée) : installe la disposition dans un répertoire d'extensions dédié (/usr/share/xkeyboard-config.d/ergopti/) sans modifier aucun fichier système. Cette méthode nécessite libxkbcommon ≥ 1.13.0 et xkeyboard-config ≥ 2.45 (Arch et Fedora récentes la proposent) ainsi qu'une session Wayland : seul libxkbcommon lit ce répertoire, le serveur Xorg compile ses dispositions avec son propre xkbcomp et ne le voit pas.
  • Méthode "Legacy" : modifie directement les fichiers système XKB (/usr/share/X11/xkb/), avec une sauvegarde numérotée de chaque fichier touché. Compatible avec toutes les versions et avec les sessions X11 (Xorg), mais moins propre. C'est la méthode qui était utilisée historiquement.

Le script de détection choisit automatiquement la méthode optimale selon votre système et votre session, puis chacune de ses étapes affiche son résultat (plus rien n'est silencieux). Les couches Maj, Verr Maj et AltGr sont fournies par un fichier de types désormais toujours inclus : la couche raccourcis (Ctrl/Alt/Win) rend la lettre de base Ergopti de chaque touche — et sur les touches sans lettre simple comme é, à, ê, è, elle rend respectivement C, V, X, Z pour garder Copier/Coller/Couper/Annuler sous les doigts. Après la copie des fichiers, l'installeur compile réellement la disposition (seule, puis à côté d'une autre disposition comme us) et vérifie que ce type personnalisé est bien présent avant de déclarer l'installation réussie. La réinstallation par-dessus une version précédente (y compris l'ancienne méthode) nettoie automatiquement les restes de l'installation antérieure. Enfin, la variante « Ergopti++ » n'est plus proposée à l'installation : elle sature la table XCompose ; utilisez Ergopti ou Ergopti+.

L'activation dans la session s'exécute toujours sans sudo : sur GNOME (et ses dérivés) la disposition est placée en tête de vos sources de saisie existantes sans en retirer aucune, sur KDE Plasma elle est ajoutée en tête de la liste des dispositions, sur une session X11 elle est appliquée immédiatement avec setxkbmap. Les compositeurs qui gèrent eux-mêmes leur clavier (Hyprland, Sway, niri, river, Wayfire, labwc) n'ont pas de réglage commun : l'installeur affiche alors le fragment de configuration exact à coller dans leur fichier.

Le script demande les droits sudo. Pour désinstaller :

curl -fsSL "https://raw.githubusercontent.com/adrienm7/ergopti/main/static/ergopti/linux/xkb_installation/install.sh" | env BRANCH="main" bash -s -- --uninstall --yes

L'installeur accepte aussi --version v2_2_1, --ansi et le mode totalement non interactif (--yes --version … --variant …) pour les installations scriptées. Chaque exécution est recopiée dans un journal dont le chemin est affiché en premier.

Si la disposition ne fonctionne pas, relancez la commande ci-dessus en ajoutant -s -- --diagnose après bash : le rapport obtenu (système, session, versions XKB, fichiers installés, réglages du bureau, compilation réelle de la disposition) est ce qu'il faut joindre à un rapport de bug. Il ne demande aucun droit administrateur et ne modifie rien.

Détails techniques de l'installation

Méthode Clean (recommandée)

Voici un résumé de ce que réalise l'installateur Clean :

  • Installation non invasive : crée un répertoire d'extension dans /usr/share/xkeyboard-config.d/ergopti/ contenant les fichiers de définition du layout (symbols, types, règles). Cette méthode ne modifie aucun fichier système existant.
  • .XCompose : le fichier Compose d'Ergopti est copié dans le paquet et une ligne include est ajoutée à votre ~/.XCompose sans toucher au reste du fichier (elle est retirée à la désinstallation). Cela permet d'utiliser les touches mortes ainsi que les sorties en plusieurs caractères, comme les ponctuations avec espaces insécables automatiques.
  • Vérification puis activation : la disposition est compilée avec xkbcli (et xkbcomp quand il est présent), seule puis à côté d'une autre disposition, pour prouver que la touche È est bien liée au type personnalisé et que Ctrl conserve sa couche ; une disposition inutilisable arrête l'installation au lieu d'annoncer un succès. Le cache XKB est ensuite purgé, puis la disposition est activée dans votre session (voir ci-dessus).

Méthode Legacy (compatibilité)

Voici un résumé de ce que réalise l'installateur Legacy :

  • Sauvegarde : création d'une copie de sauvegarde pour chaque fichier modifié. Par exemple, fichier.ext.1 est créé comme copie de fichier.ext avant toute modification de celui-ci. Ainsi, il sera toujours possible de revenir en arrière si besoin.
  • XKB Symbols : ajout (ou mise à jour si elle existe déjà) d'une section xkb_symbols "..." dans le fichier /usr/share/X11/xkb/symbols/fr. Ces définitions décrivent ce que fait chaque touche sur chacune des couches (Shift, CapsLock, AltGr, etc.).
  • XKB Types : ajout (ou mise à jour si elles existent déjà) des définitions de types personnalisées d'Ergopti à l'intérieur de la section xkb_types du fichier /usr/share/X11/xkb/types/extra, que toutes les dispositions incluent. Les types définissent l'association entre le numéro de couche défini dans XKB Symbols avec les modificateurs qui doivent être pressés pour atterrir sur cette couche.
  • XKB Rules & Menus : ajout (ou mise à jour si l'entrée existe déjà) des fichiers /usr/share/X11/xkb/rules/evdev.lst et /usr/share/X11/xkb/rules/evdev.xml. Cela permet de faire apparaître la disposition dans la liste des dispositions système, et donc de la sélectionner.
  • .XCompose : création (ou remplacement s'il existe déjà) du fichier .XCompose dans le home de l'utilisateur (~/.XCompose). Cela permet d'utiliser les touches mortes ainsi que les sorties en plusieurs caractères, comme les ponctuations avec espaces insécables automatiques.
  • Vérification : la disposition est compilée avec xkbcli et avec xkbcomp (le compilateur de Xorg) quand ils sont installés ; si le type personnalisé manque, chaque fichier touché est restauré depuis sa sauvegarde et l'installation est annulée.
  • Activation : la disposition est activée dans votre session (voir ci-dessus) sous l'identifiant fr + variante Ergopti_vX_Y_Z. Sur une session X11 sans gestionnaire de disposition, l'installeur indique la commande localectl set-x11-keymap qui la rend permanente.

En bref : la méthode Clean installe dans un répertoire d'extensions sans toucher aux fichiers système, tandis que la méthode Legacy modifie directement les fichiers système XKB.

Résolution de problèmes connus

Certains problèmes ont été rapportés avec le pilote XKB d'Ergopti dans quelques logiciels :

  • Le raccourci Ctrl+Z en Ctrl + È ne semble pas fonctionner. Pourtant, tous les autres raccourcis sur les lettres accentuées fonctionnent, alors qu'ils sont définis de la même manière.
  • Sur Wayland, XCompose ne fonctionne pas dans certains programmes. C'est notamment le cas des applications Electron comme VSCode. Ce problème implique que les touches mortes ne vont pas fonctionner, de même pour les output de plusieurs caractères comme les ponctuations avec espaces insécables automatiques. Il existe peut-être des workarounds.
  • Avec la version Ergopti+ directement intégrée au driver clavier (« Ergopti++ »), il y a les mêmes problèmes que sur cette même version sur macOS. Cela inclut le fait qu'un appui sur Entrée en état de touche morte envoie la touche morte, mais pas directement Entrée. Pour cela, il est nécessaire d'appuyer une deuxième fois sur la touche. Ce problème peut probablement être résolu en utilisant un autre logiciel de remappage de clavier, comme cela a été corrigé sur macOS.
    Un autre problème plus embêtant est que la répétition de deux lettres ne fonctionne pas, notamment pour la lettre P où pour tapper PP, il faut appuyer quatre fois sur la touche P. Par conséquent, il est plutôt recommandé d'utiliser la version standard d'Ergopti ou « Ergopti+ » (un seul +) avec le driver Ergopti+.