Mots-clé : clavier

2 – Preonic : le clavier parfait. Pour les nerds.

C’est l’Ergodox Infinity, mais en plus petit.

  1. mkdir keyboards && cd keyboards && mkdir preonic && cd preonic
  2. git clone https://github.com/qmk/qmk_firmware
  3. cp -R ./keyboards/preonic/keymaps/default ./keyboards/preonic/keymaps/azerty
  4. make preonic:azerty:dfu

Vous pourrez ainsi éditer le dossier qui est maintenant votre dossier custom azerty

vim ./keyboards/preonic/keymaps/azerty

Mint et Ubuntu : une vitesse de clavier bien plus rapide que Windows

La vitesse de répétition du clavier est liée non pas au hardware (comme je l’ai cru pendant des années), mais au software, donc au système d’exploitation.

Mon ami Windows (« ami »… vous sentez l’ironie ?), qui est fait principalement pour les personnes qui pensent (à tort) qu’on est plus rapide avec une souris qu’avec un clavier, propose un délai avant de répéter les touches très long, même au minimum, et une vitesse de répétition plutôt lente, pour des personnes comme moi qui aiment aller vite.

Mon vrai ami Linux, lui, permet d’aller extrêmement vite, et c’est génial. Bon ok, il permet d’aller si vite qu’on peut faire des petites blagounettes à son camarade de classe. Alors Ubuntu a eu l’idée complètement débile (et je reste poli) de copier Windows et de limiter la vitesse de répétition, et le délai, à des temps très longs, qui se rapprochent de ceux de Windows.

Pourquoi brider tout cela ? Quel est l’intérêt de limiter sa voiture à 50km/h si elle peut aller à 200km/h (et que les autoroutes ne sont pas limitées !).

La solution : après avoir demandé ici sur stackoverflow, voici la réponse, je vous la mets en français : ouvrez un terminal et copiez-collez ce code :

Si vous êtes sur Linux en général

gsettings set org.gnome.settings-daemon.peripherals.keyboard repeat-interval 20

gsettings set org.gnome.settings-daemon.peripherals.keyboard delay 140

Si vous êtes sur Mint ou sur Ubuntu, autre solution

gsettings set org.cinnamon.settings-daemon.peripherals.keyboard repeat-interval 20

gsettings set org.cinnamon.settings-daemon.peripherals.keyboard delay 140

Et voilà. C’est le genre de choses, quand j’ai fini de coder toute la journée, et que je reviens sur Windows pour jouer un peu, qui fait que si je dois faire autre chose que jouer, je me mets à détester Windows et rebooter rien que pour écrire mes mails (au final je reste sur Mint parce que je ne vais pas re-rebooter pour rejouer…).

1 – QMK firmware – clavier AZERTY – Update

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

Attention ce qui suit est une explication du temps que j’ai perdu, mais j’essaie de rester honnête : il y a deux gros « firmwares » que l’on peut mettre dans les claviers de geek : le firmware QMK et le firmware kiibohd. Les deux personnes qui bossent dessus sont hyper fortes et connaissent les claviers et les drivers sur le bout des doigts. De mon point de vue je ne conseille que le premier (dont j’ai mis les sources en téléchargement juste au dessus), car le kiibohd n’est que sources de problèmes.

Celui qui a fait de grosses sources, travaillé énormément dessus et qui a le plus de connaissances est Jacob Alexander (alias haata), et vous trouverez toutes ses sources ici. Seul gros problème : même s’il est plein de bonne volonté, son code est difficilement lisible et le comportement même du clavier est totalement incohérent par rapport à ce que je recherchais. Je ne conseille pas du tout de récupérer et d’utiliser ce code pour ces raisons :

  • si vous voulez afficher une image totalement différente sur votre LCD par rapport à la couche, c’est impossible : il affiche uniquement un chiffre par rapport à la couche en cours (et si on vient d’une couche à une autre, par exemple de la 3 à la 2, alors vous verrez 2 chiffres)
  • si vous voulez facilement programmer des macros, vous allez galérer à mort, je n’y suis pas arrivé
  • si vous voulez compiler facilement sous Windows, c’est la même chose, et la seule réponse c’est : utilisez une machine virtuelle Linux et compilez là. Super !

Bref, que des points bloquants, même si un seul était résolu, les autres m’empêcheraient de faire ce que je veux avec mon Infinity Ergodox, donc : go for QMK !.

Infinity ergodox

[Update 5 avril 2018]
Voici toutes mes sources :
2018.04.05.qmk_firmware.tar.bz2
Pour la compilation, tout a changé et n’est plus compatible (…), voici la nouvelle commande qui fonctionne avec ce code source :
sudo make ergodox_infinity:azerty:dfu-util MASTER=right
sudo make ergodox_infinity:azerty:dfu-util MASTER=left

Tout mes sources spécifiques sont dans le dossier 
./layouts/community/ergodox/azerty

  • Les macros + fonctions AZERTY sont dans le fichier keymap.c
  • Le texte sur les LEDs est dans visualizer.c

[Update 30 mars 2018]
J’ai reçu mes nouveaux keycaps.
Je poste juste des images. J’espère que vous pardonnerez la qualité de l’image et les grains de poussière qui pourraient faire croire que c’est pas très nettoyé chez moi mais l’appareil photo les fait ressortir malgré mes 4-5 prises de vues et re-nettoyage…

Ergodox nouveaux keycaps
Ergodox nouveaux keycaps
Ergodox nouveaux keycaps
Ergodox nouveaux keycaps
Ergodox nouveaux keycaps
Ergodox nouveaux keycaps
Ergodox nouveaux keycaps
Ergodox nouveaux keycaps
Ergodox nouveaux keycaps
Ergodox nouveaux keycaps
Ergodox nouveaux keycaps
Ergodox nouveaux keycaps

[/Update]

Après avoir acheté deux fois l’Infinity Ergodox (oui le premier avait des défaut de LED, celle de droite était défectueuse… je l’ai gardé car je ne l’aurais jamais revu si je l’avais renvoyé), j’ai récupéré toutes les sources et j’ai tout fait pour les recompiler.

Bref, il fonctionne :


Infinity Ergodox


Infinity Ergodox


Infinity Ergodox

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, avec quelques modifications qui me conviennent mieux..

Ergofip : il est sur le point de sortir !

Ergofip - international  ergonomic mechanical hightech customizable keyboard
Ergofip – international ergonomic mechanical hightech customizable keyboard

Après avoir…
– passé le site en https, https://www.ergofip.com,
– travaillé jour et nuit sur les photos
– travaillé plusieurs week ends sur le tournage

il est sur le point de sortir !

Ergofip - international  ergonomic mechanical hightech customizable keyboard
Ergofip – international ergonomic mechanical hightech customizable keyboard

Clavier mécanique, entièrement configurable, international et LEDs RGBs.

Merci à mes étudiants qui ont accepté ces photos :

Licence Pro / IUT Aix en Provence :

Ergofip - etudiants LP/IUT 2016-2017
Ergofip – etudiants LP/IUT 2016-2017

Et Ecole d’ingénieur ISEN Toulon :

Ergofip - etudiants ISEN 2016-2017
Ergofip – etudiants ISEN 2016-2017

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

7 – WASD keyboard customisation

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.

Image du sachet avec les touches

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.
Touches à plat

De plus j’ai commandé les touches avec toutes les inclinaisons possible, volontairement :
Touches à plat 2
Touches à plat 3
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.

Touches à plat 3

Voici les touches une fois posées :
Image vue de gauche

Et de plus près :

Image de côté
Image de côté
Image de côté
Image de côté
Image de côté
Image de côté
Image

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.

Image finale

6 – Ma configuration du clavier

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 :

,--------------------------------------------------.           ,--------------------------------------------------.
|   Esc  |   F1 |   F2 |   F3 |   F4 |   F5 |   F6 |           |   F7 |   F8 |   F9 |  F10 |  F11 |  F12 |  Bspc  |
|--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
|   Tab  |   \  |   <  |   _  |   >  |   |  |   $  |           |  Cut | Copy | Ct-← |   ↑  | Ct-→ | Pste |   ^ ¨  |
|--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
|     -  |   {  |   (  |   /  |   )  |   }  |------|           |------| Home |   ←  |   ↓  |   →  |  End |  Enter |
|--------+------+------+------+------+------|   =  |           |  -   |------+------+------+------+------+--------|
|  Lsft  |   #  |   [  |   *  |   ]  |   @  |      |           |      |   -  | PgUp |  Ins | PgDn | PEnt |  Rsft  |
`--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
  | LCtl | LGui | LAlt |   ~  | Lsft |                                       |   0  |   .  | RAlt | RGui | RCtl |
  `----------------------------------'                                       `----------------------------------'
                                       ,-------------.       ,-------------.
                                       |   -  |   -  |       |   -  |    - |
                                ,------|------|------|       |------+------+------.
                                |      |      |   -  |       |   -  |      |      |
                                |   -  |   -  |------|       |------|   -  |   -  |
                                |      |      |   -  |       |   -  |      |      |
                                `--------------------'       `--------------------'

Couche 2

Les touches accentuées à gauche, pavé numérique à droite :

,--------------------------------------------------.           ,--------------------------------------------------.
|    Esc |   -  |   -  |   -  |   -  |   -  |   -  |           |   -  |   -  | NLCK |   /  |   *  |   -  |  Bspc  |
|--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
|   Tab  |   -  |   ô  |   â  |   à  |   -  |   -  |           |   -  |   -  |   7  |   8  |   9  |   +  |   ^ ¨  |
|--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
|     -  |   ë  |   é  |   -  |   è  |   -  |------|           |------|   -  |   4  |   5  |   6  |   +  |  PEnt  |
|--------+------+------+------+------+------|   -  |           |   %  |------+------+------+------+------+--------|
|  Lsft  |   -  |   -  |   û  |   ù  |   -  |      |           |      |   -  |   1  |   2  |   3  | PEnt |  Rsft  |
`--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
  | LCtl | LGui | LAlt |  Spc | Lsft |                                       |   0  |   .  | RAlt | RGui | RCtl |
  `----------------------------------'                                       `----------------------------------'

Couche 3

Trois macros à gauche, et les touches de fonction sur tout le clavier :

,--------------------------------------------------.           ,--------------------------------------------------.
|   Esc  |   F1 |   F2 |   F3 |   F4 |   F5 |   F6 |           |   F7 |   F8 |   F9 |  F10 |  F11 |  F12 |  Bspc  |
|--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
|    -   |   -  |   <> |   -  |  </> |   -  |   -  |           |   -  |   -  |   -  |   -  |   -  |   -  |    -   |
|--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
|    -   |   -  |   -  |   -  | Nbsp |   -  |------|           |------|   -  |   -  |   -  |   -  |   -  |    -   |
|--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
|    -   |   -  |   -  |   -  |   -  |   -  |   -  |           |   -  |   -  |   -  |   -  |   -  |   -  |    -   |
`--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
  |   -  |   -  |   -  |   -  |   -  |                                       |   -  |   -  |   -  |   -  |   -  |
  `----------------------------------'                                       `----------------------------------'
                                       ,-------------.       ,-------------.
                                       | +L2  | Home |       | PgUp | Del  |
                                ,------|------|------|       |------+------+------.
                                |      |      |  End |       | PgDn |      |      |
                                | BkSp |  ESC |------|       |------| Enter| Space|
                                |      |      |  Spc |       | Ins  |      |      |
                                `--------------------'       `--------------------'

Couche 4

Pour jouer à Trackmania : touches pour accélérer, droite et gauche, et toutes les autres touches sont annulées :

,--------------------------------------------------.           ,--------------------------------------------------.
|    -   |   -  |   -  |   -  |   -  |   -  |  -L4 |           |  -L4 |   -  |   -  |   -  |   -  |   -  |    -   |
|--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
|    -   | Bspc |  z Z |  Del |   -  |   -  |   -  |           |   -  |   -  | Bspc |   ↑  |  Del |   -  |    -   |
|--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
|    -   |  q Q |  s S |  d D |   -  |   -  |------|           |------|   -  |   ←  |   ↓  |   →  |   -  |    -   |
|--------+------+------+------+------+------|   -  |           |   -  |------+------+------+------+------+--------|
|    -   |   -  |   -  |   -  |   -  |   -  |      |           |      |   -  |   -  |   -  |   -  |   -  |    -   |
`--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
  |   -  |   -  |   -  |    - |   -  |                                       |   -  |    - |   -  |   -  |   -  |
  `----------------------------------'                                       `----------------------------------'
                                       ,-------------.       ,-------------.
                                       |   -  |   -  |       |   -  |   -  |
                                ,------|------|------|       |------+------+------.
                                |      |      |   -  |       |   -  |      |      |
                                |   -  |   -  |------|       |------|   -  |   -  |
                                |      |      |   -  |       |   -  |      |      |
                                `--------------------'       `--------------------'

La version informatique des écrans précédents :

Configuration clavier code au complet