Ceci est une ancienne révision du document !
Table des matières
Ergodox
(D'autres photos : Galerie)
Flasher le firmware
Prérequis
Il faut installer :
$ sudo apt install gcc-avr
Avec TMK
J'ai tout d'abord essayé avec le firmware “tmk” mais je n'ai jamais réussi à avoir quelque chose de fonctionnel. Le firmware est apparemment envoyé sur le clavier mais pas une touche ne marche.
Pour mémoire:
Avec QMK
Ensuite, j'ai essayé avec le firmware qmk (github), qui est lui-même basé sur tmk, avec plus de succès.
simon@deb:~/git$ git clone https://github.com/qmk/qmk_firmware.git simon@deb:~/git$ cd qmk_firmware/ simon@deb:~/git/qmk_firmware$ ls autocomplete.sh common.mk LICENSE shell.nix book.json Dockerfile license_GPLv2.md show_options.mk bootloader.mk docs license_GPLv3.md testlist.mk build_full_test.mk Doxyfile license_Modified_BSD.md tests build_keyboard.mk doxygen-todo Makefile tmk_core build_layout.mk drivers message.mk users build_test.mk keyboards quantum util CODE_OF_CONDUCT.md layouts readme.md Vagrantfile common_features.mk lib secrets.tar.enc simon@deb:~/git/qmk_firmware$ ls -al keyboards/ total 980 (...) drwxr-xr-x 3 simon simon 4096 avr 10 19:49 ergodone drwxr-xr-x 4 simon simon 4096 avr 10 19:49 ergodox_ez drwxr-xr-x 3 simon simon 4096 avr 10 19:49 ergodox_infinity (...) simon@deb:~/git/qmk_firmware$ ls -al keyboards/ergodox_ez/ total 84 drwxr-xr-x 4 simon simon 4096 avr 10 19:49 . drwxr-xr-x 243 simon simon 4096 avr 10 19:49 .. -rw-r--r-- 1 simon simon 673 avr 10 19:49 190hotfix.sh -rw-r--r-- 1 simon simon 4340 avr 10 19:49 config.h -rw-r--r-- 1 simon simon 11644 avr 10 19:49 ergodox_ez.c -rw-r--r-- 1 simon simon 11160 avr 10 19:49 ergodox_ez.h -rw-r--r-- 1 simon simon 8830 avr 10 19:49 info.json drwxr-xr-x 24 simon simon 4096 avr 10 19:49 keymaps -rw-r--r-- 1 simon simon 9196 avr 10 19:49 matrix.c -rw-r--r-- 1 simon simon 1298 avr 10 19:49 readme.md -rw-r--r-- 1 simon simon 3481 avr 10 19:49 rules.mk drwxr-xr-x 2 simon simon 4096 avr 10 19:49 util simon@deb:~/git/qmk_firmware$ ls -al keyboards/ergodox_ez/keymaps/ total 96 (...) drwxr-xr-x 2 simon simon 4096 avr 10 19:49 bdk drwxr-xr-x 2 simon simon 4096 avr 10 19:49 bepo_tm_style drwxr-xr-x 2 simon simon 4096 avr 10 19:49 blakedietz (...) simon@deb:~/git/qmk_firmware$ make git-submodule simon@deb:~/git/qmk_firmware$ make ergodox_ez:bepo_tm_style:all QMK Firmware 0.6.328 Making ergodox_ez with keymap bepo_tm_style and target all avr-gcc (GCC) 5.4.0 Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Size before: text data bss dec hex filename 0 30658 0 30658 77c2 .build/ergodox_ez_bepo_tm_style.hex Compiling: tmk_core/common/command.c [OK] Linking: .build/ergodox_ez_bepo_tm_style.elf [OK] Creating load file for flashing: .build/ergodox_ez_bepo_tm_style.hex [OK] Copying ergodox_ez_bepo_tm_style.hex to qmk_firmware folder [OK] Checking file size of ergodox_ez_bepo_tm_style.hex [OK] * The firmware size is fine - 30658/32256 (1598 bytes free)
Le firmware ( ergodox_ez_bepo_tm_style.hex ) est dans le dossier courant. On peut l'envoyer avec cette commande :
simon@deb:~/git/qmk_firmware$ teensy_loader_cli --mcu=atmega32u4 -v -w ergodox_ez_bepo_tm_style.hex Teensy Loader, Command Line, Version 2.1 Read "ergodox_ez_bepo_tm_style.hex": 30658 bytes, 95.0% usage Waiting for Teensy device... (hint: press the reset button) Found HalfKay Bootloader Read "ergodox_ez_bepo_tm_style.hex": 30658 bytes, 95.0% usage Programming................................................................................................................................................................................................................................................ Booting
Maintenant qu'on a compris la procédure pour envoyer un layout choisi sur le clavier, on doit faire le layout qui nous convient et recommencer la procédure.
Configurer le layout
On commence par faire une copie du layout bepo pour l'ergodox_ez :
simon@deb:~/git/qmk_firmware$ cp -r keyboards/ergodox_ez/keymaps/bepo_tm_style/ keyboards/ergodox_ez/keymaps/bepo_simon simon@deb:~/git/qmk_firmware$ ls -al keyboards/ergodox_ez/keymaps/bepo_simon/ total 32 drwxr-xr-x 2 simon simon 4096 avr 10 20:10 . drwxr-xr-x 25 simon simon 4096 avr 10 20:10 .. -rwxr-xr-x 1 simon simon 694 avr 10 20:10 config.h -rwxr-xr-x 1 simon simon 12235 avr 10 20:10 keymap.c -rwxr-xr-x 1 simon simon 770 avr 10 20:10 readme.md -rwxr-xr-x 1 simon simon 646 avr 10 20:10 rules.mk
Keymap WIP ( 10/04/2019 ) :
Keymap WIP2 (12/04/2019) :
simon@deb:~/git/qmk_firmware$ make ergodox_ez:bepo_simon:all
simon@deb:~/git/qmk_firmware$ teensy_loader_cli --mcu=atmega32u4 -v -w ergodox_ez_bepo_simon.hex Teensy Loader, Command Line, Version 2.1 Read "ergodox_ez_bepo_simon.hex": 30706 bytes, 95.2% usage Waiting for Teensy device... (hint: press the reset button) Found HalfKay Bootloader Read "ergodox_ez_bepo_simon.hex": 30706 bytes, 95.2% usage Programming................................................................................................................................................................................................................................................ Booting
Octobre 2020
Il faut que je remette de l'ordre sur cette page parce que j'ai refait les choses assez différemment.
J'ai suivi la documentation de QMK. Installation avec pip3 :
$ python3 -m pip install --user qmk
J'ai copié ce fichier pour les règles udev :
$ sudo vim /etc/udev/rules.d/50-qmk.rules $ sudo udevadm control --reload-rules $ sudo udevadm trigger
J'ai fait le setup comme indiqué :
$ qmk setup Ψ Found qmk_firmware at /home/simon/qmk_firmware. Would you like to set /home/simon/qmk_firmware as your QMK home?y Ψ Wrote configuration to /home/simon/.config/qmk/qmk.ini Ψ QMK Doctor is checking your environment. Ψ Detected Linux. ⚠ Missing udev rules for 'massdrop' boards. See https://docs.qmk.fm/#/faq_build?id=linux-udev-rules for more details. ⚠ Detected ModemManager without the necessary udev rules. Please either disable it or set the appropriate udev rules if you are using a Pro Micro. Ψ QMK home: /home/simon/qmk_firmware Ψ All dependencies are installed. Ψ Found arm-none-eabi-gcc version 9.2.1 Ψ Found avr-gcc version 5.4.0 Ψ Found avrdude version 6.3-20171130 Ψ Found dfu-util version 0.9 Ψ Found dfu-programmer version 0.6.1 Ψ Submodules are up to date. Ψ Problems detected, please fix these problems before proceeding.
(Il reste quelques erreurs mais elles ne semblent pas poser de problèmes pour la suite.)
J'ai créé une nouvelle keymap dans le dossier de l'ergodox_ez (qui correspond le plus à ce que j'ai) :
$ qmk new-keymap -kb ergodox_ez Keymap Name: my-ergodox Ψ my-ergodox keymap directory created in: /home/simon/qmk_firmware/keyboards/ergodox_ez/keymaps/my-ergodox Ψ Compile a firmware with your new keymap by typing: qmk compile -kb ergodox_ez -km my-ergodox
On peut modifier cette keymap :
$ vim ~/qmk_firmware/keyboards/ergodox_ez/keymaps/my-ergodox/keymap.c
Ensuite, on peut la compiler :
$ qmk compile -kb ergodox_ez -km my-ergodox
Enfin, on peut l'envoyer sur le clavier avec teensy-loader-cli :
$ teensy_loader_cli --mcu=atmega32u4 -v -w ~/qmk_firmware/.build/ergodox_ez_my-ergodox.hex
État des lieux le 18/10/2020 : Toutes les touches fonctionnes mais je n'ai pas encore modifié la keymap créée par défaut… Il faut que j'attaque ça avant de m'habituer au clavier.