Outils pour utilisateurs

Outils du site


ergodox

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
ergodox [2019/04/10 18:59] – [Configurer le layout] simonergodox [2020/10/19 12:53] simon
Ligne 1: Ligne 1:
 ====== Ergodox ====== ====== Ergodox ======
-{{ :img_20190207_232329.jpg?400 |}} +{{tag>clavier ergodox}}
-(D'autres photos : [[https://simonlefort.be/images/?dir=keyboard|Galerie]])+
  
-===== Flasher le firmware ===== +===== Introduction =====
-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: +Ça fait longtemps que j'ai le projet de me fabriquer et d'apprendre à utiliser un clavier mécanique. Après avoir regardé longuement, bavé sur des modèles comme le [[https://marcyoung.us/post/pterodactyl/|Pterodactyl]]ou d'autres claviers particuliers comme le [[https://www.velocifiretech.com/product/dumang-dk6-ergo-v2/|DUMANG DK6]] ([[https://hackers.town/@zpojqwfejwfhiunz/103573273574733970|pouet mastodon]]), j'ai choisi de m'orienter vers un [[https://www.ergodox.io/|Ergodox]].
-<hidden> +
-<code bash> +
-simon@deb:~/Programmes$ git clone https://github.com/cub-uanic/tmk_keyboard.git +
-</code> +
-<hidden> +
-<code bash> +
-Clonage dans 'tmk_keyboard'... +
-remote: Enumerating objects: 1done. +
-remote: Counting objects: 100% (1/1), done. +
-remote: Total 17079 (delta 0), reused 0 (delta 0), pack-reused 17078 +
-Réception d'objets100% (17079/17079), 22.31 MiB | 3.12 MiB/s, fait. +
-Résolution des deltas: 100% (10038/10038), fait. +
-</code> +
-</hidden> +
-<code bash> +
-simon@deb:~/Programmes$ cd tmk_keyboard/keyboard/ergodox/ +
-simon@deb:~/Programmes/tmk_keyboard/keyboard/ergodox$ make -f Makefile.lufa clean +
-</code> +
-<hidden> +
-<code bash> +
-simon@deb:~/Programmes/tmk_keyboard/keyboard/ergodox$ make -f Makefile.lufa+
  
--------- begin -------- +Après avoir rêvé de tout reprendre de A à Z, de fabriquer le boitier en fibre de carbone et redessiner la carte électronique, je me suis avoué vaincu par le temps. J'ai commandé un kit chez [[https://falba.tech/customize-your-keyboard/customize-your-ergodox/?v=d3dcf429c679|falba.tech]].
-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.+
  
-(...)+{{ :img_20190207_232329.jpg?400 |}} 
 +(D'autres photos : [[https://images.simonlefort.be/?dir=Keyboard|Galerie]])
  
 +===== Programmer le clavier =====
  
-Creating load file for Flash: ergodox_lufa.hex +==== Installation de QMK ====
-avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature ergodox_lufa.elf ergodox_lufa.hex+
  
-Creating load file for EEPROMergodox_lufa.eep +Après avoir testé le [[https://github.com/tmk/tmk_keyboard|firmware TMK (github)]] sans succès, je suis passé à [[https://qmk.fm/|QMK (site)]]. Pour l'installation, j'ai suivi la [[https://docs.qmk.fm/#/|documentation de QMK]]Installation avec pip3 :  
-avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \ +<code bash> 
---change-section-lma .eeprom=0 --no-change-warnings -O ihex ergodox_lufa.elf ergodox_lufa.eep || exit 0+$ python3 -m pip install --user qmk 
 +</code>
  
-Creating Extended Listingergodox_lufa.lss +J'ai copié [[https://github.com/qmk/qmk_firmware/blob/master/util/udev/50-qmk.rules|ce fichier]] pour les règles [[informatique:udev]] :  
-avr-objdump ---z ergodox_lufa.elf ergodox_lufa.lss+<code bash> 
 +$ sudo vim /etc/udev/rules.d/50-qmk.rules 
 +$ sudo udevadm control --reload-rules 
 +$ sudo udevadm trigger 
 +</code>
  
-Creating Symbol Table: ergodox_lufa.sym +J'ai fait la configuration comme indiqué 
-avr-nm -n ergodox_lufa.elf > ergodox_lufa.sym +
- +
-Size after: +
-   text    data     bss     dec     hex filename +
-  23404      58     314   23776    5ce0 ergodox_lufa.elf +
-</code> +
-</hidden> +
-Vérification du MCU (voir [[https://pjrc.com/teensy/loader_cli.html|pjrc.com]]) :+
 <code bash> <code bash>
-simon@deb:~/Programmes/tmk_keyboard/keyboard/ergodoxcat Makefile.lufa | grep MCU +qmk setup
-# MCU name, you MUST set this to match the board you are using +
-MCU = atmega32u4 +
-#MCU = at90usb1286+
 </code> </code>
 +Il installe toutes les dépendances, vérifie les règles udev, demande où il peut s'installer par défaut, etc.. (Il reste quelques erreurs relatives à udev mais elles concernent d'autres types de clavier et ne semblent pas poser de problèmes pour la suite.)
  
-{{ ::ergodox-teensy-flash01.png?400 |}} +==== Créer une "keymap" ====
-{{ ::ergodox-teensy-flash02.png?400 |}} +
-{{ ::ergodox-teensy-flash03.png?400 |}} +
-</hidden> +
- +
-Ensuite, j'ai essayé avec le firmware [[https://qmk.fm/|qmk]] ([[https://github.com/qmk/qmk_firmware.git|github]]), qui est lui-même basé sur tmk, avec plus de succès.+
  
 +J'ai créé une nouvelle keymap dans le dossier de l'ergodox_ez (qui correspond le plus à ce que j'ai) :
 <code bash> <code bash>
-simon@deb:~/gitgit clone https://github.com/qmk/qmk_firmware.git+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: 
  
-simon@deb:~/git$ cd qmk_firmware/+ qmk compile -kb ergodox_ez -km my-ergodox 
 +</code>
  
-simon@deb:~/git/qmk_firmware$ ls +On peut modifier cette keymap :  
-autocomplete.sh     common.mk     LICENSE                  shell.nix +<code bash> 
-book.json           Dockerfile    license_GPLv2.md         show_options.mk +vim ~/qmk_firmware/keyboards/ergodox_ez/keymaps/my-ergodox/keymap.c
-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_firmwarels -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)+
 </code> </code>
  
-Le firmware ( ergodox_ez_bepo_tm_style.hex ) est dans le dossier courant. On peut l'envoyer avec cette commande +Ensuite, on peut la compiler :
 <code bash> <code bash>
-simon@deb:~/git/qmk_firmwareteensy_loader_cli --mcu=atmega32u4 -v -w ergodox_ez_bepo_tm_style.hex  +qmk compile -kb ergodox_ez -km my-ergodox
-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+
 </code> </code>
  
-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.+==== Envoyer la configuration sur le clavier ====
  
-===== Configurer le layout ===== +Enfin, on peut l'envoyer sur le clavier avec [[informatique:teensy-loader-cli]] :
-On commence par faire une copie du layout bepo pour l'ergodox_ez :+
 <code bash> <code bash>
-simon@deb:~/git/qmk_firmwarecp -r keyboards/ergodox_ez/keymaps/bepo_tm_style/ keyboards/ergodox_ez/keymaps/bepo_simon +teensy_loader_cli --mcu=atmega32u4 -v -w ~/qmk_firmware/.build/ergodox_ez_my-ergodox.hex
- +
-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+
 </code> </code>
  
 +**__É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.
 +
 +**__État des lieux le 19/10/2020 :__** J'avance, j'ai un layout à peu près convenable pour le calque de base.
 +
 +===== Sources =====
 +  * [[https://www.ergodox.io/|ErgoDox]] : Le site de l'ErgoDox "d'origine".
 +  * [[https://ergodox-ez.com/|ErgoDox-EZ]] : Une nouvelle version de l'ErgoDox.
 +  * [[https://www.reddit.com/r/MechanicalKeyboards/|MechanicalKeyboards]] : La communauté Reddit autour des claviers mécaniques.
ergodox.txt · Dernière modification : 2021/02/08 21:31 de simon