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

Source.

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>