Forum bépo

Forum des utilisateurs du bépo

Vous n'êtes pas identifié(e).

#1 26/6/2017 15:48:56

GuilC
Membres
Inscription : 15/11/2013
Messages : 93

[ERGODOX] Modification de la configuration pour les nuls...

Salut à tous,
Je suis l’heureux propriétaire d’un ergodox depuis plusieurs années, mais je le délaisse encore au profit du Truly Ergonomic que je n’arrive pas à lâcher.
La principale raison est que je n’arrive pas à exploiter toutes les possibilités offertes par l’ergodox par manque de temps et surtout de connaissances !
Je me suis bien fait une configuration bépo qui tient la route avec le configurateur de Massdrop, mais je n’arrive pas à obtenir certaines touches comme "copier", "coller", etc.
D’après ce que j’ai compris, il faudrait mettre les mains dans le cambouis, mais même en suivant le fil à ce sujet sur le site du bépo, je bloque dès la première instruction. (sudo apt-get install avr-libc g++ gcc ===> kézaco ?)
Y a-t-il entretemps un moyen simple de modifier sa configuration à partir d’un fichier hex ?? J’ai vu par exemple que le site ergodox EZ avait un configurateur permettant d’ajouter des touches de fonction, mais apparemment, il n’est pas possible de charger un fichier déjà compilé.
Bref, si quelqu’un peut m’indiquer dans quelle direction partir pour arriver à ce que je veux, j’en serais bien content !
Merci par avance !
Guillaume

Hors ligne

#2 26/6/2017 16:31:42

Mimoza
Admin
Lieu : Terre
Inscription : 19/9/2012
Messages : 1 237

Re : [ERGODOX] Modification de la configuration pour les nuls...

Le wiki est une mine d'or sur le sujet :
http://bepo.fr/wiki/ErgoDox

Hors ligne

#3 26/6/2017 19:17:23

Elivagar
Membres
Lieu : Quelque part sous les Étoiles
Inscription : 29/8/2014
Messages : 119

Re : [ERGODOX] Modification de la configuration pour les nuls...

Il faut juste savoir que la version Massdrop de l'Ergodox nécessite Linux pour la configuration en profondeur. La compilation se faisant sous cet OS.
Pour le Copie, coller et autres fonctions bien pratique, j'utilise encore et toujours TouchCursor.

Hors ligne

#4 26/6/2017 21:41:53

Mimoza
Admin
Lieu : Terre
Inscription : 19/9/2012
Messages : 1 237

Re : [ERGODOX] Modification de la configuration pour les nuls...

Dans le fichier de conf tout prêt que j'ai mis a disposition sur le wiki il y a des touches copier/coller en accès direct sur les touches les moins accessible du pouces. Très pratique !

Hors ligne

#5 26/6/2017 22:27:11

Flavien21
Admin
Lieu : Versailles
Inscription : 12/7/2015
Messages : 397
Site Web

Re : [ERGODOX] Modification de la configuration pour les nuls...

Elivagar a écrit :

Il faut juste savoir que la version Massdrop de l'Ergodox nécessite Linux pour la configuration en profondeur. La compilation se faisant sous cet OS.

Non, c'est maintenant également faisable sur Windows 10 et MacOS X. Toutes les informations sont sur le git du firmware qmk.
https://docs.qmk.fm/build_environment_setup.html

Dernière modification par Flavien21 (27/6/2017 12:56:38)


bépoète depuis mars 2015

Hors ligne

#6 27/6/2017 15:21:29

GuilC
Membres
Inscription : 15/11/2013
Messages : 93

Re : [ERGODOX] Modification de la configuration pour les nuls...

Merci à tous pour vos réponses.

@Mimoza: j’ai vu le wiki ergodox, mais comme je le dis dans mon message, j’ai (encore??) un peu de mal avec les instructions. En fait, je cale dès la première ligne ! 
J’ai pensé aussi à prendre une configuration toute faite avec les copier/coller, mais j’ai une configuration un peu particulière (espace à gauche uniquement [là où beaucoup l’ont à droite], AltGR à droite, etc), c’est pour ça qu’il va falloir que j’arrive à bidouiller un peu.

Merci Flavien21 pour le lien, je vais aller voir ça...

Hors ligne

#7 27/6/2017 15:49:31

Flavien21
Admin
Lieu : Versailles
Inscription : 12/7/2015
Messages : 397
Site Web

Re : [ERGODOX] Modification de la configuration pour les nuls...

Sinon tu peux me faire une image de ce que tu souhaites et je te fais le firmware.
Moi aussi je n'ai l'espace qu'à gauche. Un simple appui sur une touche pour copier et un appui long pour couper. Mais je n'ai pas encore testé ma disposition, ayant commandé le clavier qu'aujourd'hui.


bépoète depuis mars 2015

Hors ligne

#8 27/6/2017 16:26:51

Elivagar
Membres
Lieu : Quelque part sous les Étoiles
Inscription : 29/8/2014
Messages : 119

Re : [ERGODOX] Modification de la configuration pour les nuls...

Flavien21 a écrit :

Non, c'est maintenant également faisable sur Windows 10 et MacOS X. Toutes les informations sont sur le git du firmware qmk.
https://docs.qmk.fm/build_environment_setup.html

Oui, c'est ce que je dis, uniquement sur Linux, la méthode proposé ne permettant que d'installer un sous système Linux sous Windows. En se montant une machine virtuelle Linux on doit pouvoir faire de même.
Mais j'essayerai chez moi pour voir si je peux aller plus loin que la fois précédente.

Hors ligne

#9 27/6/2017 16:54:02

Mimoza
Admin
Lieu : Terre
Inscription : 19/9/2012
Messages : 1 237

Re : [ERGODOX] Modification de la configuration pour les nuls...

@GuilC : Dans le fichier d'exemple donné sur le wiki l'espace est à gauche uniquement et le AltGr a droite … comme ce que tu souhaite. T'as même un copier/coller.

 * ,--------------------------------------------------.           ,--------------------------------------------------.
 * | Esc    |   "  |   «  |   »  |   (  |   )  |  $   |           |  %   |   @  |   +  |   -  |   /  |   *  |   =    |
 * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 * | Ç      |   B  |   É  |   P  |   O  |   È  | Tab  |           | Tab  |   ^  |   V  |   D  |   L  |   J  |   Z    |
 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 * | W      |   A  |   U  |   I  |   E  |   ,  |------|           |------|   C  |   T  |   S  |   R  |   N  |   M    |
 * |--------+------+------+------+------+------|  Del |           | BkSp |------+------+------+------+------+--------|
 * | Ctrl   |   À  |   Y  |   X  |   .  |   K  |      |           |      |   '  |   Q  |   G  |   H  |   F  |  Ctrl  |
 * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 *   | LGui | Home | Pgup |Pgdown| End  |                                       | Left | Down |  Up  |Right | RGui |
 *   `----------------------------------'                                       `----------------------------------'
 *                                        ,-------------.       ,-------------.
 *                                        |Ctrl+C|Ctrl+V|       |  L1  |  L2  |
 *                                 ,------|------|------|       |------+--------+------.
 *                                 |      |      | ~L1  |       | App  |        |      |
 *                                 | Space|Shift |------|       |------|  Shift |Enter |
 *                                 |      |      |Alt/Enter|    | AltGr|        |      |
 *                                 `--------------------'       `----------------------'

Le mieux serais que tu t'entraine a compiler le fichier d'exemple, ensuite tu essaye de le modifier et tu nous demande de l'aide si besoin.

Hors ligne

#10 27/6/2017 22:46:38

GuilC
Membres
Inscription : 15/11/2013
Messages : 93

Re : [ERGODOX] Modification de la configuration pour les nuls...

Salut, merci pour la proposition de compilation. Ça m’intéresse, au moins pour le début, pour tester une première configurations. Je me pose beaucoup de questions sur les touches à mettre au niveau du pouce et finalement le fichier exemple de Mimoza me plaît pas trop mal. J’ai fait quelques modif et voilà ce que je testerais bien :

 *
 * ,--------------------------------------------------.           ,--------------------------------------------------.
 * | Esc    |   "  |   «  |   »  |   (  |   )  |  $   |           |  %   |   @  |   +  |   -  |   /  |   *  |   =    |
 * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 * | Ç      |   B  |   É  |   P  |   O  |   È  | Del  |           | Tab  |   ^  |   V  |   D  |   L  |   J  |   Z    |
 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 * | W      |   A  |   U  |   I  |   E  |   ,  |------|           |------|   C  |   T  |   S  |   R  |   N  |   M    |
 * |--------+------+------+------+------+------| Enter|           | BkSp |------+------+------+------+------+--------|
 * | Shift  |   À  |   Y  |   X  |   .  |   K  |      |           |      |   '  |   Q  |   G  |   H  |   F  |  Shift |
 * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 *   | LGui | Home | Pgup |Pgdown| End  |                                       | Left | Down |  Up  |Right | RGui |
 *   `----------------------------------'                                       `----------------------------------'
 *                                        ,-------------.       ,-------------.
 *                                        |Ctrl+C|Ctrl+V|       |  L1  |  L2  |
 *                                 ,------|------|------|       |------+--------+------.
 *                                 |      |      | ~L1  |       | App  |        |      |
 *                                 | Space|Ctrl  |------|       |------|  Ctrl  |AltGr |
 *                                 |      |      |Alt   |       | Alt  |        |      |
 *                                 `--------------------'       `----------------------'
 */

Flavien21, est-ce que ce serait possible de compiler ça sans te prendre trop de temps ?
Ça me permettrait de patienter le temps que je puisse moi-même compiler.
Merci par avance

Hors ligne

#11 27/6/2017 23:53:59

Elivagar
Membres
Lieu : Quelque part sous les Étoiles
Inscription : 29/8/2014
Messages : 119

Re : [ERGODOX] Modification de la configuration pour les nuls...

Linux, c'est aride et pour avoir suivie les indications et être arrivé jusqu’à la fin du Toolchain setup je sais maintenant pourquoi linux est gratuit… Et pourquoi je ne l'utiliserai que contraint et forcé…
À priori, l'installation c'est bien déroulée, maintenant il faut que je comprenne comment on compile son fichier.

En partant de la dispo ci dessus de GuilC.
Pour les touches du pouce, sur ma disposition, j'ai attribuée aussi au pouce gauche les touches «Pgdown» et «End» et au pouce droit les touches «Left» et «Down».
sur «Pgdown» et «Down» j'y ai placé le Alt-Gr
sur «End» j'ai placé le Shift
j'ai aussi mit l'espace à cet endroit
sur «Ctrl» j'ai mis une nouvelle couche qui me donne accès au pavé numérique
sur les «Alt» j'ai Ctrl mais je n'utilise pas cette touche que je trouve trop loin.
sur le «Ctrl» côté droit j'y ai le Shift
sur le «Alt-Gr» j'y ai remis l'espace
sur le «Left» j'ai remis l'accès à la couche du pavé numérique (j'ai défini un pavé pour chaque main)

De plus, j'utilise le logiciel TouchCursor qui me permet d'avoir une nouvelle couche pour l'accès aux flèches de navigation côté droit et aux raccourcis utiles (couper, copier, coller et annuler) côté gauche.

Hors ligne

#12 28/6/2017 06:56:26

Flavien21
Admin
Lieu : Versailles
Inscription : 12/7/2015
Messages : 397
Site Web

Re : [ERGODOX] Modification de la configuration pour les nuls...

Oui, Linux je ne m’y fait pas du tout non plus, mais avec les outils Ubuntu inclus dans Windows 10 c’est très simple de compiler les dispositions.
Pour la compiler il faut se mettre à la racine du firmware et taper :

make ergodox-‹nom de la disposition›

et c’est tout (en ayant bien mis le keymap.c de ta disposition dans ergodox/keymap/‹nom de la disposition›)

Du coup GuilC c’est bon, j’ai assumé qu’en layer 1 et 2 tu voulais la même chose que Mimoza, tu peux télécharger le .hex et la source c ici. Confirmes-moi que ça fonctionne bien, c’est la première fois qu’un firmware compilé par moi-même va être testé.

Dernière modification par Flavien21 (28/6/2017 07:00:31)


bépoète depuis mars 2015

Hors ligne

#13 28/6/2017 09:03:53

Elivagar
Membres
Lieu : Quelque part sous les Étoiles
Inscription : 29/8/2014
Messages : 119

Re : [ERGODOX] Modification de la configuration pour les nuls...

Je n'ai pas de Keymap.c.
J'utilise le Infinity de Massdrop et la configuration se fait par là : https://input.club/configurator-ergodox/
Quand j'importe la (pré)disposition j'obtiens un répertoire contenant :
- un répertoire kll
- un répertoire log
- un fichier .bin pour le coté gauche
- un fichier .bin pour le coté droit
- des .kll qui détails les différentes couches configurées, se sont ces fichiers qui doivent être compiler pour créer les .bin.

Je vais réessayer en utilisant : https://github.com/kiibohd/kll qui semble plus adapté pour l'infinity.

Hors ligne

#14 28/6/2017 09:38:03

Flavien21
Admin
Lieu : Versailles
Inscription : 12/7/2015
Messages : 397
Site Web

Re : [ERGODOX] Modification de la configuration pour les nuls...

Je ne sais pas ce que vaut KLL.
Je me suis plongé dans QMK https://github.com/qmk/qmk_firmware qui est une évolution du TMK qu’on m’a présenté le firmware de base pour les Ergodox (et autres claviers avec une puce de type AVR ou ARM).
Si tu souhaite passer à QMK en commençant par un configurateur en ligne, il y a http://configure.ergodox-ez.com/ il fournit un keymap.c ainsi qu’un .hex (et malgré son nom on peux l’utiliser avec l’Infinity).


bépoète depuis mars 2015

Hors ligne

#15 28/6/2017 09:44:14

Mimoza
Admin
Lieu : Terre
Inscription : 19/9/2012
Messages : 1 237

Re : [ERGODOX] Modification de la configuration pour les nuls...

Comme quoi les goût et les couleurs … pour moi Win est trop «raide/rigide» et hasardeux, quand ça fonctionne tant mieux, sinon tu fait appel au marabou du coin pour désenvouter l'installation. Au moins avec linux t'a de vrai log qui te disent ce qui bloque. Mais bon pour 98% de la population les dizaines d'années de déformation avec Win n'est pas facile contrer. Un Ubuntu/Mint/… est tout aussi facile a utiliser qu'un Win si ce n'est plus. Rien que pour le «store» (comme on dit dans le monde win) d'applications te fait dire qu'aller chercher un exe douteux sur un site de téléchargement est archaïque.
Bref.

@Flavien : Si tu veux bien étoffer le wiki pour ajouter la méthodologie pour w10 ça serait pas mal.
@GuilC : Le fait d'avoir DEL & BkSP en diagonal de chaque coté n'est pas super intuitif je pense. Essaye d'inverser BkSp <=> Tab

Hors ligne

#16 28/6/2017 11:10:53

Elivagar
Membres
Lieu : Quelque part sous les Étoiles
Inscription : 29/8/2014
Messages : 119

Re : [ERGODOX] Modification de la configuration pour les nuls...

Flavien21 a écrit :

Je ne sais pas ce que vaut KLL.
Je me suis plongé dans QMK https://github.com/qmk/qmk_firmware qui est une évolution du TMK qu’on m’a présenté le firmware de base pour les Ergodox (et autres claviers avec une puce de type AVR ou ARM).
Si tu souhaite passer à QMK en commençant par un configurateur en ligne, il y a http://configure.ergodox-ez.com/ il fournit un keymap.c ainsi qu’un .hex (et malgré son nom on peux l’utiliser avec l’Infinity).

Ce n'est pas l'impression que cela me donne, l'infinity est différent des autres versions d'ergodox car il n'a pas de Teensy comme processeur. D'où l'utilisation d'un fichier pour le coté droit et d'un fichier pour le coté gauche, les 2 cotés étant complètement autonome.
Ergodox Infinity : le Guide Linux
Ergodox Infinity : le Guide pour les Macros

MDErgo1-Default.json - This will let you restore this configuration to the online layout editor. On the website, click "import map" then copy and paste the contents of the json file. If it has other uses, I am not aware of them.
MDErgo1-Default*.kll files - These show, in the KLL "language", what each key on every layer is supposed to do. They are some of the actual files used when you compile the firmware into the dfu.bin files, and there is one for each layer (0 being the default). Thankfully, for the beginner, that compiling has already been done for you. You may wish to use these in the second part of this guide.
<left_/right_>kiibohd.dfu.bin - These are the actual files you will flash to your keyboard. One is for when the left side is the "master" and one for when the right is the "master". You will flash the file that corresponds to the half of your keyboard that is plugged into your computer. If you choose to flash both sides, then you will just repeat the operation with each file.
the other two folders - one has the .kll files again and the other has some logs from when the firmware was compiled. Honestly, I haven't found a use for either of these.

Logiciel pour flasher l'Ergodox Infinity
DFU Loader

Hors ligne

#17 28/6/2017 11:29:27

Flavien21
Admin
Lieu : Versailles
Inscription : 12/7/2015
Messages : 397
Site Web

Re : [ERGODOX] Modification de la configuration pour les nuls...

OK, pourtant QMK a bien une section dédié à l’infinity. https://github.com/qmk/qmk_firmware/tre … x/infinity

@Mimoza : c’est en cours.


bépoète depuis mars 2015

Hors ligne

#18 28/6/2017 13:37:53

Flavien21
Admin
Lieu : Versailles
Inscription : 12/7/2015
Messages : 397
Site Web

Re : [ERGODOX] Modification de la configuration pour les nuls...

Et voilà comment s’en sortir sur Windows : http://bepo.fr/wiki/ErgoDox#Windows_10


bépoète depuis mars 2015

Hors ligne

#19 29/6/2017 00:15:40

GuilC
Membres
Inscription : 15/11/2013
Messages : 93

Re : [ERGODOX] Modification de la configuration pour les nuls...

Salut!
Merci Flavien21 pour les fichiers. J’ai installé la nouvelle configuration, tout semble bien fonctionner. Reste plus qu’à tester à la longue pour voir ce que ça donne.
Je viens de voir l’ajout que tu as fait sur le wiki, ça a l’air assez clair, je pense que je vais me lancer dès que j’aurai un peu de temps. Merci pour ça aussi, donc.

@ Mimoza: je vais voir pour le Bksp et Del. En fait, ils sont positionnés surtout par rapport à ce dont j’ai l’habitude sur mon TE. Je ne me sers pas énormément de Del, mais on va voir. Là où je me creuse la tête c’est surtout pour les pouces, il y a tellement de possibilités. Je me demande par exemple si un ctrl d’un seul côté ne suffit pas parce que finalement il est assez facile de maintenir une touche avec le pouce et de taper une lettre avec un doigt de la même main que ledit pouce... bref, je vais essayer de lâcher un peu mon TE pour tester tout ça...

Hors ligne

#20 16/10/2017 16:20:24

Dmar
Membres
Inscription : 6/3/2016
Messages : 19

Re : [ERGODOX] Modification de la configuration pour les nuls...

Bonjour les amis.
De mon côté aussi j'ai des soucis pour compiler ma propre version ergodox avec Linux. J'utilise un chromebook et je suis parvenu à compiler une version par défaut mais lorsque j'essaye de compiler la mienne que j'ai modifié à partir de celle fournie dans le wiki, impossible.

Il me fait une erreur que je ne comprend pas, j'ai essayé de chercher, mais je n'ai pas la moindre idée. Tout est d'une extrême complexité sous Linux, rien que de placer correctement un fichier suffit à créer des erreurs.
Je m'acharne mais un peu d'aide ne serait pas de refus.

Une instruction qui n'est pas claire dans le wiki, apparement tellement basique qu'elle n'est pas étoffée.

Et enfin plalce la variable «export KEYMAP=bepo»


Et voici mon fichier keymap.c qui doit comporter bon nombre d'erreur car j'ai essayé de le corriger moi même smile

#include QMK_KEYBOARD_H
#include "debug.h"
#include "action_layer.h"
#include "version.h"

#include "keymap_bepo.h"
#include "keymap_french.h"

#include "ergodox.h"
#include "keymap_bepo.h"

#define BASE 0 // default layer
#define SYMB 1 // symbols
#define MDIA 2 // media keys

// keymaps
#define BEPO 0	// default layer, for bepo compatible systems
#define QW_B 1	// bepo to qwerty base compat layer, for qwerty systems
#define QW_A 2	// bepo with altgr key to qwerty compat layer
#define QW_S 3	// bepo with shift key to qwerty compat layer
#define AZ_B 4	// bepo to azerty base compat layer, for azerty systems
#define AZ_A 5	// bepo with altgr key to azerty compat layer
#define AZ_S 6	// bepo with shift key to azerty compat layer
#define FNAV 7	// function / navigation / mouse layer
#define NUMK 8	// numeric keypad layer

enum custom_keycodes {
  PLACEHOLDER = SAFE_RANGE, // can always be here
  EPRM,
  VRSN,
  RGB_SLD
};
 
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap 0: Basic layer
 *
 * ,--------------------------------------------------.           ,--------------------------------------------------.
 * | Esc    |   "  |   «  |   »  |   (  |   )  |  $   |           |  %   |   @  |   +  |   -  |   /  |   *  |   =    |
 * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 * | BkSp   |   B  |   É  |   P  |   O  |   È  |  W   |           | Tab  |   ^  |   V  |   D  |   L  |   J  |   Z    |
 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 * | DEL    |   A  |   U  |   I  |   E  |   ,  |------|           |------|   C  |   T  |   S  |   R  |   N  |   M    |
 * |--------+------+------+------+------+------|  Ç   |           | BkSp |------+------+------+------+------+--------|
 * | Ctrl   |   À  |   Y  |   X  |   .  |   K  |      |           |      |   '  |   Q  |   G  |   H  |   F  |  Ctrl  |
 * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 *   | LGui | Home | Pgup |Pgdown| End  |                                       | Left | Down |  Up  |Right | ~L1  |
 *   `----------------------------------'                                       `----------------------------------'
 *                                        ,-------------.       ,-------------.
 *                                        |Ctrl+C|Ctrl+V|       |Ctrl+X|  L1  |
 *                                 ,------|------|------|       |------+--------+------.
 *                                 |      |      | Alt/Enter|   | App  |        |      |
 *                                 | Space|Shift |------|       |------|  Shift |Enter |
 *                                 |      |      |   ê  |       | AltGr|        |      |
 *                                 `--------------------'       `----------------------'
 */
// If it accepts an argument (i.e, is a function), it doesn't need KC_.
// Otherwise, it needs KC_*
[BASE] = LAYOUT_ergodox(  // layer 0 : default
        // left hand
        KC_ESC,       BP_DOUBLE_QUOTE, BP_LEFT_GUILLEMET, BP_RIGHT_GUILLEMET, BP_LEFT_PAREN, BP_RIGHT_PAREN, BP_DOLLAR,
        KC_BSPC, BP_B,            BP_E_ACUTE,        BP_P,               BP_O,          BP_E_GRAVE,     BP_W,
       KC_DEL,         BP_A,            BP_U,              BP_I,               BP_E,          BP_COMMA,
        KC_LCTL,      BP_A_GRAVE,      BP_Y,              BP_X,               BP_DOT,        BP_K,           BP_C_CEDILLA,
          KC_LGUI,    KC_HOME,         KC_PGUP,           KC_PGDN,            KC_END,
 
					           LCTL(BP_C), LCTL(BP_V),
                                                               ALT_T(KC_ENT),
                                              KC_SPC, KC_LSFT, BP_ECRC ,
        // right hand
             BP_PERCENT, BP_AT,              BP_PLUS, BP_MINUS, BP_SLASH, BP_ASTERISK, BP_EQUAL,
             KC_TAB,     BP_DEAD_CIRCUMFLEX, BP_V,    BP_D,     BP_L,     BP_J,        BP_Z,
                         BP_C,               BP_T,    BP_S,     BP_R,     BP_N,        BP_M,
             KC_BSPC,    BP_APOSTROPHE,      BP_Q,    BP_G,     BP_H,     BP_F,        KC_RCTL,
                                             KC_LEFT, KC_DOWN,  KC_UP,    KC_RGHT,     KC_FN1,
             LCTL(BP_X), TG(SYMB),
             KC_APP,
             KC_RALT,KC_RSFT, KC_ENT
    ),
/* Keymap 1: Symbol Layer
 *
 * ,--------------------------------------------------.           ,--------------------------------------------------.
 * |        |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |           |P.Scr|NumLock|   +  |  -   |  /   |  *   |    =   |
 * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 * | VolUp  |   F7 |  F8  |  F9  |  F10 | F11  |  F12 |           |      |   ^  |   7  |   8  |   9  |   +  |ScrLock |
 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 * |  Mute  | Prev | Play | Stop | Next | Calc |------|           |------|   ˇ  |   4  |   5  |   6  |   +  | Pause  |
 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 * | VolDn  | Undo | Cut  | Copy | Paste| Redo |      |           |      |  Ins |   1  |   2  |   3  |Enter |        |
 * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 *   |      |      |      |      |      |                                       |   0  |   ,  |   .  |Enter |      |
 *   `----------------------------------'                                       `----------------------------------'
 *                                        ,-------------.       ,-------------.
 *                                        |      |      |       |      |      |
 *                                 ,------|------|------|       |------+------+------.
 *                                 |      |      |      |       |      |      |      |
 *                                 |      |      |------|       |------|      |      |
 *                                 |      |      |      |       |      |      |      |
 *                                 `--------------------'       `--------------------'
 */
// SYMBOLS
[SYMB] = LAYOUT_ergodox(
       // left hand
       KC_TRNS,   KC_F1,   KC_F2,   KC_F3,   KC_F4,    KC_F5,   KC_F6,
       KC_VOLU,   KC_F7,   KC_F8,   KC_F9,   KC_F10,   KC_F11,  KC_F12,
       KC_MUTE,   KC_MPRV, KC_MPLY, KC_MSTP, KC_MNXT,  KC_CALC,
       KC_VOLD,   KC_UNDO, KC_CUT,  KC_COPY, KC_PASTE, KC_CALC, KC_TRNS,
         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
 
                                       KC_TRNS, KC_TRNS,
                                                KC_TRNS,
                               KC_TRNS,KC_TRNS, KC_TRNS,
       // right hand
       KC_PSCR, KC_LNUM,            KC_KP_PLUS,KC_KP_MINUS,KC_KP_SLASH,KC_KP_ASTERISK,KC_KP_EQUAL,
       KC_TRNS, BP_DEAD_CIRCUMFLEX, KC_KP_7,   KC_KP_8,    KC_KP_9,    KC_KP_PLUS,    KC_SLCK,
                RALT(BP_V),         KC_KP_4,   KC_KP_5,    KC_KP_6,    KC_KP_PLUS,    KC_PAUS,
       KC_TRNS, KC_INS,             KC_KP_1,   KC_KP_2,    KC_KP_3,    KC_KP_ENTER,   KC_TRNS,
                                    KC_KP_0,   KC_KP_COMMA,KC_KP_DOT,  KC_KP_ENTER,   KC_TRNS,
       KC_TRNS, KC_TRNS,
       KC_TRNS,
       KC_TRNS, KC_TRNS, KC_TRNS
),
/* Keymap 2: Mouse keys
 *
 * ,--------------------------------------------------.           ,--------------------------------------------------.
 * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
 * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 * |        | WhUp | Lclk | MsUp | Rclk | Acc0 |      |           |      | Acc0 | WhLft| WhUp | WhRgh|      |        |
 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 * |        | WhDwn|MsLeft|MsDown|MsRght| Acc1 |------|           |------| Acc1 | Lclk | Cclk | Rclk |      |        |
 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 * |        |      | Btn4 | Cclk | Btn5 | Acc2 |      |           |      | Acc2 | Btn4 | WhDwn| Btn5 |      |        |
 * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 *   |      |      |      |      |      |                                       |      |      |      |      |      |
 *   `----------------------------------'                                       `----------------------------------'
 *                                        ,-------------.       ,-------------.
 *                                        |      |      |       |      |      |
 *                                 ,------|------|------|       |------+------+------.
 *                                 |      |      |      |       |      |      |      |
 *                                 |      |      |------|       |------|      |      |
 *                                 |      |      |      |       |      |      |      |
 *                                 `--------------------'       `--------------------'
 */
// MOUSE
[MOUSE] = LAYOUT_ergodox(
       KC_TRNS, KC_TRNS,       KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
       KC_TRNS, KC_MS_WH_UP,   KC_BTN1, KC_MS_U, KC_BTN2, KC_ACL0, KC_TRNS,
       KC_TRNS, KC_MS_WH_DOWN, KC_MS_L, KC_MS_D, KC_MS_R, KC_ACL1,
       KC_TRNS, KC_TRNS,       KC_BTN4, KC_BTN3, KC_BTN5, KC_ACL2, KC_TRNS,
       KC_TRNS, KC_TRNS,       KC_TRNS, KC_TRNS, KC_TRNS,
                                           KC_TRNS, KC_TRNS,
                                                    KC_TRNS,
                                  KC_TRNS, KC_TRNS, KC_TRNS,
    // right hand
       KC_TRNS,  KC_TRNS, KC_TRNS,     KC_TRNS,       KC_TRNS,       KC_TRNS, KC_TRNS,
       KC_TRNS,  KC_ACL0, KC_MS_WH_UP, KC_MS_WH_UP,   KC_MS_WH_DOWN, KC_TRNS, KC_TRNS,
                 KC_ACL1, KC_BTN1,     KC_BTN3,       KC_BTN2,       KC_TRNS, KC_TRNS,
       KC_TRNS,  KC_ACL2, KC_BTN4,     KC_MS_WH_DOWN, KC_BTN5,       KC_TRNS, KC_TRNS,
                          KC_TRNS,     KC_TRNS,       KC_TRNS,       KC_TRNS, KC_TRNS,
       KC_TRNS, KC_TRNS,
       KC_TRNS,
       KC_TRNS, KC_TRNS, KC_TRNS
),
};
 
const uint16_t PROGMEM fn_actions[] = {
    [1] = ACTION_LAYER_TAP_TOGGLE(SYMB)                // FN1 - Momentary Layer 1 (Symbols)
};

const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
  // MACRODOWN only works in this function
  switch(id) {
    case 0:
      if (record->event.pressed) {
        SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
      }
      break;
    case 1:
      if (record->event.pressed) { // For resetting EEPROM
        eeconfig_init();
      }
      break;
  }
  return MACRO_NONE;
};

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  switch (keycode) {
    // dynamically generate these.
    case EPRM:
      if (record->event.pressed) {
        eeconfig_init();
      }
      return false;
      break;
    case VRSN:
      if (record->event.pressed) {
        SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
      }
      return false;
      break;
    case RGB_SLD:
      if (record->event.pressed) {
        #ifdef RGBLIGHT_ENABLE
          rgblight_mode(1);
        #endif
      }
      return false;
      break;
  }
  return true;
}

// Runs just one time when the keyboard initializes.
void matrix_init_user(void) {

};


// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {

  uint8_t layer = biton32(layer_state);

  ergodox_board_led_off();
  ergodox_right_led_1_off();
  ergodox_right_led_2_off();
  ergodox_right_led_3_off();
  switch (layer) {
    // TODO: Make this relevant to the ErgoDox EZ.
    case SYMB:
      ergodox_right_led_1_on();
      break;
    case MDIA:
      ergodox_right_led_2_on();
      break;
    default:
      // none
      break;
  }

};

Hors ligne

#21 16/10/2017 16:54:24

Dmar
Membres
Inscription : 6/3/2016
Messages : 19

Re : [ERGODOX] Modification de la configuration pour les nuls...

Bon apparement c'était une erreur dans mon fichier. Il y a du avoir une mise à jour ou je me suis emmêlé les pinceaux.
J'ai repris le code venant d'ici, bepo ergodox, c'est un fichier keymap récent de deux mois.
Tout ce qui ne m'étais pas nécessaire à disparu et j'ai gardé mes deux layers fait précédement.
J'espère que je n'ai pas fait trop de bordel mais en tout cas j'ai pu compiler mon fichier hex et mettre à jour mon clavier. C'est un bon début.

Au cas où ça intéresse quelqu'un:

j'ai créé un fichier bepo ici: qmk_firmware-master/keyboards/ergodox_ez/keymaps/
J'ai copier le fichier keymap.c venant du lien précédent.
J'ouvre un terminal depuis le dossier qmk firmware-master
puis la commande make ergodox_ez:bepo

Le fichie hex se trouve dans le dossier qmk_firmware-master.

Après reste plus qu'a lancer Teensy avec le fichier hex et c'est bon.


Mon nouveau keymap.c:

#include QMK_KEYBOARD_H
#include "keymap_bepo.h"
#include "keymap_french.h"

// keymaps
#define BEPO 0	// default layer, for bepo compatible systems
#define SYMB 1	// symbol layer

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap 0: Basic layer
 *
 * ,--------------------------------------------------.           ,--------------------------------------------------.
 * | Esc    |   "  |   «  |   »  |   (  |   )  |  $   |           |  %   |   @  |   +  |   -  |   /  |   *  |   =    |
 * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 * | BkSp   |   B  |   É  |   P  |   O  |   È  |  W   |           | Tab  |   ^  |   V  |   D  |   L  |   J  |   Z    |
 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 * | DEL    |   A  |   U  |   I  |   E  |   ,  |------|           |------|   C  |   T  |   S  |   R  |   N  |   M    |
 * |--------+------+------+------+------+------|  Ç   |           | BkSp |------+------+------+------+------+--------|
 * | Ctrl   |   À  |   Y  |   X  |   .  |   K  |      |           |      |   '  |   Q  |   G  |   H  |   F  |  Ctrl  |
 * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 *   | LGui | Home | Pgup |Pgdown| End  |                                       | Left | Down |  Up  |Right | ~L1  |
 *   `----------------------------------'                                       `----------------------------------'
 *                                        ,-------------.       ,-------------.
 *                                        |Ctrl+C|Ctrl+V|       |Ctrl+X|  L1  |
 *                                 ,------|------|------|       |------+--------+------.
 *                                 |      |      | Alt/Enter|   | App  |        |      |
 *                                 | Space|Shift |------|       |------|  Shift |Enter |
 *                                 |      |      |   ê  |       | AltGr|        |      |
 *                                 `--------------------'       `----------------------'
 */
// If it accepts an argument (i.e, is a function), it doesn't need KC_.
// Otherwise, it needs KC_*
[BEPO] = LAYOUT_ergodox(  // layer 0 : default
        // left hand
        KC_ESC,       BP_DOUBLE_QUOTE, BP_LEFT_GUILLEMET, BP_RIGHT_GUILLEMET, BP_LEFT_PAREN, BP_RIGHT_PAREN, BP_DOLLAR,
        KC_BSPC, BP_B,            BP_E_ACUTE,        BP_P,               BP_O,          BP_E_GRAVE,     BP_W,
       KC_DEL,         BP_A,            BP_U,              BP_I,               BP_E,          BP_COMMA,
        KC_LCTL,      BP_A_GRAVE,      BP_Y,              BP_X,               BP_DOT,        BP_K,           BP_C_CEDILLA,
          KC_LGUI,    KC_HOME,         KC_PGUP,           KC_PGDN,            KC_END,
 
					           LCTL(BP_C), LCTL(BP_V),
                                                               ALT_T(KC_ENT),
                                              KC_SPC, KC_LSFT, BP_ECRC ,
        // right hand
             BP_PERCENT, BP_AT,              BP_PLUS, BP_MINUS, BP_SLASH, BP_ASTERISK, BP_EQUAL,
             KC_TAB,     BP_DEAD_CIRCUMFLEX, BP_V,    BP_D,     BP_L,     BP_J,        BP_Z,
                         BP_C,               BP_T,    BP_S,     BP_R,     BP_N,        BP_M,
             KC_BSPC,    BP_APOSTROPHE,      BP_Q,    BP_G,     BP_H,     BP_F,        KC_RCTL,
                                             KC_LEFT, KC_DOWN,  KC_UP,    KC_RGHT,     KC_FN1,
             LCTL(BP_X), TG(SYMB),
             KC_APP,
             KC_RALT,KC_RSFT, KC_ENT
    ),
/* Keymap 1: Symbol Layer
 *
 * ,--------------------------------------------------.           ,--------------------------------------------------.
 * |        |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |           |P.Scr|NumLock|   +  |  -   |  /   |  *   |    =   |
 * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 * | VolUp  |   F7 |  F8  |  F9  |  F10 | F11  |  F12 |           |      |   ^  |   7  |   8  |   9  |   +  |ScrLock |
 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 * |  Mute  | Prev | Play | Stop | Next | Calc |------|           |------|   ˇ  |   4  |   5  |   6  |   +  | Pause  |
 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 * | VolDn  | Undo | Cut  | Copy | Paste| Redo |      |           |      |  Ins |   1  |   2  |   3  |Enter |        |
 * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 *   |      |      |      |      |      |                                       |   0  |   ,  |   .  |Enter |      |
 *   `----------------------------------'                                       `----------------------------------'
 *                                        ,-------------.       ,-------------.
 *                                        |      |      |       |      |      |
 *                                 ,------|------|------|       |------+------+------.
 *                                 |      |      |      |       |      |      |      |
 *                                 |      |      |------|       |------|      |      |
 *                                 |      |      |      |       |      |      |      |
 *                                 `--------------------'       `--------------------'
 */
// SYMBOLS
[SYMB] = LAYOUT_ergodox(
       // left hand
       KC_TRNS,   KC_F1,   KC_F2,   KC_F3,   KC_F4,    KC_F5,   KC_F6,
       KC_VOLU,   KC_F7,   KC_F8,   KC_F9,   KC_F10,   KC_F11,  KC_F12,
       KC_MUTE,   KC_MPRV, KC_MPLY, KC_MSTP, KC_MNXT,  KC_CALC,
       KC_VOLD,   KC_UNDO, KC_CUT,  KC_COPY, KC_PASTE, KC_CALC, KC_TRNS,
         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
 
                                       KC_TRNS, KC_TRNS,
                                                KC_TRNS,
                               KC_TRNS,KC_TRNS, KC_TRNS,
       // right hand
       KC_PSCR, KC_LNUM,            KC_KP_PLUS,KC_KP_MINUS,KC_KP_SLASH,KC_KP_ASTERISK,KC_KP_EQUAL,
       KC_TRNS, BP_DEAD_CIRCUMFLEX, KC_KP_7,   KC_KP_8,    KC_KP_9,    KC_KP_PLUS,    KC_SLCK,
                RALT(BP_V),         KC_KP_4,   KC_KP_5,    KC_KP_6,    KC_KP_PLUS,    KC_PAUS,
       KC_TRNS, KC_INS,             KC_KP_1,   KC_KP_2,    KC_KP_3,    KC_KP_ENTER,   KC_TRNS,
                                    KC_KP_0,   KC_KP_COMMA,KC_KP_DOT,  KC_KP_ENTER,   KC_TRNS,
       KC_TRNS, KC_TRNS,
       KC_TRNS,
       KC_TRNS, KC_TRNS, KC_TRNS
),
};

Petite modification: le second layer ne fonctionne pas pour moi car j'utilise un chromebook. Du moins je pense que l'erreur vient de là.
Je me contenterais pour le moment d'un seul layer.

Dernière modification par Dmar (16/10/2017 17:17:02)

Hors ligne

#22 11/8/2018 15:57:37

petitevieille
Membres
Inscription : 3/4/2018
Messages : 16

Re : [ERGODOX] Modification de la configuration pour les nuls...

Bonjour,

C'est bien le topic des gros nuls ici hein ?

J'ai une grosse zone de flou dans la tête.
Par défaut, l'Ergodox est en QWERTY/AZERTY, et si on paramètre l'OS du PC en BÉPO, il s'adapte en considérant que si la touche A/Q du clavier est enfoncée, ça veut dire B, si c'est Z/W, ça veut dire É, etc. si j'ai bien saisi. Mais si on flashe le clavier avec un fichier hex définissant les touches autrement, par exemple en BÉPO, et qu'on laisse la configuration du PC identique, est-ce qu'à la pression de la nouvelle touche B (anciennement A/Q), le PC va comprendre K ?
Faut-il alors régler l'OS sur AZERTY ?
Ou faut-il flasher le clavier en anticipant les associations de touches (bordélique non ?) ?

Bref, je vais me faire un keymap.c perso, mais je ne sais pas bien comment je vais pouvoir l'exploiter correctement.

Cette question est un peu stupide, en tout car c'est celle d'un gros noube. big_smile

Merci pour votre aide !


Retrouvez-moi sur Mastodon : petitevieille chez mamot.fr

Hors ligne

#23 12/8/2018 11:05:00

Laurent
Membres
Inscription : 9/8/2009
Messages : 733
Site Web

Re : [ERGODOX] Modification de la configuration pour les nuls...

Bonjour,

petitevieille a écrit :

Par défaut, l'Ergodox est en QWERTY/AZERTY, et si on paramètre l'OS du PC en BÉPO, il s'adapte en considérant que si la touche A/Q du clavier est enfoncée, ça veut dire B, si c'est Z/W, ça veut dire É, etc. si j'ai bien saisi.

En fait, pas vraiment. Le clavier n’envoie que des codes de touches à l’ordinateur, et c’est le système qui interprète s’il s’agit d’un Q, d’un A ou d’un B.

petitevieille a écrit :

Mais si on flashe le clavier avec un fichier hex définissant les touches autrement, par exemple en BÉPO, et qu'on laisse la configuration du PC identique, est-ce qu'à la pression de la nouvelle touche B (anciennement A/Q), le PC va comprendre K ?

Oui.

petitevieille a écrit :

Faut-il alors régler l'OS sur AZERTY ?
Ou faut-il flasher le clavier en anticipant les associations de touches (bordélique non ?) ?

Si l’on veut modifier côté clavier, il faut le faire en fonction de la disposition du système.

Par exemple, les claviers TypeMatrix et Matias Dvorak Keyboard peuvent être passés en Dvorak. Ça présume que la disposition du système reste en Qwerty. Quand on tape sur la touche E Dvorak, le clavier envoie le code correspondant à la touche E Qwerty.

Bon, le truc, c’est que la version standardisée du Dvorak US peut s’obtenir par simple déplacement de touches complètes à partir du Qwerty US (la ligne des chiffres est même identique). Ce n’est pas le cas pour le Bépo par rapport à l’Azerty ou tout autre disposition classique. Ça complique.

Par exemple, si on tape Ê avec Maj+ê en Bépo et qu’on suppose que le système est réglé en Azerty, il faudrait que le clavier envoie le code de la touche accent circonflexe mort de l’Azerty, puis le code d’appui de la touche Maj (et pas avant), le code de la touche e de l’Azerty, puis le code de relâchement de la touche Maj.

Plus compliqué pour É. Pour Linux ou MacOS, il faudrait envoyer le code de la touche Verr. Maj., puis celui de la touche é de l’Azerty, puis à nouveau celui de la touche Verr. Maj. Mais pour Windows, il faudrait envoyer le code d’appui de la touche Alt, les codes des touches du pavé numérique correspondant au code de É, puis le code de relâchement de la touche Alt.

Il faut donc que le programme du clavier mémorise lui-même l’état des touches modificatrices et envoie au système des séquences de codes touches correspondant aux caractères à produire selon la disposition du système.

Maintenant, tout dépend de ce qu’on veut obtenir. Si on veut un clavier capable de fonctionner en Bépo sur un système hostile (sans disposition Bépo installée et sans possibilité de l’installer), il y a du boulot !

Par contre, si on veut juste échanger quelques touches d’un clavier ergonomique parce que certaines touches ne sont pas à la même place que sur un clavier standard (typiquement les touches proches d’Entrée sur un clavier standard), mais que le choix de placement, vraisemblablement prévu par rapport au Qwerty, n’est pas le meilleur pour le Bépo, c’est beaucoup plus abordable. Cela dit, si le kit de développement définit des constantes correspondant aux touches en Qwerty, il faut transposer les touches qu’on veut déplacer en Bépo aux touches correspondantes en Qwerty.

Bon courage, surtout si c’est le premier but que tu poursuis !
Il me semble que d’autres personnes ont mentionné sur ce forum poursuivre cet objectif, mais à ma connaissance, si elles l’ont atteint, elles ne nous en ont pas informés.

Dernière modification par Laurent (12/8/2018 11:08:13)

Hors ligne

#24 13/8/2018 09:40:13

Flavien21
Admin
Lieu : Versailles
Inscription : 12/7/2015
Messages : 397
Site Web

Re : [ERGODOX] Modification de la configuration pour les nuls...

Si dans ton Keymap.c tu met KC_B et que ton OS est en Bépo il va taper K, si tu met BP_B il va taper B avec OS en Bépo et A en AZERTY.

Pour programmer avec les touches directement en BÉPO et donc le code BP_(nom de la lettre BÉPO) il faut ajouter #include "keymap_bepo.h" cf le message de Dmar juste au dessus du tien.


bépoète depuis mars 2015

Hors ligne

#25 2/1/2019 17:32:22

leccux
Membres
Inscription : 17/4/2018
Messages : 19

Re : [ERGODOX] Modification de la configuration pour les nuls...

Flavien21 a écrit :

Si dans ton Keymap.c tu met KC_B et que ton OS est en Bépo il va taper K, si tu met BP_B il va taper B avec OS en Bépo et A en AZERTY.

Pour programmer avec les touches directement en BÉPO et donc le code BP_(nom de la lettre BÉPO) il faut ajouter #include "keymap_bepo.h" cf le message de Dmar juste au dessus du tien.

Yes avec une limite toutefois.

Mon souhait était de rendre accessible ç par alt-gr+c. Mais malgré tous les bidouillages du monde dans mon keymap_bepo.h, ça ne fonctionne pas. Quand on tape alt-gr+c, quel que soit le keymap_bepo.h, QMK va envoyer le code correspondant à alt-gr+c et l'OS (via le driver bépo j'imagine) va écrire þ comme un con.

J'ai l'impression que keymap_bepo.h court-circuité par QMK. L'idée mis en œuvre a donc été de créer un layer "pseudo alt gr" et le positionner en alt gr. Ça fonctionne bien, mais je suis revenu en arrière, car les habitudes sont tenaces.

PS: j'en profite pour remercier le concepteur du layout que j'utilise (avec des modifications) depuis plusieurs mois
https://github.com/qmk/qmk_firmware/tre … godox/bepo

Dernière modification par leccux (2/1/2019 17:33:27)


bépoète depuis février 2018.

Hors ligne

Pied de page des forums