Catégorie : geek

8 – Source pour un clavier AZERTY

Je mets en disponibilité mes sources pour la configuration complète d’un clavier AZERTY tel que je l’ai expliqué dans la page de configuration du clavier.

Pour tous ceux qui veulent le récupérer et le compiler, cela se passe par .

Ergodox : le clavier de geek de l’extrême

J’ai terminé la mise en place du clavier de l’extrême, et si vous êtes intéressé(e) par ces claviers de l’extrême, qui proposent, justement, une customisation extrême, n’hésitez pas à poser des question ici, ou aller lire mes pages qui concernent ce clavier de pur geek (dans la section « pages ») :

Image finale

5 – Le silence

Voici la dernière étape de ma recherche concernant le silence. J’ai retrouvé des vis qui servent à soutenir des disques dur, et à amortir leur bruit via un petit morceau en plastique :

Vis amortissantes pour disque dur

J’ai donc pris le petit morceau qui sert à amortir, et j’y ai adjoint un oring rouge :

Vis amortissantes pour disque dur

Vis amortissantes pour disque dur

Ensuite, j’ai fait ma petite « tour » ainsi :

Vis amortissantes pour disque dur

Et je l’ai mise sous le clavier, ainsi :

Vis amortissantes pour disque dur

J’ai fait la même chose pour les 4 coins les plus extrêmes du clavier. Je vous montre les deux de devant :

Vis amortissantes pour disque dur

Ce qui fait que maintenant, dès que je frappe, le son est totalement amorti, et ne suit pas sur le support sur lequel est posé l’Ergodox.

Configuré ainsi, mon clavier est à la fois l’un des plus silencieux que je connaisse, mais aussi un des plus agréables à utiliser. Il ne me reste plus qu’à terminer ma configuration, jour après jour, pour savoir là où sont les touches qui me manquent le plus et les mettre directement en relation là où ma main a envie de taper. Bien sûr, après plus de 15 ans de pratique quotidienne d’un clavier AZERTY, je ne veux pas passer du temps à tout réapprendre, donc je l’ai laissé pour l’instant tel quel, mais j’ai défini pas mal d’autres raccourcis claviers et maintenant, je commence à aller presque aussi vite qu’avec mon autre clavier quand je tape en français. Pour le reste, et surtout pour le développement, qui nécessite beaucoup de mouvements de curseurs, de copier coller, etc, c’est tout de même beaucoup plus difficile de m’adapter, même si je gagne énormément de temps sur toutes les touches bien énervantes à avoir telles que toutes les touches avec ALTGR. Là je gagne un temps énorme. Mais j’en dis plus dans la prochaine page consacrée à l’ergodox, sur ma configuration AZERTY.

2 – Les O-ring

Si votre clavier a des touches mécaniques, il risque fort de vous gêner par son bruit. Une solution très efficace est de commander des Oring. Ce sont des petits anneaux qui se mettent dans chaque touche et qui amortissent le choc, voire pour les Oring bleus, qui empêchent les touches d’aller au bout de leur course, coupant totalement le bruit de choc.

Oring bleus et rouges

Attention, forcément, les touches ne se comporteront plus exactement comme avant, et cela peut déstabiliser des gens. Certains peuvent même préférer le bruit et garder les sensation « clicky » des touches.

Personnellement, j’ai des oring rouges, et donc il n’y a aucun clic : les pressions sont linéaires donc peu importe la distance de pression. J’ai ainsi mis des Oring bleus et franchement, je n’ai jamais eu un clavier aussi agréable au toucher et aussi silencieux. Pourvu que ça dure !

3 – Configuration AZERTY et conversion

Voici la table qui vous manquera certainement le plus lorsque vous voudrez utiliser le configurateur Web qu’on met à disposition sur massdrop ici :

Attention : vous ne voyez qu’une partie des images pour qu’elles puissent s’afficher correctement dans mon blog, mais si vous cliquez dessus vous en verrez beaucoup plus !
Cliquez sur l’image et elle va s’ouvrir dans une autre fenêtre en grand.

Donc j’ai passé deux soirées complètes à faire ce qui va suivre, comme d’habitude, en espérant que cela serve à d’autres personnes qu’à moi :

Il y a 4 images, avec deux colonnes par image : la colonne de gauche c’est ce qu’il y a d’affiché sur massdrop, et la colonne de droite, c’est ce qui s’affichera réellement sur Windows (je n’ai pas testé sur Linux encore).

Exemple concret : vous voulez mettre la lettre « m ». Vous regardez dans la colonne de droite de chaque image et là vous trouverez le « m » tout en bas dans la première image. Cliquez sur l’image et elle va s’ouvrir dans une autre fenêtre en grand. Tout en bas, sur la fameuse ligne du « m » vous lirez ce menu : « Punctuation KEY_Comma_LessThan ». Donc dans le configurateur, il vous suffira de cliquer avec le bouton droit de la souris, et de choisir le menu « Punctuation KEY_Comma_LessThan ». Bien sûr ce qui va s’afficher sur le configurateur sera ce qu’il y a dans la colonne de gauche, donc le « ;: » mais on s’en moque, le plus important c’est que ce qui sera affiché sera sur la colonne de droite, donc « m ».

J’ai passé un temps énorme à faire ces fichiers de correspondance « propres », j’espère qu’il serviront et si c’est le cas, n’hésitez pas à me remercier en laissant un message !

Page 1 Page 2 Page 3 Page 4

1 – Réception et montage

Lorsque j’ai reçu le colis, j’ai pris quelques photos afin de vous montrer ce que cela donne :

Dépaquetage de l'Ergodox - étape 1
Dépaquetage de l'Ergodox - étape 2
Dépaquetage de l'Ergodox - étape 3
Dépaquetage de l'Ergodox - étape 4
Dépaquetage de l'Ergodox - étape 5

Pour la note, j’ai acheté aussi l’outil qui aide à retirer les touches, et je vous conseille vivement de l’acheter, parce que le petit truc qui est fourni avec n’est pas très efficace, j’ai eu du nez pour le coup : l’outil est juste en haut sur l’image :

Dépaquetage de l'Ergodox - étape 6

Ergodox

Je vais présenter ce clavier totalement atypique, pourtant qui enlève tous les inconvénients de tous les claviers actuels.

Voici le clavier :

My ergodox at home

Voici tous les inconvénients, je les cite rapidement car il y en a peu :

  • Il faut être un peu dans la technique ou avoir, comme moi, une connaissance proche qui aime l’électronique et se dévoue pour le monter
  • Il y a un temps d’apprentissage du nouveau clavier qui peut paraître frustrant. Et malheureusement pour nous c’est le changement qui fait peur à l’être humain… enfin pas pour tout le monde, moi y compris !

Voici tous les avantages :

  • On peut configurer totalement la disposition des touches comme on le veut
  • On peut simuler l’appui sur plusieurs touches à la fois (fini le ALTGR-8 pour faire l’antislash)
  • Les touches sont alignées verticalement, et après un court temps d’adaptation on fait beaucoup moins de fautes qu’avec un clavier classique
  • On peut faire une vraie macro, c’est à dire simuler qu’on appuie sur plusieurs touches les unes à la suite des autres, alors qu’on n’appuie que sur une touche
  • On a les mains séparées : du point de vue ergonomique, on ne peut tout simplement pas faire mieux
  • Les touches sont des touches mécaniques, c’est à dire que :
    • la durée de vie est dix fois plus supérieure à celles des touches des claviers habituels qu’on trouve en grande surface
    • on a énormément de choix sur le « feeling » que nous apportent les touches : il y a les touches Cherry MX blanches, les rouges, les bleues, les marrons etc, et chaque type de touche a ses avantages et ses inconvénients
    • les touches sont entièrement démontables et customisables, on peut donc avoir les lettres qu’on veut sur le clavier, il n’y a qu’une seule limite : l’imagination

4 – Comment faire des macros

Ergodox : un seul problème

Beaucoup de personnes, moi y compris, ont acheté l’Ergodox pour pallier à deux choses gênantes des claviers actuels (je parle pour ceux qui tapent beaucoup, comme moi) :

  • Être beaucoup mieux positionné avec les mains pour pouvoir écrire ;
  • Pouvoir entièrement configurer son clavier afin de pouvoir accéder plus rapidement aux touches d’habitude difficiles d’accès.

Vous allez sûrement faire les étapes que j’ai fait à savoir :

  • Utiliser le configurateur sur le site Massdrop ici ;
  • Faire une vraie correspondance entre les touches américaines QWERTY et notre bon clavier français AZERTY et j’ai fait un article dessus il y a quelques jours ;
  • S’apercevoir que finalement il manque des choses, notamment la possibilité de faire un pipe (j’ai dit « un » pipe, pas une pipe !) ou d’autres choses, qui ne nécessitent pas l’appui avec la touche SHIFT mais l’appui avec la touche ALTGR (oui oui avec le GR c’est à dire uniquement la touche ALT de droite du clavier).

Donc vous allez sûrement essayer d’aller chercher les dernières sources concernant le programme qui génère le fameux fichier de configuration de l’ergodox, le fichier HEX.
Ici : https://github.com/benblazak/ergodox-firmware.

Eh bien la compilation ne fonctionne pas. Pour être plus précis elle fonctionne, mais le fichier généré ne fait rien du tout : mon Ergodox ne fonctionne pas du tout.

Alors je me suis pris en main et j’ai commencé à étudier le code qui a été fait.

Maintenant venons-en à…

Ergodox : la solution

  1. Utilisez le configurateur sur le site Massdrop ici ;
  2. Configurez votre clavier comme vous le voulez, en utilisant les bonnes « traductions » des touches dont je donne l’aide dans l’article précédent sur l’Ergodox ;
  3. Récupérez les sources, pas juste le fichier binaire, cochez juste comme ceci :
    Ergodox Configurator download with source checked
  4. Dans le fichier lib\key-functions\public\special.c, ajoutez aux directives « include » celle-ci :

    #include <util/delay.h>

  5. Dans même fichier lib\key-functions\public\special.c, ajoutez cette fonction :


    /*
     * [name]
     *   ALTGR + press|release
     *
     * [description]
     *   Generate a 'altgr' press or release before the
     *   normal keypress or keyrelease
     */
    void kbfun_altgr_press_release(void) {
        /* Remember old state before modifying it */
        bool backup_pressed = _kbfun_is_pressed(KEY_RightAlt);
        /* Force the state to "pressed" */
        _kbfun_press_release(true, KEY_RightAlt);
        kbfun_press_release();
        /* Send the key */
        usb_keyboard_send();
        _delay_ms(MAKEFILE_DEBOUNCE_TIME);
        /* Restore previous state */
        _kbfun_press_release(backup_pressed, KEY_RightAlt);
    }

  6. Maintenant, vous avez donc crée une fonction qui permet de « forcer » l’appui sur ALTGR et d’envoyer la touche concernée.
    Déclarez cette fonction dans lib/key-functions/public.h :

    Juste avant la déclaration de kbfun_shift_press_release, mettez-y la vôtre :

        // special
        void kbfun_altgr_press_release           (void);
        void kbfun_shift_press_release           (void);
        void kbfun_2_keys_capslock_press_release (void);

  7. Touche finale : le fichier dans lequel il y a la configuration de votre clavier :

    keyboard/ergodox/layout/default--layout.c

    A l’endroit des définitions, ajoutez-y la vôtre :

    // DEFINITIONS
    ...
    blabla
    ...
    #define  salprre  &kbfun_altgr_press_release
    #define  sshprre  &kbfun_shift_press_release
    ...
    blabla
    ...

  8. Ca y est, vous avez votre fonction prête à être appelée.
    Il vous suffira juste de chercher sur quelle touche l’appliquer.
    Je vais vous donner un exemple simple, et après à vous de l’adapter : l’exemple est avec le symbole € : nous allons remplacer, juste pour l’exemple, la touche « e » par simuler qu’on appuie sur la touche ALTGR et e (comme on le fait sur un clavier classique, pour avoir le symbole ).

    Ouvrez le fichier keyboard/ergodox/layout/default--layout.c dans lequel vous venez juste de déclarer (étape juste avant) votre fonction ALTGR sous la forme raccourcie salprre.

    Voici le principe qu’a fait le développeur : pour une couche, il crée deux tableaux : un tableau dans lequel il y a les « codes » clavier à envoyer, tableau qui a la taille du clavier, donc, et un autre tableau, qui a la taille du clavier, dans lequel il y a les fonctions à appeler pour chaque touche. Oui je sais c’est très laid, c’est discutable etc mais c’est fait ainsi. Comme il y a plusieurs couches, il y a donc, si vous avez suivi :

    • un tableau composé lui même des tableaux des touches pour chaque couche
    • un tableau composé lui même des tableaux des fonctions à appeler lorsqu’on presse la touche, et ces fonctions reçoivent en paramètre la touche qui a été cherchée dans le tableau précédent

    Dans ce fichier, allez chercher là où il y a la déclaration de la touche e. Pour moi c’est facile, c’est sur la couche 0 car j’ai configuré mon clavier presque comme un clavier « normal » AZERTY donc ici :

    Ergodox configurator source layer 0 key e

  9. A partir d’ici, mémorisez bien la ligne et la colonne. Ici c’est donc ligne 2, colonne 4. Ensuite descendez dans le code et cherchez la déclaration des fonctions. Placez vous à la même couche, même ligne et même colonne comme ceci :

    Ergodox configurator source layer 0 functions

    Et il vous suffit juste de remplacer le nom de l’appel de la fonction actuel (kprrel) par l’appel de votre fonction soit salprre

    Ergodox configurator source layer 0 function properly replaced by my own function

  10. Et voilà il ne vous reste plus qu’à compiler :

    Ergodox configurator compilation of the source

  11. Vous avez terminé ! Transférez le fichier HEX sur votre Ergodox, et voilà : avec mon exemple, vous ne pouvez plus qu’écrire des € à la place des « e » normaux. Elle est pas belle la vie ?
  12. Il vous faudra répéter les opérations à partir de l’étape 7 à chaque fois que vous récupérerez un nouveau layout via le configurator du site Ergodox.

unity master server

network view = instance et sur chaque objet

un personnage c’est un composant