name: inverse layout: true class: center, middle, inverse --- layout: false # Ergonomie minimaliste
du clavier - évolution des claviers ergonomiques - dispositions de clavier *« mobile first »* - claviers minimalistes : la sobriété heureuse ? .footnote[:kazé / [@fabi1cazenave](https://github.com/fabi1cazenave)] --- ## Expérience personnelle - développement logiciel - 36 ans de touch-typing - Azerty, Qwerty, Dvorak, Bépo… - contribution à la conception du TMx 2030 - animation d’ateliers Vim depuis 10 ans - solide expérience en bobologie appliquée - (fractures, commotions, tendinopathies…) - référence mondiale en objectivité intellectuelle - (référence nécessaire) --- ## Ergonomie holistique du clavier (2019) 1. Une posture correcte, tu adopteras. 2. La dactylographie, tu apprendras. 3. La dactylographie, tu apprendras. Vraiment. 4. ** D’un clavier compact, tu t’équiperas. ** 5. De la souris et des flèches, tu t’abstiendras. 6. De Vim, tu t’inspireras. 7. De dispositions hasardeuses, nul besoin tu n’auras. https://fabi1cazenave.github.io/slides/2019-jdll/ --- template: inverse # Évolution ![Évolution](images/evolution.jpg) de la machine à écrire au clavier ergonomique --- ## L’héritage - 1878 : touche « Shift » (Remington #2) - 1893 : « frontstriking » (Underwood 1897) - 1910 : ~ standardisation ![Victoria 1913](images/typewriters/1913_victoria_cropped.png) --- ## Pinky Love - 1973 : backspace (IBM Correcting Selectric II) - 1981 : IBM PC XT - 1984 : IBM PC AT (photo) - 1986 : IBM Model M (101/102 touches) ![IBM PC AT](images/typewriters/1984_IBM_PC_AT.png) --- ## 1992 : Kinesis Contour / Advantage - les pionniers du clavier ergonomique - a inspiré Ergodox EZ, Moonlander, Dygma Defy… - </3 le placement des accolades… ![kinesis](images/keyboards/kinesis.png) --- ## 200? : TypeMatrix 2030 - alternative plus simple / moins chère ![typematrix](images/keyboards/typematrix.png) - encore meilleur que le Kinesis ! - c’est un consensus établi - je suis d’une objectivité totale - (j’ai participé à la conception du 2030-USB) --- ## 2015 : OLKB Planck - design open-source de Jack Humbert - fabriqué en DIY ou par OLKB, DSA, Drop… - programmable avec le firmware libre QMK ![Planck (ZSA)](images/keyboards/planck.png) - résoud tous les problèmes de placements - aucun doigt ne se déplace de plus d’une case - mais euh… les autres touches ? Balek ? --- ![size comparison](images/keyboards/keyboard_sizes.png) --- template: inverse # Layers l’art de faire venir les touches sous les doigts Shift, AltGr, what next ? --- ## Layer « prog » ![qwerty](images/layouts/qwerty0.svg) ![prog layer](images/layouts/prog0.svg) --- ## Layer « prog » : `(){}[]` ![qwerty](images/layouts/qwerty1.svg) ![prog layer](images/layouts/prog1.svg) --- ## Layer « prog » : `$%^&*` ![qwerty](images/layouts/qwerty2.svg) ![prog layer](images/layouts/prog2.svg) --- ## Layer « prog » : `<>-_+='"` ![qwerty](images/layouts/qwerty3.svg) ![prog layer](images/layouts/prog3.svg) --- ## Layer « prog » : `~ᐠ/|\@#!?` ![qwerty](images/layouts/qwerty4.svg) ![prog layer](images/layouts/prog4.svg) --- ## Layer « prog » : `01` ([démo !](demo#/qwerty/ansi)) ![qwerty](images/layouts/qwerty5.svg) ![prog layer](images/layouts/prog5.svg) --- ## Layer « nav » : `←↓↑→` ![qwerty](images/layouts/qwerty5.svg) ![prog layer](images/layouts/nav1.svg) --- ## Layer « nav » : `⇱⇟⇞⇲` ![qwerty](images/layouts/qwerty5.svg) ![prog layer](images/layouts/nav2.svg) --- ## Layer « nav/num » ![qwerty](images/layouts/qwerty6.svg) ![prog layer](images/layouts/nav3.svg) --- ## Less is more - compacité = élément clé de l’ergonomie - pour faire plus ergo, il faut supprimer des touches - 30 touches + deux layers suffisent ![Planck (Drop)](images/keyboards/planck_keycaps.png) L’art de déplacer les touches sous les doigts ! --- template: inverse # Layouts « mobile-first » concevoir une disposition de clavier compacte
en utilisant AltGr comme *layer* « prog » --- ## Qwerty US - 🙂 toutes les lettres dans le pavé 3×10 - 🙂 chiffres en direct ![Qwerty](layouts/qwerty.png) - 😢 pas d’accents --- ## Azerty - 😢 lettres excentrées : é, è, à, ù, ç - 😢 chiffres en Shift ![Azerty](layouts/azerty.png) - 😢 pas de majuscules accentuées - 😭 le point en Shift ! --- ## Bépo - 😢 lettres excentrées : M, Z, W, Ç - 😢 chiffres en Shift ![Bépo](layouts/bepo.png) - 😢 AltGr difficilement réutilisable (ù, tréma) - 😭 perte des raccourcis usuels --- ## [Qwerty-Lafayette.org](https://qwerty-lafayette.org) - quasi-identique au Qwerty ANSI (3 touches) - une seule touche morte pour les accents ![Qwerty-Lafayette](layouts/lafayette0.svg) --- ## [Qwerty-Lafayette.org](https://qwerty-lafayette.org) `àèùç` - quasi-identique au Qwerty ANSI (3 touches) - une seule touche morte pour les accents ![Qwerty-Lafayette](layouts/lafayette1.svg) --- ## [Qwerty-Lafayette.org](https://qwerty-lafayette.org) `é` - quasi-identique au Qwerty ANSI (3 touches) - une seule touche morte pour les accents ![Qwerty-Lafayette](layouts/lafayette2.svg) --- ## [Qwerty-Lafayette.org](https://qwerty-lafayette.org) `âêîôû` - quasi-identique au Qwerty ANSI (3 touches) - une seule touche morte pour les accents ![Qwerty-Lafayette](layouts/lafayette3.svg) --- ## [Qwerty-Lafayette.org](https://qwerty-lafayette.org) `œæµ«»€·…` - quasi-identique au Qwerty ANSI (3 touches) - une seule touche morte pour les accents ![Qwerty-Lafayette](layouts/lafayette4.svg) --- ## [Qwerty-Lafayette.org](https://qwerty-lafayette.org) ([démo !](demo#/lafayette/ansi)) - quasi-identique au Qwerty ANSI (3 touches) - une seule touche morte pour les accents ![Qwerty-Lafayette](layouts/lafayette5.svg) - meilleur qu’Azerty en français - meilleur que Qwerty pour coder --- ## [ErgoL.org](https://ergol.org) (WiP) - optimisation du Qwerty-Lafayette - préserve les raccourcis Ctrl-QASZXCV ![ErgoL](layouts/ergol.png) - meilleur que Bépo en français - meilleur que Dvorak en anglais --- ## Recommandations À chaque mésusage du clavier, il y a une solution : --- continued: true - Azerty / Qwertz / Qwerty
⇒ https://qwerty-lafayette.org --- continued: true - Dvorak / Bépo
⇒ https://ergol.org --- continued: true - `←↓↑→`
⇒ https://tuppervim.org + atelier Vim demain --- template: inverse # Claviers compacts (libres, évidemment) TKL, 60%, 40% ? 4×7, 4×6, 3×6, 3×5 ? --- ## TKL, 60%, 40% - 80% : Ten Key Less - 60% : format « historique » - 40% : qui a besoin de chiffres ? ![ANSI](images/keyboards/ANSI.svg) … mais toujours 14 colonnes. --- ## Corona #3 (1912) ![Corona #3](images/typewriters/1912_Corona3.png) --- ## 4×7 : ErgoDox Un croisement Kinesis & TypeMatrix :-) ![ErgoDox](images/keyboards/ergodox.png) (DSA Moonlander, Dygma Defy…) --- ## 4×7 : keyboard.io Model 01/100 ![Model01](images/keyboards/keyboardio.jpg) --- ## 4×6 : le format idéal ? OLKB Preonic 💓 ![OLKB Preonic](images/keyboards/preonic.jpg) --- ## 4×6 : le format idéal ? Iris56 💓 (Lily58…) ![Iris](images/keyboards/iris.jpg) --- ## 3×6 OLKB Planck ![OLKB Planck](images/keyboards/planck_drop.png) --- ## 3×6 Corne42 ![Corne42](images/keyboards/corne42.png) --- ## 3×5 ?!? (Atreus, Ferris34…) - pouces : Backspace, Entrée, Tab, Espace ![Ferris34](images/keyboards/ferris34.jpg) - comment change-t-on de layer ? - comment fait-on Shift, Ctrl, Alt, Super ? --- template: inverse # Dual Keys Une touche, plusieurs fonctions. Parce que QMK et ZMK sont magiques. --- ## Hold-Taps Principe : - touche tapée → fonctionnement normal - touche maintenue
→ modifieur ([mod-tap](https://docs.qmk.fm/#/mod_tap)) ou layer (layer-tap) Approche [Miryoku](https://github.com/manna-harbour/miryoku) pour les touches de pouces : - touche tapée → Backspace, Entrée, Tab, Espace… - touche maintenue → layer Prog, Nav, Num…
Exemple historique : Space Cadet (shift / parenthèses)
Exemple moderne : Caps / Ctrl (cf. [xcape](https://github.com/alols/xcape))
--- ## Home Row Mods = on utilise les *mod-taps* sur la *home row*
([Miryoku](https://github.com/manna-harbour/miryoku) : Super/Alt/Shift/Ctrl plutôt que layers)
![home row mods](images/home_row_mods.png) - facilite toutes les combinaisons de modifieurs - délicat à caler (configuration + habitude),
mais le jeu en vaut la chandelle https://precondition.github.io/home-row-mods --- ## Tap-Dance Keys = extension du principe de hold-tap : - tap → action 1 - hold → action 2 (modifieur / layer) - double tap → action 3 - tap and hold → action 4 https://docs.qmk.fm/#/feature_tap_dance --- ## Combos On appuie sur deux touches simultanément
→ ça émule une autre touche
(inaccessible en direct)
. - parfait sur des layouts non optimisés
(Qwerty, Azerty…)
- plus délicat sur les layouts optimisés
(Dvorak, Bépo, Colemak, ErgoL…)
Exemple : `JK` → `Esc`. Utilisable pour « sécuriser » les homerow mods:
https://jasoncarloscox.com/blog/combo-mods/ --- template: inverse >> Le fusil à lunette, c'est la première arme qu'on doit apprendre à maîtriser. >> Parce que c'est la seule qui te permet de rester suffisamment loin du client. >> Plus tu auras l'expérience du boulot, plus tu te rapprocheras du client. >> Le couteau par exemple, c'est ce qu'on apprend toujours en dernier. Léon (1994) --- ## Le chemin de l’éveil 1. 4×6 pour débuter (e.g. Preonic, Iris, Lily…) 2. apprendre un layout *« mobile first »*
(ou s’en inspirer)
3. s’habituer aux layer-taps sous les pouces 4. s’habituer aux homerow-mods --- continued: true Bénéfices : - les mains ne bougent plus du tout - les doigts ne bougent presque plus
(claviers 3×5 = 💓)
- plus de confort, moins d’erreurs --- ## Objectifs raisonnables --- continued: true - Azerty : 4×6 avec des combos pour `ù`, `^`, `¨`
(ou passer à Lafayette, très proche)
--- continued: true - Bépo : 3×6 avec hold-taps
ou combos pour `MZWÇ` si vous aimez souffrir
(ou passer à ErgoL, qui poutre sa race)
--- continued: true - Qwerty, Lafayette, ErgoL : 3×5 avec hold-taps !
(idem pour Dvorak, Colemak, Workman…)
--- continued: true - `←↓↑→` : passer à Vim ! --- continued: true RdV au stand pour essayer des claviers et/ou bricoler des configurations. :-) .footnote[:kazé / [@fabi1cazenave](https://github.com/fabi1cazenave)]