Disposition clavier Ergopti

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

Utiliser Ergopti


Essayer la disposition en ligne

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.

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_v2.2.0.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

Pilote AutoHotkey (sans droits d’administrateur)

Le pilote Windows créé par KbdEdit nécessite des droits d’administrateur pour être installé. Il ne peut donc pas être utilisé dans certaines situations, notamment en contexte professionnel. La version AutoHotkey a exactement les mêmes fonctionnalités que la version KbdEdit, mais ne nécessite pas d’installation avec des droits d’administrateur. En réalité, elle est même beaucoup plus puissante, car elle permet d’avoir des fonctionnalités avancées comme les remplacements de texte ou les macros.

Il est cependant toujours conseillé d’installer et utiliser le pilote KbdEdit si possible. En effet, cela garantit que la disposition clavier sera Ergopti dès le démarrage et sur l’écran de connexion. Au contraire, la version AutoHotkey, bien qu’elle soit fonctionnelle dans tous les programmes, ne fonctionnera pas sur l’écran de connexion, car le script ne sera pas encore chargé.

En résumé, le mieux est d’utiliser les deux versions en parallèle : le pilote KbdEdit pour avoir Ergopti partout, et le script AutoHotkey pour bénéficier des fonctionnalités avancées. Ce script corrige d’ailleurs quelques limitations du pilote KbdEdit, cf. la section Résolution de problèmes connus.

Il est également conseillé (mais c’est optionnel) de télécharger les 2 fichiers suivants : ErgoptiPlus_Icon.ico ainsi que ErgoptiPlus_Icon_Disabled.ico. Ils sont à placer dans le même dossier que celui du script .ahk et permettent d’en modifier l’icône dans la barre des tâches.

Afin que le code source ErgoptiPlus.ahk fonctionne, il faut auparavant installer AutoHotkey v2. L’installation pour l’utilisateur actuel ne nécessite pas de droits d’administrateur. Une fois cela fait, il suffit de double-cliquer sur le fichier .ahk pour l’exécuter avec AutoHotkey.

En réalité, il est même possible de ne rien installer du tout en se contentant de télécharger le binaire d’AutoHotkey. Ensuite, il suffit de faire un clic droit sur le fichier .ahk puis ouvrir avec et sélectionner ce binaire. Cette solution peut être utile si même l’installation d’AutoHotkey n’est pas permise sur votre système.

Une dernière option est d’utiliser le code AutoHotkey compilé en un .exe. Cela évite même de devoir installer AutoHotkey, car le code nécessaire au fonctionnement du script est directement inclus dans le .exe. Toutefois, idéalement il vaut mieux installer AutoHotkey et utiliser le code source, car cela permet d’inspecter le contenu du script afin de comprendre comment il fonctionne, voire le modifier pour l’adapter à votre utilisation. Le fichier .ahk se modifie avec un simple éditeur de texte (clic droit, ouvrir avec) afin que vous puissiez l’adapter selon vos envies, notamment pour en désactiver des fonctionnalités ou en ajouter. N’oubliez pas de le relancer pour appliquer vos modifications.

Le raccourci AltGr + BackSpace a été implémenté afin de relancer facilement le script après une modification. De plus, le raccourci AltGr + Entrée permet de mettre le script en pause, ou de le réactiver s’il est déjà en pause. C’est très utile pour désactiver momentanément le script, par exemple si un collègue veut taper sur votre ordinateur et que votre clavier est encore en émulation Ergopti.

Automatisation du lancement du script

Il est important de noter que le script AutoHotkey ne sera actif que tant qu’il est en cours d’exécution en arrière-plan. Redémarrer l’ordinateur va le désactiver, il faudra cliquer à nouveau dessus pour le relancer. Pour automatiser le lancement automatique du script .ahk (ou sa version compilée en .exe) au démarrage, et donc ne plus avoir besoin d’y penser, il est possible de suivre les étapes suivantes :

  1. Presser simultanément la touche Windows et la touche R. Ce raccourci Win + R permet d'ouvrir la fenêtre « Exécuter » de Windows ;
  2. Saisir shell:startup et valider en cliquant sur le bouton « OK » ;
  3. Le dossier qui vient de s'ouvrir correspond au dossier de démarrage. Tout élément dedans est exécuté au démarrage de Windows. Créer un raccourci dans ce dossier pointant vers l'emplacement où vous allez sauvegarder votre fichier ErgoptiPlus.ahk. Vous pouvez par exemple le mettre dans votre dossier Documents.

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 script ErgoptiPlus.ahk 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.
  • Un utilisateur de la version AutoHotkey avait des problèmes avec les remplacements de texte, notamment pour l’autocorrection. Après de nombreuses recherches, il s’est avéré que la cause était le logiciel de contrôle des LEDs de sa tour de pc, qui interférait avec AutoHotkey.
    ➜ Pour résoudre ce genre de problèmes, il faut donc dans un premier temps fermer toutes ses applications sauf AutoHotkey pour vérifier si le problème persiste. S’il persiste, c’est peut-être un problème affectant tous les utilisateurs de la version AutoHotkey et vous êtes invité à le signaler sur le repo GitHub ou sur le Discord . Le script AutoHotkey étant cependant utilisé intensivement par plusieurs utilisateurs, la plupart des problèmes sont déjà résolus et il est plus probable qu’il provienne d’un conflit avec une application. Cela peut notamment se produire si vous utilisez un autre logiciel de remappage de clavier, ou un logiciel qui intercepte les frappes clavier pour faire des raccourcis (Kanata, PowerToys, Espanso, logiciel Nvidia, de gaming, etc.).

Installation macOS

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 Karabiner 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 Karabiner, en envoyant un appui "inutile" lors d’un appui sur Entrée. Par exemple en envoyant un appui sur F20 puis un appui sur Entrée lors de l’appui sur Entrée.
  • 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

Karabiner

Attention : Le code Karabiner suivant est encore en bêta et risque d’être régulièrement mis à jour. Il est totalement fonctionnel, mais des améliorations et ajouts sont encore possibles. Veillez à vérifier régulièrement si une nouvelle version est disponible.

Karabiner-Elements est un logiciel open source permettant de remapper les touches sur macOS. Il est particulièrement utile avec la disposition Ergopti+ pour ajouter des tap-holds, définir des roulements personnalisés, etc. Voici ce qui est inclus dans le fichier de configuration fourni :

  • Interversion des touches ROption et RCmd pour avoir la couche AltGr aussi facilement accessible que sur Windows ;
  • Tap-hold sur CapsLock avec Entrée en tap et Cmd en hold ;
  • Tap-hold sur ROption (intervertie en RCmd) avec One-Shot Shift en tap et Shift en hold ;
  • Tap-hold sur LShift avec Copier en tap ;
  • Tap-hold sur Fn avec Coller en tap ;
  • Tap-hold sur LCtrl avec Couper en tap ;
  • Tap-hold sur LOption avec BackSpace en tap ;
  • Définition de tous les roulements personnalisés d’Ergopti++ comme hcwh, qaqua, (#(", etc. ;

À noter que le code Karabiner est loin d'être concis, car beaucoup de lignes n’ont qu’une seule accolade ouvrante ou fermante. Ainsi, pour définir un seul comportement, des dizaines de lignes sont nécessaires. En outre, afin de définir les roulements personnalisés, il était nécessaire d’avoir l’information de la dernière touche pressée, ce qui n’est pas disponible par défaut dans Karabiner. C’est pour cela que chaque touche du clavier a été redéfinie pour envoyer le contenu de sa touche, mais aussi mettre à jour une variable contenant la dernière touche pressée. Tout cela entraîne un code Karabiner extrêmement volumineux (des dizaines de milliers de lignes) pour un comportement pourtant très simple. Cela n’a cependant jamais posé de problème en pratique, ni de performances.

Alfred

Attention : Le code Alfred suivant est encore en bêta et risque d’être régulièrement mis à jour. Il est totalement fonctionnel, mais des améliorations et ajouts sont encore possibles. Veillez à vérifier régulièrement si une nouvelle version est disponible.

Alfred est un lanceur d’applications et un gestionnaire de snippets pour macOS. Il est possible d’y définir des snippets de texte qui seront insérés lorsqu’on tape une abréviation. C’est grâce à ce logiciel que la touche d’Ergopti+ peut être utilisée comme touche de répétition et pour insérer des snippets, des caractères spéciaux, etc.

Le dossier de snippets fourni contient l’intégralité des snippets d’Ergopti+. Ils sont automatiquement extraits du fichier .ahk d’Ergopti+. Il suffit d’installer ces snippets dans Alfred pour pouvoir les utiliser dans n’importe quelle application. Pour cela, il suffit de cliquer dessus, ce qui ouvrira Alfred et proposera de les installer.

Attention, il faut bien penser à désactiver l’option Strip snippets from autoexpand lors de chaque import. À noter aussi que les snippets dans Alfred sont une fonctionnalité payante, disponible uniquement avec la licence Powerpack. Alfred semble être le meilleur gestionnaire de snippets sur macOS, les alternatives gratuites ne fonctionnant malheureusement pas aussi bien, étant notamment trop "lentes" à l’utilisation.

Installation Linux

curl -fsSL https://raw.githubusercontent.com/adrienm7/ergopti/dev/static/drivers/linux/install.sh | sh

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 où la disposition Ergopti devrait désormais être sélectionnable dans le groupe de langues Français.

Le processus d’installation se déroule en deux étapes. D’abord, un script de sélection choisit les fichiers à installer : version d’Ergopti, variante, etc. Ensuite, un script d’installation utilise ce qui a été sélectionné pour appliquer les modifications système (nécessite sudo).

Voici un résumé de ce que réalise le script d’installation :

  • 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 dans le fichier /usr/share/X11/xkb/types/extra. 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.
  • Activation : enfin, le script tente d’appliquer la disposition : d’abord via localectl set-x11-keymap (si disponible), puis via setxkbmap dans la session X de l’utilisateur. Ces actions sont « best‑effort » et peuvent échouer sans annuler l’installation.

En bref : le script installe la définition des touches, les types associés, met à jour les fichiers de règles pour que la disposition soit visible dans l’interface et installe le fichier .XCompose personnalisé.

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, 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 cette 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.

Kanata

Attention : Le code Kanata suivant est encore en bêta et risque d’être régulièrement mis à jour. Il est totalement fonctionnel, mais des améliorations et ajouts sont encore possibles. Veillez à vérifier régulièrement si une nouvelle version est disponible.

Kanata est un outil de remappage de clavier open source fonctionnant sur tous les systèmes d’exploitation majeurs (Linux, macOS et Windows). Il permet de redéfinir le comportement des touches du clavier à l’échelle du système.

Voici les fonctionnalités implémentées dans le fichier Kanata :

  • Tap holds sur LShift, LCtrl et RCtrl ;
  • Layer de navigation en hold sur Alt.

Espanso

Attention : Le code Espanso suivant est encore en bêta et risque d’être régulièrement mis à jour. Il est totalement fonctionnel, mais des améliorations et ajouts sont encore possibles. Veillez à vérifier régulièrement si une nouvelle version est disponible.

Espanso est un gestionnaire de snippets open source pour Linux, macOS et Windows. Il permet d’utiliser des snippets de texte dans n’importe quelle application. Cela semblerait donc être la solution parfaite, fonctionnant sur tous les systèmes d’exploitation et étant open source. Cependant, Espanso ne fonctionne pas aussi bien qu’Alfred sur macOS, notamment en termes de rapidité d’insertion des snippets. Néanmoins, c’est actuellement la meilleure solution disponible pour Linux.