Construire soi-même son clavier mécanique:
idée bizarre ou idée de génie?

Qui suis-je ?

  • Benjamin Legrand
  • Tech Lead @ onepoint
  • @benjilegnard sur Twitter, Github, Twitch...

Story time

Poster du film very bad trip

Quote

Being valid is temporary

Source: a11y experts wisdom from the internet

HYPE

Photo d'un clavier ergonomique en deux parties

Le moonlander

Dans ce talk

  • C'est quoi un clavier?
  • les Split Keyboards
  • Programmer son clavier
  • REX de mes propres build

Down the rabbit hole

Gif animé d'alice au pays des merveilles qui tombe dans le terrier du lapin blanc

Un peu d'histoire

extrait vidéos du film Astérix et Obélix mission cléopatre montrant Alain chabat en César faisant le signe du triangle

Télégraphe

Photo du télégraphe de hughes, présentant un clavier comme un piano, avec des touches noires et blanches, mais avec des lettres dessus

Source: https://en.wikipedia.org/wiki/David_Edward_Hughes

Machine à écrire (1)

Photo du premier brevet déposé pour une machine à écrire

Source: https://americanhistory.si.edu/collections/search/object/nmah_850123

Machine à écrire (2)

dessin d'une machine à écrire densmore

Machine à écrire (3)

dessin d'une machine à écrire underwood

Machine à écrire (4)

schema des touches d'une machine à écrire

Téléscripteur

photo en couleur d'un téléscripteur
  • télétype
  • ou... TTY

70's / 80's

Source : https://catonmat.net/why-vim-uses-hjkl-as-arrow-keys

HJKL

Source : https://catonmat.net/why-vim-uses-hjkl-as-arrow-keys

90's / 00's globalisation

Retour aux sources ?

So many keys...

capture du film 'Retour vers le futur' avec le texte 'routes ? là ou on va on a pas besoin, de routes'

Là où on va on a pas besoin, de touches

100% layout

80% layout

60% layout

40% layout

and less

Source: https://github.com/kata0510/Lily58

and even less

photo du clavier ergonomique en deux partie : le 'corne'

Source: https://josef-adamcik.cz/electronics/corne-keyboard-build-log.html

And what even is that ?

Source: https://www.reddit.com/r/ErgoMechKeyboards/comments/mqw13x/my_new_fifi_split_keyboard_using_the_miryoku/

And that ?

Dactyl manuform

Do we need something else ?

photo d'un clavier créé par stackoverflow pour un premier avril, il y a trois touches, ctrl, C et V

And the list goes on...

Split keyboards

Source du slide précédent: https://aposymbiont.github.io/split-keyboards/

Ergonomie

Adaptation d'un environnement de travail (outils, matériel, organisation…) aux besoins de l'utilisateur.

Ergonomie (2)

  • Bon fauteuil
  • Écran à hauteur des yeux
  • Conseils sur le clavier?

TMS

  • Troubles Musculo-squelettiques
  • En augmentation constante, 60% depuis 2003
  • Touche (entre autres) les poignets, les doigts
  • causé par des contraintes sur le corps, mouvements non-naturel

Source: https://www.ameli.fr/assure/sante/themes/tms/comprendre-troubles-musculosquelettiques

Staggered ?

Photo d'un clavier en disposition de touches 'décalées' comparé à un clavier ortholinéaire ou toutes les touches sont sur une grille et de la mème taille

Ortholinear ?

photo d'un calvier ortholinéaire, le planck

Staggered

Oui, mais verticalement

Tenting

Inclinaison

Source: falba.tech

Pourquoi découper un clavier ?

Gif animé extrait du film 'la cité de la peur' lorsqu'un projectionniste se fait attaquer à la faucille, et il dit 'attention chérie, ca va trancher'

Pas bien

Illustration des mains sur un clavier, quand les poignets sont tordus, c'est pas bon

Source: https://fitforworksg.com/typing-and-ergonomics-what-is-important/

Bien

Illustration des mains sur un clavier, quand les poignets sont droits, c'est une bonne posture

Source: https://fitforworksg.com/typing-and-ergonomics-what-is-important/

La home row ?

schéma montrant les touches d'un clavier avec la silhouette des mains positionnées sur la rangée principale

DVORAK

BÉPO

AZERTY, pour du dev ?

🤮

Les couches ?

  • Vous les utilisez déjà
  • Shift, Alt, Alt+gr, fn
  • Raise / Lower

Avantages des couches
pour le développement

  • Peu de mouvement des doigts
  • Accès facilité aux caractères spéciaux
  • Personnalisation

LISP

Dis moi papa, comment ça marche, un clavier ?

Bienvenue dans la matrice

schéma simplifié de l'électronique d'un clavier une matrice avec colonnes et lignes, et un interrupteur et diodes à chaque croisement

Schéma complet

schéma électronique d'une partie d'un clavier corne

Composants principaux

schema d'assemblage d'un clavier iris

Source: keeb.io

Les circuits imprimés

vue d'un logiciel de conception

qu'est ce qu'on y connecte ?

photo d'un kit de composants électroniques pour construire son propre clavier ergonomique, il s'agit du modèle kyria de splitkb

Microcontrôleur

photo d'un micro-controlleur

écrans OLED

photo d'un écran OLED sur un clavier ergonomique en deux parties

Lumière !

Photo de composants électronique, des diodes électro-luminescentes en gros plan

Et puis...

  • les switches
  • les keycaps

Les switches

gif animé de jacquouille dans le film 'les visiteurs'

(On dit des interrupteurs)

Ceux qui font du bruit

Ceux qui n'en font pas

Linéaire / Tactile / Clicky

gif animé montrant les mécanisme d'interrupteurs clavier

Source: https://thegamingsetup.com/guides/cherry-red-vs-brown

High vs Low profile

Source: https://hirosarts.com/low-profile-switches-guide/

MX vs choc

Keycaps, Keycaps everywhere

(On dit des dessus de touches)

Différents types de touches (profiles)

Différents profils

Différentes tailles

Différents plastiques

  • ABS (Acrylonitrile Butadiene Styrene)
  • PBT (polybutylene terephthalate)

Mon 1er build

Photo d'un clavier scindé ergonomique, modèle lily58

Aurora Lily58

Budget

Stream!

Atelier soudure

How to solder

Source: https://www.makerspaces.com/how-to-solder/

Le fer à souder

Photo d'un fer à souder avec support et éponge

Le fer à souder (2)

Stock photo

Type de soudure selon le composant

Source: https://diodes.com

Position des pattes

A few moments later...

Presque fini

Programmer son clavier

Le firmware

  • QMK
  • ZMK
  • via

Les keymaps

  • keymap.json
  • rules.mk

keymap.json

Capture d'écran d'un fichier JSON contenant les codes de touches

KeyCodes

  • KC_A: a
  • KC_B: b
  • KC_LSHFT: Shift gauche
  • KC_ESC: Echap
  • Et caetera...

Source: https://github.com/qmk/qmk_firmware/blob/master/docs/keycodes.md

Layer functions

  • MO(x): Momentary turn layer on
  • TG(x): Toggle layer on/off
  • DF(x): Sets default layer

Mod key combinations

LShift(KC_X) RShift(KC_X)
LCtrl(KC_X) RCtrl(KC_X)
LAlt(KC_X) RAlt(KC_X)
LGui(KC_X) RGui(KC_X)

Mod key combinations (2)

RSA(KC_X) (right shift + right alt + x)
MEH(KC_X) (ctrl + shift + alt + x)
HYPR(KC_X) (ctrl + shift + alt + win + x)

Modifier on hold

LShift_T(KC_X) RShift_T(KC_X)
LCtrl_T(KC_X) RCtrl_T(KC_X)
LAlt_T(KC_X) RAlt_T(KC_X)
LGui_T(KC_X) RGui_T(KC_X)

Tap Dance

Doigts tapotant sur une table

Mes futurs builds

Et surtout, tout est open-source !

Lily58

https://github.com/kata0510/Lily58

Corne

https://github.com/foostan/crkbd

Ferris

Carte des touches d'un clavier Ferris sweep

https://github.com/davidphilipbarr/Sweep

34 touches?

Couche 0

Carte des touches d'un clavier Ferris sweep

Couche 1/D : majeur gauche

Carte des touches d'un clavier Ferris sweep

Couche 2/K : majeur droit

Carte des touches d'un clavier Ferris sweep

Couche 3/F : index gauche

Carte des touches d'un clavier Ferris sweep

Couche 4/J : index droit

Carte des touches d'un clavier Ferris sweep

Couche 5/F : annulaire gauche

Carte des touches d'un clavier Ferris sweep

Couche 6/L : annulaire droit

Carte des touches d'un clavier Ferris sweep

Couche 7 : pouce droit

Carte des touches d'un clavier Ferris sweep

Problèmes rencontrés

Le cé cédille

  • Existe pas en qwerty
  • Solution: utiliser le layout US intl with dead keys
  • Touches mortes: `+e=è
  • Mettre un altGR (right alt) sur son layer 0

Passer d'azerty en qwerty

  • Configurer 2 langues de saisie
  • Windows : shift + capslock
  • Linux (gnome) : super + space

Changer ses habitudes

  • Compliqué quand on tape depuis longtemps sur le même layout
  • Rien n'est insurmontable, il suffit de répéter les choses.
  • "It gets easier"

Je ne savais pas taper sur clavier

Doigts par colonne

Dactylo / touch-typing

S'entraîner: monkeytype

capture d'écran d'un live twitch ou benjamin legrand s'entraine au clavier

Faites vous des cheat-sheets!

photo d'un portable avec une feuille d'aide couvrant le clavier

Ressources / Aide

Thanks, reddit

Shops

Derniers conseils

  • Apprenez les vim motions
  • Débranchez vos souris
  • Apprenez les raccourcis de vos OS et apps
  • Utilisez un gestionnaire de fenêtre en "carrelage"
    (i3, sway)

Conclusion

Faites le pour le comfort, pas pour la vitesse

Merci