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 là.
J’ai reçu ce matin même les touches spéciales qui me permettent de différencier les éléments, qui à mon sens, posent le plus de problème. C’est pas du fun ni de l’esthétique, c’est le pur côté pratique.
Impression à chaud agréable : elles sont extrêmement marquées, donc on les sent bien.
Autre impression désagréable : elles sont extrêmement marquées, donc on les sent bien.
Rire. Enfin sourire. Enfin… bon.
J’ai commandé des touches de couleurs différentes afin de savoir s’il y avait vraiment des couleurs que j’aimais bien. Bof finalement, ça brûle les yeux, c’est tout. Sauf si vous avez acheté une Baleno. Dans ce cas, peut être que vous aimerez les couleurs. Enfin je me comprends.
De plus j’ai commandé les touches avec toutes les inclinaisons possible, volontairement :
Le problème majeur, c’est que toutes les touches sont un peu plus grandes que celles de l’Ergodox. Ce qu’il y a de sûr, c’est que le problème vient de l’Ergodox lui même, parce que j’ai comparé avec mon DAS, et toutes les touches du DAS sont plus grandes. Donc la faute à l’Ergodox.
Ce qu’il y a de sûr et de très efficace, c’est que les touches sur lesquelles j’avais le plus de mal à me positionner, le problème semble grandement diminué. Il n’est pas entièrement résolu, mais le problème restant est dû à ce qu’il y a entre la chaise et le clavier, plus au clavier lui même.
Voici les touches une fois posées :
Et de plus près :
Ce qui me manque très clairement c’est la touche entrée bien distincte des autres touches au dessus et en dessous.
Après, une gravure est ce qu’elle est, donc une touche gravée est aussi ce qu’elle est, à savoir que c’est nettement moins agréable qu’une touche « lisse ». Normal. Mais je reconnais que c’est diablement efficace.
Je vais expliquer comment j’ai configuré mon clavier.
Tout d’abord voici les…
Idées sur lesquelles je suis parti :
Je ne veux pas réapprendre toutes les touches, je n’ai pas que ça à faire. ;
Je veux que toutes les touches difficiles d’accès deviennent faciles d’accès ;
Je veux bouger le moins possible mes doigts ;
Je veux pouvoir développer et accéder au moins aussi rapidement qu’avant aux touches spéciales pour les développeurs ;
Donc voici ce que j’ai mis en place. Avant de le montrer…
Ma façon de raisonner :
Clavier en mode normal : toutes les touches accessibles comme un clavier AZERTY. Très facile. ;
Touches développeur à gauche : le clavier français est tout simplement le clavier le moins bien pensé pour les développeurs. Autant le clavier QWERTY donne la possibilité d’accéder facilement aux accolades, crochets et autres pipes, slash et antislashes, autant le clavier français est un calvaire : c’est pourquoi j’ai pensé à mettre toutes ces touches faciles d’accès ;
De la même façon, les touches de déplacement. Quand on y réfléchit bien, les touches fléchées sont bien, mais elles ne sont pas disposées logiquement : c’est juste une habitude qu’on a pris, ça ne signifie pas que c’est le plus pratique. Exemple simple : quand on va à gauche, c’est la flèche gauche. En réfléchissant un peu, si on veut aller beaucoup plus à gauche, il faudrait, logiquement avoir une touche supplémentaire à gauche, et pas une touche totalement dégroupée au dessus comme c’est le cas sur tous les claviers classiques. Donc sur ma configuration, lorsqu’on accède aux touches de déplacement, j’ai, à gauche de la « flèche gauche », la touche « home », et pas au dessus. C’est juste un repère spatial très simple, et ça fonctionne à merveille !
Ensuite il me fallait le pavé numérique. J’ai donc crée une couche pour le pavé numérique. Comme c’est toujours avec la main droite qu’on accède au pavé numérique, je l’ai laissé à droite. Le côté gauche, lui, est réservé aux lettres accentuées. ;
Enfin, j’ai dû gérer les touches de fonction : comme il n’y avait plus de place pour les disposer de manière logique j’ai fait une dernière couche « fonctions ». Sur cette couche, il me restait beaucoup de touches disponibles. J’ai donc utilisé une des possibilités géniales du clavier : les macros. On peut jouer une suite de touches en n’appuyant que sur une seule lettre. Génial. Avec un petit bémol que je dis à la fin de cette page. Par exemple, pour écrire l’espace insécable, qui est j’appuie sur une touche « FN » (fonction) et la lettre « e » et hop il me fait tout. Vous pourriez tout à fait dire « oui mais on peut tout à fait faire ça sur l’éditeur : on configure un raccourci clavier. Ce à quoi je répondrai : oui mais tu ne peux pas prendre ta configuration et faire du plug n play n’importe où, alors que mon Ergodox, je le prends et je le branche sur n’importe quel PC, ça fonctionnera ! 🙂
Pour terminer, je ne vais pas entrer dans le détail, mais j’ai retravaillé le code du développeur qui a fait le portage d’un programme qui gère les claviers USB entièrement configurables. Avec ma « grosse » retouche – mais qui n’est que dans le clavier français, ainsi pas de souci, on peut avoir tout de suite une vision très claire et simple des touches qui seront affichées, et juste en dessous, de la touche réelle envoyée en USB. C’est très pratique, surtout si jamais vous voulez modifier votre configuration clavier, tout fonctionnera du premier coup et facilement. Le code d’origine était fonctionnel, mais dur à lire. Là, c’est sympa et c’est un jeu d’enfant. Il vous suffit juste de trouver la correspondance avec la bonne touche : par exemple, si vous voulez envoyer le « a », vous allez dans ma table de correspondance (page Ergodox AZERTY configuration juste un peu au dessus de celle en cours) et vous chercher où est le « a » dans la colonne de droite. Vous verrez qu’il faut envoyer la lettre « Q » et vous modifiez la touche que vous voulez, et tout fonctionnera.
Donc voici les images de…
chaque « couche » clavier :
…même s’ils elles ne sont pas très lisibles, cliquez dessus pour avoir la version plus grande :
Couche 0
AZERTY normal :
,--------------------------------------------------. ,--------------------------------------------------.
| Esc | & 1 | é 2 | " 3 | ' 4 | ( 5 | ^L3 | | Pscr | - 6 | è 7 | _ 8 | ç 9 | à 0 | Bspc |
|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
| Tab | a A | z Z | e E | r R | t T | Bspc | | ~L1 | y Y | u U | i I | o O | p P | ^ ¨ |
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
| . | q Q | s S | d D | f F | g G |------| |------| h H | j J | k K | l L | m M | Enter |
|--------+------+------+------+------+------| Ent | | Ins |------+------+------+------+------+--------|
| Lsft | w W | x X | c C | v V | b B | | | | n N | , ? | ; . | : / | ! § | Rsft |
`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
| LCtl | LGui | LAlt | Lsft | Del | | Spc | Spc | RAlt | RGui | RCtl |
`----------------------------------' `----------------------------------'
,-------------. ,-------------.
| Copy | Pste | | Nbsp | F8 |
,------|------|------| |------+------+------.
| | | Cut | | <> | | |
| ~L1 | ~L2 |------| |------| ~L2 | ~L1 |
| | | Del | | </> | | |
`--------------------' `--------------------'
Couche 1
Caractères pour le développement à gauche, mouvements du curseur et copier coller à droite :
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 :
J’ai donc pris le petit morceau qui sert à amortir, et j’y ai adjoint un oring rouge :
Ensuite, j’ai fait ma petite « tour » ainsi :
Et je l’ai mise sous le clavier, ainsi :
J’ai fait la même chose pour les 4 coins les plus extrêmes du clavier. Je vous montre les deux de devant :
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.
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.
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 !
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 !
Lorsque j’ai reçu le colis, j’ai pris quelques photos afin de vous montrer ce que cela donne :
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 :
Je vais présenter ce clavier totalement atypique, pourtant qui enlève tous les inconvénients de tous les claviers actuels.
Voici le clavier :
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
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
Utilisez le configurateur sur le site Massdrop ici ;
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 ;
Récupérez les sources, pas juste le fichier binaire, cochez juste comme ceci :
Dans le fichier lib\key-functions\public\special.c, ajoutez aux directives « include » celle-ci :
#include <util/delay.h>
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);
}
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);
Touche finale : le fichier dans lequel il y a la configuration de votre clavier :
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 :
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 :
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
Et voilà il ne vous reste plus qu’à compiler :
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 ?
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.
Voici le vrai, l’ultime clavier de geek, celui que tout le monde attend avec impatience : j’ai nommé : le DAS Keyboard Ultimate S (S pour « Silent »).
Attendez, je crois que je ne l’ai pas écrit avec les lettres qui vont avec :
DAS Keyboard Ultimate S
Voici les photos :
Pour résumer, le DAS Keyboard est aux claviers ce que les voitures de collection sont aux voitures : il n’y que les connaisseurs qui pourront apprécier, les autres ne sauront que critiquer de manière négative.
Bien sûr, dans ce cadre, plein de personnes vont penser « un clavier sans rien d’écrit dessus, n’importe quoi ! ».
Ou encore : « mais bon sang qu’est-ce qu’il est bruyant ! ».
Euh oui et non.
D’une part, je dois avouer que le toucher est absolument, comme tout le monde le dit (en Anglais ou en Allemand, mais pas en Français), excellent. C’est comme certaines bonnes choses : ça ne s’explique pas. Il n’y a qu’en pratiquant qu’on peut comprendre.
En fait, si on se renseigne vraiment, on peut comprendre techniquement le pourquoi de cette sensation si agréable. Notamment, concernant le principe des switches « Cherry MX ». Pour la note, j’ai acheté la version « Silent », donc celle qui a les switches « Cherry MX » bruns, et non pas bleus. Ils sont nettement moins bruyants, mais je dois avouer qu’ils sont tout de même bien plus bruyants que la plupart des claviers. Le son n’est pas si désagréable pour moi, disons même… surtout pour moi parce que je suis assez sensible au son. Et quand on développe, tout son qui pollue me gêne.
Clavier Azerty qui n’est pas prévu pour la programmation
Le seul hic ? Le seul gros hic ? Il n’est pas prévu pour la programmation. Avec notre super bonne mentalité et nos super bonnes idées, la plupart des caractères utiles en programmation sont difficilement accessibles. Comparez un clavier « Qwerty » et ses accolades, {} ou encore ses crochets [], c’est très facile à atteindre, alors qu’avec un clavier « Azerty », on ne peut taper que sur la touche AltGR, qui est située à droite. Donc on est obligé d’utiliser la main droite, même dans les cas où on devrait pouvoir se servir des deux mains.
Bon bref, pour l’instant, j’aime beaucoup taper avec, j’ai l’impression de faire nettement moins de fautes, et vraiment je n’ai pas à me plaindre. Par contre, c’est un fait, il n’est pas prévu pour le développement. En effet, sous vim, où on n’a pas le droit à l’erreur quand on tape les ordres, c’est assez frustrant, parce que je fais très souvent des retours en arrière, des « undo ». Disons, peut être qu’avec le temps, si j’arrive à me faire aux touches, je me détacherai définitivement les yeux du clavier, et je reviendrai éditer cet article (sourire).
Attention, par rapport au prix : il faut savoir au moins une chose : ce clavier a la possibilité de faire du « full N key rollover ». Pour simplifier au maximum la chose, disons que si on tape plusieurs touches en même temps, comme c’est le cas pour beaucoup de jeux, le clavier sait toujours parfaitement gérer tout ça et vous n’aurez jamais plus le fameux problème du clavier qui « stoppe » en bipant. C’est ce genre de détails qui font toute la différence entre un clavier à 15 euros et un clavier à 150 euros. Euh… oui oui il vaut bien 150 euros.