Skip to content
Sur cette page

Pilotes pour Linux

Pilotes pour Linux

Téléchargement

Les pilotes Linux sont disponibles selon trois configurations, ISO, Ergo ou ANSI :

Optimot ISO
1.8.0
Optimot Ergo
1.8.0
Optimot ANSI
1.8.0

Installation pour le Bureau (Desktop)

Installation automatique

L'installation au sein du système est une procédure relativement complexe. Afin de faciliter cette tâche au mieux, un script a été mis à disposition par @Steeve et s'appuie sur le script d'installation Python3 présenté dans la section suivante.

  1. Lancement du script

Aucun besoin de manipuler des fichiers, une simple ligne de commande suffit pour procéder à l'installation d'Optimot !

bash
sudo sh -c "$(curl -fsSL https://steevelefort.github.io/optimot-install/install.sh)"

REMARQUE IMPORTANTE !

Ce script requiert une élévation de privilèges nécessaire pour installer la disposition au sein du système. Cependant vous seriez tout à fait avisé, comme toujours avec ce genre de demande, d'aller vérifier la source. N’hésitez pas à le faire et n’installez jamais un script avec une demande de droit administrateur sans vous être auparavant assuré de sa fiabilité. Par ailleurs, ce script repose sur l'automatisation du script d’installation que vous pourriez aussi vouloir vérifier.

Si toutes les conditions sont réunies pour procéder à l'installation, il vous sera alors demandé le type de pilote que vous souhaitez installer : ISO, Ergo ou ANSI. Après quoi, le pilote devrait être présent sur votre système.

  1. Ajoutez le clavier à la barre des tâches

La disposition devrait désormais être disponible dans les options clavier de votre système. Vous pouvez donc l'ajouter à la barre de tâches du bureau et basculer dessus.

Ajout du clavier

Script d'installation

L'installation automatique s'appuie sur un script Python3 qu'il vous est aussi possible de télécharger individuellement en vue de le lancer en ligne de commande.

Install XKB
  1. Lancement du script

Ce script requiert une élévation de privilèges. En supposant que les pilotes (fichier XKB et XCompose) sont disponibles au côté du script, voici comment en réaliser l'installation :

bash
sudo python3 ./install_xkb.py mon-fichier.xkb [mon-fichier.XCompose]

REMARQUE IMPORTANTE !

Comme pour le script d’installation automatique, ce script-ci requiert aussi une élévation de privilèges. Après téléchargement il serait, là encore, avisés d’en vérifier le code et de vous assurer de sa fiabilité au vu de votre système.

Le script, s'assure qu'une modification soit nécéssaire au préalable dans les fichiers systèmes cibles puis en réalise une sauvegarde le cas échéant, avant l'exécution de l'installation.

La précision sur le fichier XCompose est optionnelle et si ce dernier existe déjà il sera proposé de le remplacer. Néanmoins, si ce dernier n'est pas installé proprement, la disposition ne bénéficiera que de la couche de définition de base, sans les combinaisons de composition supplémentaires qui en font toute la richesse.

  1. Ajoutez le clavier à la barre des tâches

Comme présenté dans la section d'installation automatique, une fois le layout disponible dans les paramètres système il est nécessaire de l'ajouter à la barre de tâches du bureau pour pouvoir basculer dessus.

Installation manuelle

À défaut de passer par les scripts d'installation précédents, vous pouvez toujours envisager une installation manuelle. Pour installer le pilote sur votre environnement de bureau, vous devrez effectuer plusieurs manipulations sur les fichiers de configuration XKB (X Keyboard Extension). Voici les étapes à suivre :

  1. Ajoutez des symboles : Avec les privilèges sudo, ajoutez la section XKB suivante à la fin du fichier /usr/share/X11/xkb/symbols/fr.
c
partial alphanumeric_keys
xkb_symbols "optimot_ergo" {
    // ...
};

Copier les données xkb

ATTENTION !

Le nom de disposition considéré ici est optimot_ergo mais il est donné pour exemple. Ainsi, selon celui donné par la directive xkb_symbols de votre fichier, il vous faudra l'adapter en conséquence pour l'ensemble de cette documentation.

  1. Définissez les types : Ajoutez la section types suivante à la fin de la section 'default' du fichier /usr/share/X11/xkb/types/extra.
c
// Key types for Optimot layout
    type "FOUR_LEVEL_CONTROL" {
        modifiers = Shift+LevelThree+Control;

        map[None] = Level1;
        map[Shift] = Level2;
        // ...
        level_name[Level5] = "Control";
	    level_name[Level6] = "Shift Control";
    };

    type "FOUR_LEVEL_ALPHABETIC_CONTROL" {
        modifiers = Shift+Lock+LevelThree+Control;

        map[None] = Level1;
        map[Shift] = Level2;
        // ...
        level_name[Level5] = "Control";
        level_name[Level6] = "Shift Control";
    };

    type "FOUR_LEVEL_SEMIALPHABETIC_CONTROL" {
        modifiers = Shift+Lock+LevelThree+Control;

        map[None] = Level1;
        map[Shift] = Level2;
        // ...
        level_name[Level5] = "Control";
        level_name[Level6] = "Shift Control";
    };

Une image permet là encore de mieux se rendre compte de la manipulation à réaliser:

Copier les données types

Note sur les raccourcis

Avec la v1.5 est venue une nouveauté importante : le besoin de définir les raccourcis sur la couche Ctrl. Il s'agit d'un mélange entre les raccourcis d'Optimot par défaut et ceux de qwerty sur les emplacements qui le permettent (touches accentuées, etc.).

Raccourcis

La manipulation précédente vise donc aussi à inscrire ce comportement.

  1. Mettez à jour les fichiers .lst : Dans /usr/share/X11/xkb/rules/base.lst et /usr/share/X11/xkb/rules/evdev.lst, ajoutez :
optimot_ergo    fr: French (Optimot, clavier Ergo)

après la section !variant, comme suit:

Copier dans les fichiers lst

  1. Mettez à jour les fichiers .xml : Dans /usr/share/X11/xkb/rules/base.xml et /usr/share/X11/xkb/rules/evdev.xml, ajoutez la section suivante dans la variantlist du layout "fr" :
xml
<variant>
    <configItem>
    <name>optimot_ergo</name>
    <description>French (Optimot, clavier Ergo)</description>
    </configItem>
</variant>

Copier dans les fichiers xml

  1. Ajoutez le clavier à la barre des tâches : Le layout devrait désormais être disponible dans les options de clavier. Vous pouvez l'ajouter à la barre de tâches du bureau et basculer dessus.

Ajout du clavier

Après avoir suivi ces étapes, il devrait être possible de visualiser le clavier avec la commande suivante :

bash
gkbd-keyboard-display -l "fr(optimot_ergo)"

Utilisation depuis la Console

Pour utiliser le pilote en console, utilisez la commande suivante pour enregistrer le XKB et l'utiliser sur la session en cours :

bash
$ xkbcomp -w0 Optimot.xkb $DISPLAY

Après avoir exécuté cette commande, la disposition du clavier devrait être disponible.

Fichier Compose

Le fichier de contenu XCompose peut être ajouté dans /usr/share/X11/locale/en_US.UTF-8/Compose.

Mais pour une utilisation plus pratique, vous pouvez copier le fichier de composition dans le répertoire d'accueil de l'utilisateur sous le nom .XCompose :

bash
$ cp ./XCompose ~/.XCompose

Enregistrement des modifications

Un redémarrage ou une simple déconnexion/reconnexion est nécessaire pour prendre en compte les modifications. Vous pouvez également forcer l'enregistrement des modifications depuis le terminal avec la commande suivante :

bash
$ sudo dpkg-reconfigure xkb-data

Après cette commande, redémarrez votre machine pour appliquer les modifications.

Remarques

  • Je ne veux pas des raccourcis mixtes !

Si vous êtes de ceux qui préférez utiliser les raccourcis de base (donc non mixtes) de la disposition, pas de souci mais alors il va falloir mettre un peu plus les mains dans le cambouis… 😉

Déjà, oubliez la manipulation pour copier les types dans le fichier /usr/share/X11/xkb/types/extra. On repart à zéro !

À la place, il faut « corriger » la partie xkb_symbols pour supprimer les références à ces nouveaux types.

La méthode la plus simple consiste à juste supprimer le terme _CONTROL dans le fichier des symbols. Ça fonctionne et fait le job.

Suppression de CONTROL

Néanmoins, pour les puristes vous constaterez que la liste des valeurs qui suivent sur la ligne fait encore référence aux raccourcis mixtes (les deux en fin de liste). Donc pour purger complètement le fichier de cela on peut faire par Regex le remplacement de _CONTROL(", \[[^,]+,[^,]+,[^,]+,[^,]+),[^,]+,[^,]+( \].*$) par $1$2 et ça le fait en un coup (testé sous VSCode mais à vous d'adapter cela pour votre éditeur préféré).

Purge de CONTROL

Crédits

Merci à @TrucTruc et @Aldoo pour leurs précieuses suggestions au cours du développement de ce pilote.