QMK
Tout l'intérêt de bidouiller ses claviers c'est de pouvoir les configurer à sa sauce. Dans un premier temps c'est pour ça que j'ai mis une PCB custom dans mon HHKB. Puis « construit » mon Kyria.
Dans les deux cas, je passe par QMK pour modifier le firmware.
Préparation de l'environnement de configuration
Sous linux, on installe l'outil qmk
. C'est avec lui que nous allons faire toutes nos opérations.
apt install pipx
# ancienne méthode : python3 -m pip install --user qmk
pip install qmk --break-system-packages
Puis on exécute qmk setup --home /opt/qmk_firmware
pour vérifier, voire ajouter, ce dont nous avons besoin pour la suite.
Maintenant, il faut définir le modèle de clavier et créer les fichiers de configuration qui vont nous être utiles.
Dans mon cas, les commandes pour le hhkb
qmk config user.keyboard=hhkb/ansi/32u4
qmk config user.keymap=yfery
qmk new-keymap
et celle pour le Kyria
qmk config user.keyboard=splitkb/kyria/rev2
qmk config user.keymap=yfery
qmk new-keymap
Après cette commande, un répertoire du nom du keymap est créé avec la configuration de base du clavier.
La configuration
La configuration se sépare sur plusieurs fichiers :
- keymap.c, comme son nom l'indique, il contient les différents layouts et les liens entre eux
- rules.mk, pour activer certains modules
- config.h, configuration de certaines variables
Compilation
Une fois la configuration prête, on compile, puis on flashe la ROM avec le fichier hex généré précédemment
qmk compile
qmk flash -kb hhkb/ansi/32u4 -km yfery
# ou
qmk flash -kb splitkb/kyria/rev2 -km yfery
à tester
https://docs.keeb.io/reset-eeprom
# pour avoir le bon chip
qmk info
dfu-programmer atmega32u4 erase --force
dfu-programmer atmega32u4 flash --force --suppress-validation --eeprom reset.eep
dfu-programmer atmega32u4 erase --force
dfu-programmer atmega32u4 flash --force <path to hex file>