Forum bépo

Forum des utilisateurs du bépo

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

#1 10/1/2016 14:47:38

Didier
Membres
Inscription : 28/7/2011
Messages : 17

ErgoDox (EZ): disposition TypeMatrix

Hello !

J'ai reçu dernièrement mon ErgoDox EZ. Étant très habitué au TypeMatrix 2030, que je compte continuer à utiliser, je me suis immédiatement rendu compte qu'il me fallait une disposition similaire pour l'ErgoDox, afin de facilement passer de l'un à l'autre.

Bien entendu je suis également utilisateur du bépo de longue date, donc mes choix se sont orientés en fonction de cette disposition.

J'ai donc implémenté ma propre disposition "TypeMatrix" pour l'ErgoDox EZ: https://github.com/DidierLoiseau/qmk_fi … aps/tm2030

Mon idée était de faire une disposition la plus fidèle possible. J'ai aussi essayé de ne pas trop l'orienter vers des choix personnels afin que ça convienne au maximum de monde – d'où l'utilisation de deux touches majuscules de chaque côté (pour imiter la grande touche du TypeMatrix) et de deux touches espace de chaque côté (pour ceux qui auraient des plus grandes mains !).

J'aimerais maintenant faire appel à vous pour vos suggestions, et bien sûr en faire profiter ceux qui seraient intéressés.

Pour l'instant le principal problème qu'il me reste c'est que j'ai dû mettre les touches « m » et « ç » (du bépo) en combinaison avec les touches majuscule de droite, ce qui provoque assez souvent des erreurs. À ce niveau-là j'espère qu'il soit possible de changer l'implémentation de cette fonctionnalité plutôt que de devoir déplacer ces touches.

Je vous transcris ici la disposition telle que ça donne en bépo (le fichier source contient une description des principales différences avec le 2030) :

/* Keymap 0: Basic layer
 *
 * ,--------------------------------------------------.           ,--------------------------------------------------.
 * |   `    |   1  |   2  |   3  |   4  |   5  | Del  |           | Del  |   6  |   7  |   8  |   9  |   0  |   W    |
 * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 * | Tab    |   B  |   É  |   P  |   O  |   È  |Backsp|           |Backsp|   ^  |   V  |   D  |   L  |   J  |   Z    |
 * |--------+------+------+------+------+------|ace   |           |ace   |------+------+------+------+------+--------|
 * | LShift |   A  |   U  |   I  |   E  |   ,  |------|           |------|   C  |   T  |   S  |   R  |   N  | M/Shift|
 * |--------+------+------+------+------+------|Enter |           |Enter |------+------+------+------+------+--------|
 * | LShift |   À  |   Y  |   X  |   .  |   K  |      |           |      |   '  |   Q  |   G  |   H  |   F  | Ç/Shift|
 * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 *   |LCtrl |  fn  | LGui | Play |App/Alt|                                      | RAlt |   =  | Home |   %  |End/Ctl|
 *   `-----------------------------------'                                      `-----------------------------------'
 *                                       ,--------------.       ,-------------.
 *                                       |Esc/Alt|  L1  |       | Left |Right |
 *                                ,------+-------+------|       |------+------+------.
 *                                |      |       | PgUp |       |  Up  |      |      |
 *                                |Space | Space |------|       |------|Space |Space |
 *                                |      |       | PgDn |       | Down |      |      |
 *                                `---------------------'       `--------------------'
 */
/* Keymap 1: Numbers Layer
 *
 * ,--------------------------------------------------.           ,--------------------------------------------------.
 * |        |  F1  |  F2  |  F3  |  F4  |  F5  |      |           |      |      |      |  Tab |   /  |   *  |   -    |
 * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 * |        |  F6  |  F7  |  F8  |  F9  |  F10 |      |           |      |      | Home |   7  |   8  |   9  |   +    |
 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 * |        |  F11 |  F12 |      |      |      |------|           |------|  Up  | End  |   4  |   5  |   6  |   +    |
 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 * |        |      |      |      |      |      |      |           | Left | Down | Right|   1  |   2  |   3  |KpEnter |
 * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 *   |      |      |      |      |      |                                       |      |   0  |  00  |   .  |Etr/Ctl|
 *   `----------------------------------'                                       `-----------------------------------'
 *                                        ,-------------.       ,-------------.
 *                                        |      |      |       |n.lock|c.lock|
 *                                 ,------|------|------|       |------+------+------.
 *                                 |      |      |      |       |      |      |      |
 *                                 |      |      |------|       |------|      |      |
 *                                 |      |      |      |       |      |      |      |
 *                                 `--------------------'       `--------------------'
 */
/* Keymap 2: fn layer
 *
 * ,--------------------------------------------------.           ,--------------------------------------------------.
 * |        |      |      |      |      |      |Insert|           |Insert|      |      |      |      |      |        |
 * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 * |        |      |      |      |      |      |VolUp |           |      |      |      |      |      |      |        |
 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 * |        |      |      |      |      |      |------|           |------|      |      |      |      |      |        |
 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 * |        |      | cut  | copy |paste | Mute |VolDn |           |      |      |      |      |      |      |        |
 * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 *   |      |      |      |      |      |                                       |      |      |      |      |      |
 *   `----------------------------------'                                       `----------------------------------'
 *                                        ,-------------.       ,-------------.
 *                                        |      |      |       |      |      |
 *                                 ,------|------|------|       |------+------+------.
 *                                 |      |      |      |       | Next |      |      |
 *                                 | Mute |      |------|       |------|      |      |
 *                                 |      |      |      |       | Prev |      |      |
 *                                 `--------------------'       `--------------------'
 */

Dernière modification par Didier (9/3/2016 00:36:32)

Hors ligne

#2 10/1/2016 23:25:10

fauge
Membres
Lieu : Paris
Inscription : 26/10/2014
Messages : 57

Re : ErgoDox (EZ): disposition TypeMatrix

Je trouve un peu dommage de gaspiller autant de touches avec des doublons.
Et 4 « espaces » ? du coup les 4 touches super accessibles avec les pouces redeviennent une simple barre d'espace… Au passage à l'Ergo Dox, j'ai remarqué que je ne tapais l'espace qu'avec le pouce droit. Du coup je n'ai pas mis d'espace à gauche ce qui me fait de la place pour d'autres touches (en général on manque toujours de touches, c'est pour cela qu'on utilise des layers)

Pour moi la révélation, ça a été la découverte du SpaceFn (j'avais lancé un sujet sur ce forum: https://geekhack.org/index.php?topic=51069.0), composé avec l'ErgoDox, c'est magique, on a des flèches super accessibles (sur la rangée du repos), un backspace super accessible aussi (bien pratique quand on commence avec l'ErgoDox !)

Hors ligne

#3 11/1/2016 13:43:33

Mimoza
Olivaw
Lieu : Terre
Inscription : 19/9/2012
Messages : 754

Re : ErgoDox (EZ): disposition TypeMatrix

Je ne peut qu'être d'accord avec fauge, il est dommage de limiter les possibilité de l'ergodox en se calquant sur une disposition des TM2030. Metter un shift sous le pouce est vraiement agréable pour ne pas se faire des torsion de poignet.
Ton placement des touche directionnelles est ne me semble pas vraiemnt pratique.

Je comprend ton idée, d'ailleur moi même j'utilise un TM au boulot et un ED à la maison et cette idée d'avoir une disposition presque identique m'avais traversé l'idée, mais quand j'ai fait quelques tests avec l'ED et les possibilitée des pouces il m'a semblé évidetn que ce n'étati finalement pas une bonne idée. Par la suite je me suis aperçu que je n'avais pas tant de mal que ça de changer de disposition entre les 2 claviers. Comme ils sont physiquement bien differents (domes / méca) le changement se fait sans trop grande difficultées.

Hors ligne

#4 11/1/2016 16:42:48

Didier
Membres
Inscription : 28/7/2011
Messages : 17

Re : ErgoDox (EZ): disposition TypeMatrix

Merci pour vos retours. En fait mon idée c'est d'avoir une disposition de base similaire au TypeMatrix, et de la mettre à disposition pour que chacun en fasse ce qu'il veut ensuite. Probablement que je l'adapterai aussi à mes propres besoins par la suite aussi.

À noter que j'ai déjà remarqué que je me suis habitué à la position que j'ai donnée au AltGr par exemple, qui devrait être mis à la place du «=» pour une meilleure correspondance géométrique ;-)

Pour ce qui est des espaces, je sais que j'utilise les deux pouces (peut-être plus le droit). Maintenant effectivement il n'en faut sans doute pas deux de chaque côté, peut-être que je mettrai les shifts comme Mimoza le suggère.

Un problème que j'ai remarqué hier d'ailleurs, c'est que j'ai en fait 4 shifts gauche et aucun shift droit, du coup il n'y a pas de « Magic keys » pour passer le clavier en debug, changer le layer par défaut etc. Du coup pour l'instant j'ai mis à shift droit à gauche ! :-D

Hors ligne

#5 9/3/2016 01:41:27

Didier
Membres
Inscription : 28/7/2011
Messages : 17

Re : ErgoDox (EZ): disposition TypeMatrix

Petites nouvelles sur l'évolution de ma disposition :-)

Au niveau de l'implémentation « TypeMatrix » tout d'abord :

  • remplacement d'un espace de chaque côté par un shift, pour ceux qui préfèrent utiliser les pouces pour ça (personnellement ça me gênerait un peu car je fais généralement shift-espace d'une seule main, donc j'ai laissé les autres shifts)

  • ajout des touches calculatrice, e-mail et navigateur en Fn

  • implémentation du Dvorak-us pour couvrir quasi entièrement les fonctionnalités du TM :-)

  • réintégration dans le dépôt QMK (PR 97 et 157)

Sur base de ça, j'ai commencé à définir une disposition plus spécifique au BÉPO, mais basée sur la précédente. C'est toujours en cours mais pour l'instant j'ai :

  • définition d'alias pour toutes les touches du bépo, avec les combinaisons de shift et altgr

  • suppression des combinaisons de shift avec d'autres touches (SFT_T) : 

    • déplacement du « = » à gauche à la place d'un des shifts

    • déplacement du « ç » à la place de « % »

    • déplacement du « % » à la place du « = »

  • implémentation d'une disposition « BÉPO over CSA » : configurez l'OS en QWERTY Canadien Multilingue (CSA), mais utilisez le clavier comme s'il était en bépo !

    • permet d'utiliser le BÉPO sur un système où il n'est pas possible d'en installer le pilote (et si PKL ne convient pas) en basculant dessus avec Fn+$ (la touche en haut à gauche)

    • le clavier CSA supporte une flopée de caractères spéciaux, ainsi que les majuscules accentuées et le « Ç », et est fourni avec Windows, donc ça m'a semblé être le meilleur choix

    • testé uniquement sous Windows – la définition du Canadien Multilingue étant beaucoup trop approximative sous X.org (modificateur GR2A non supporté et redéfinition de tous les caractères spéciaux en AltGr) et je n'ai pas de Mac

    • définition d'alias pour toutes les touches du CSA, avec les combinaisons de shift, altgr et GR2A

    • tous les caractères disponibles dans le CSA sont normalement supportés

    • les caractères « – », « — » et « … » sont implémentés via le support Unicode (alt + « + » + valeur hexadécimale), mais ça n'est pas tout à fait au point (chez moi ça marche dans Firefox et Excel mais pas dans Word par exemple)

    • globalement le résultat est très satisfaisant, et je trouve que ça marche mieux que PKL (mes problèmes…)

Ça devrait encore un peu évoluer, mais pour l'instant ça ressemble à ça :

/* Basic layer
 *
 * ,--------------------------------------------------.           ,--------------------------------------------------.
 * |   $    |   "  |   «  |   »  |   (  |   )  | Del  |           | Del  |   @  |   +  |   -  |   /  |   *  |   W    |
 * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 * | Tab    |   B  |   É  |   P  |   O  |   È  |Backsp|           |Backsp|   ^  |   V  |   D  |   L  |   J  |   Z    |
 * |--------+------+------+------+------+------|ace   |           |ace   |------+------+------+------+------+--------|
 * |   =    |   A  |   U  |   I  |   E  |   ,  |------|           |------|   C  |   T  |   S  |   R  |   N  |   M    |
 * |--------+------+------+------+------+------|Enter |           |Enter |------+------+------+------+------+--------|
 * | LShift |   À  |   Y  |   X  |   .  |   K  |      |           |      |   '  |   Q  |   G  |   H  |   F  | RShift |
 * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 *   |LCtrl |  fn  | LGui | Play |App/Alt|                                      |Alt Gr|   %  | Home |   Ç  |End/Ctl|
 *   `-----------------------------------'                                      `-----------------------------------'
 *                                       ,--------------.       ,-------------.
 *                                       |Esc/Alt| num  |       | Left |Right |
 *                                ,------+-------+------|       |------+------+------.
 *                                |      |       | PgUp |       |  Up  |      |      |
 *                                |Space |LShift |------|       |------|RShift|Space |
 *                                |      |       | PgDn |       | Down |      |      |
 *                                `---------------------'       `--------------------'
 */
/* Numeric Layer
 *
 * ,--------------------------------------------------.           ,--------------------------------------------------.
 * |        |  F1  |  F2  |  F3  |  F4  |  F5  |      |           |      |      |      |  Tab |   /  |   *  |   -    |
 * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 * |        |  F6  |  F7  |  F8  |  F9  |  F10 |      |           |      |      | Home |   7  |   8  |   9  |   +    |
 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 * |        |  F11 |  F12 |      |      |      |------|           |------|  Up  | End  |   4  |   5  |   6  |   +    |
 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 * |        |      |      |      |      |      |      |           | Left | Down | Right|   1  |   2  |   3  |KpEnter |
 * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 *   |      |      |      |      |      |                                       |      |   0  |  00  |   .  |Etr/Ctl|
 *   `----------------------------------'                                       `-----------------------------------'
 *                                        ,-------------.       ,-------------.
 *                                        |      |      |       |n.lock|c.lock|
 *                                 ,------|------|------|       |------+------+------.
 *                                 |      |      |      |       |      |      |      |
 *                                 |      |      |------|       |------|      |      |
 *                                 |      |      |      |       |      |      |      |
 *                                 `--------------------'       `--------------------'
 */
/* fn layer
 *
 * ,--------------------------------------------------.           ,--------------------------------------------------.
 * |~CA-mult|      |      |      |      |      |Insert|           |Insert|Eject |Power |Sleep | Wake |PrtScr|ScrollLk|
 * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 * |        |      |      |      |      |      |VolUp |           |      |      |      |      |      |      | Pause  |
 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 * |  RESET |      |      | Calc | Mail |Browsr|------|           |------|      |      |      |      |      |        |
 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 * |        |      | cut  | copy |paste | Mute |VolDn |           |      |      |      |      |      |      |        |
 * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 *   |      |      |      |      |      |                                       |      |      |      |      |      |
 *   `----------------------------------'                                       `----------------------------------'
 *                                        ,-------------.       ,-------------.
 *                                        |      |      |       |      |      |
 *                                 ,------|------|------|       |------+------+------.
 *                                 |      |      |      |       | Next |      |      |
 *                                 | Mute |      |------|       |------|      |      |
 *                                 |      |      |      |       | Prev |      |      |
 *                                 `--------------------'       `--------------------'
 */

Au niveau du BÉPO over CSA, le support est complet pour la disposition de base et le shift. Poult altgr et altgr+shift ça donne ça :

/* AltGr-ed BÉPO over Canadian Multilingual
 * "////" indicates that the key is disabled (unsupported bépo character)
 *
 * ,--------------------------------------------------.           ,--------------------------------------------------.
 * |    –   |   —  |   <  |   >  |   [  |   ]  |      |           |      |   ^  |   ±  | //// |   ÷  |   ×  | dead ˘ |
 * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 * |        |   |  |dead '|   &  |   œ  |dead `|      |           |      |   ¡  |dead ˇ|   ð  | //// |   ij  | ////// |
 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 * | ////// |   æ  |   ù  |dead "|   €  |   ̛’  |------|           |------|   ©  |   þ  |   ß  |   ®  |dead ~| dead ¯ |
 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 * |        |   \  |   {  |   }  |   …  |   ~  |      |           |      |   ¿  |dead °|   μ  | //// |dead ˛|        |
 * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 *   |      |      |      |      |      |                                       |      | //// |      |dead ¸|       |
 *   `----------------------------------'                                       `-----------------------------------'
 *                                        ,-------------.       ,-------------.
 *                                        |      |      |       |      |      |
 *                                 ,------|------|------|       |------+------+------.
 *                                 |      |      |      |       |      |      |      |
 *                                 |   _  |      |------|       |------|      |  _   |
 *                                 |      |      |      |       |      |      |      |
 *                                 `--------------------'       `--------------------'
 */
/* AltGr-shifted BÉPO over Canadian Multilingual
 * "////" indicates that the key is disabled (unsupported bépo character or unused in bépo)
 *
 * ,--------------------------------------------------.           ,--------------------------------------------------.
 * |    ¶   | //// |   “  |   ”  | //// | //// |      |           |      | //// |   ¬  |   ¼  |   ½  |   ¾  | ////// |
 * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 * |        |   ¦  |   ˝  |   §  |   Œ  |   `  |      |           |      | //// | //// |   Ð  | //// |   IJ  | ////// |
 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 * | ////// |   Æ  |   Ù  |dead-˙| //// | //// |------|           |------| //// |   Þ  |   ẞ  |   ™  | //// |   º    |
 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 * |        | //// |   ‘  |   ’  | //// | //// |      |           |      | //// | //// | //// | //// |   ª  |        |
 * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 *   |      |      |      |      |      |                                       |      |      |      |      |      |
 *   `----------------------------------'                                       `----------------------------------'
 *                                        ,-------------.       ,-------------.
 *                                        |      |      |       |      |      |
 *                                 ,------|------|------|       |------+------+------.
 *                                 |      |      |      |       |      |      |      |
 *                                 |      |      |------|       |------|      |      |
 *                                 |      |      |      |       |      |      |      |
 *                                 `--------------------'       `--------------------'
 */

Hors ligne

#6 13/5/2016 23:50:21

Mimoza
Olivaw
Lieu : Terre
Inscription : 19/9/2012
Messages : 754

Re : ErgoDox (EZ): disposition TypeMatrix

Salut,
Après pas mal de tervigersation j'ai refait ma dispo pour mon ergodox.
Je met mon fichier de conf complet pour les intéressé.

#include "ergodox_ez.h"
#include "debug.h"
#include "action_layer.h"
#include "keymap_bepo.h"

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

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap 0: Basic layer
 *
 * ,--------------------------------------------------.           ,--------------------------------------------------.
 * | 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|        |      |
 *                                 `--------------------'       `----------------------'
 */
// If it accepts an argument (i.e, is a function), it doesn't need KC_.
// Otherwise, it needs KC_*
[BASE] = KEYMAP(  // layer 0 : default
        // left hand
        KC_ESC,       BP_DOUBLE_QUOTE, BP_LEFT_GUILLEMET, BP_RIGHT_GUILLEMET, BP_LEFT_PAREN, BP_RIGHT_PAREN, BP_DOLLAR,
        BP_C_CEDILLA, BP_B,            BP_E_ACUTE,        BP_P,               BP_O,          BP_E_GRAVE,     KC_TAB,
        BP_W,         BP_A,            BP_U,              BP_I,               BP_E,          BP_COMMA,
        KC_LCTL,      BP_A_GRAVE,      BP_Y,              BP_X,               BP_DOT,        BP_K,           KC_DELT,
          KC_LGUI,    KC_HOME,         KC_PGUP,           KC_PGDN,            KC_END,
                                          
					           LCTL(BP_C), LCTL(BP_V),
                                                               MO(SYMB),
                                              KC_SPC, KC_LSFT, ALT_T(KC_ENT),
        // 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_LGUI,
             TG(SYMB), TG(MOUSE),
             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] = KEYMAP(
       // 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] = KEYMAP(
       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) {
          register_code(KC_RSFT);
        } else {
          unregister_code(KC_RSFT);
        }
        break;
      }
    return MACRO_NONE;
};

// 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 1:
            ergodox_right_led_1_on();
            break;
        case 2:
            ergodox_right_led_2_on();
            break;
	case 3:
            ergodox_right_led_1_on();
	    ergodox_right_led_2_on();
            break;
        default:
            // none
            break;
    }

};

J'ai pas mal chargé le pouce gauche car finalement quand on a la main sur la sourie c'est bien pratique.
Le placement du «W» est vraiment pas mal car le rend bien mieux accessible que sur un clavier classique. J'ai fait sauté le «ê» car je le tape systématiquement en composition «^+e»
Sur ma deuxième couche j'ai mis tout le pavé numérique à droite en respectant l'ordre des opérateurs du Bépo classique, a gauche j'ai casé tout ce qu'il me semblait utile.
Ma 3ème couche est dédié à la sourie, il y a pas mal de touches redondantes mais c'est fait exprès.

Sinon j'ai fait une page sur le wiki pour facilité la prise en main de ce clavier. Toute contribution est la bienvenue.

Hors ligne

#7 13/9/2016 20:03:14

Didier
Membres
Inscription : 28/7/2011
Messages : 17

Re : ErgoDox (EZ): disposition TypeMatrix

Pour ceux que ça intéresserait, ma disposition a été intégrée au dépôt QMK :
https://github.com/jackhumbert/qmk_firm … s/bepo_csa

Les principaux changements depuis mon dernier message :

  • remplacement de Play par numAlt (combinaison du "num" avec Alt lorsqu'on maintient la touche). Play passe dans la couche Fn

  • App/Alt devient juste Alt, Alt/Esc devient juste Esc, End/Ctrl devient juste Ctrl – les combinaisons de touches s'avèrent trop peu fiables

  • Home remplacé par App (= Menu)

  • Home et End passent sur les pouces

  • pas de changements sur la position des lettres

,--------------------------------------------------.           ,--------------------------------------------------.
|   $    |   "  |   «  |   »  |   (  |   )  | Del  |           | Del  |   @  |   +  |   -  |   /  |   *  |   W    |
|--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
| Tab    |   B  |   É  |   P  |   O  |   È  |Backsp|           |Backsp|   ^  |   V  |   D  |   L  |   J  |   Z    |
|--------+------+------+------+------+------|ace   |           |ace   |------+------+------+------+------+--------|
|   =    |   A  |   U  |   I  |   E  |   ,  |------|           |------|   C  |   T  |   S  |   R  |   N  |   M    |
|--------+------+------+------+------+------|Enter |           |Enter |------+------+------+------+------+--------|
| LShift |   À  |   Y  |   X  |   .  |   K  |      |           |      |   '  |   Q  |   G  |   H  |   F  | RShift |
`--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
  |LCtrl |  fn  | LGui |numAlt| LAlt |                                       |Alt Gr|   %  |  App |   Ç  | RCtrl|
  `----------------------------------'                                       `----------------------------------'
                                      ,--------------.       ,-------------.
                                      |  Esc  | num  |       | Left |Right |
                               ,------+-------+------|       |------+------+------.
                               |      |       | PgUp |       |  Up  |      |      |
                               |Space | Home  |------|       |------| End  |Space |
                               |      |       | PgDn |       | Down |      |      |
                               `---------------------'       `--------------------'

Hors ligne

#8 16/11/2016 13:37:13

eliz
Membres
Inscription : 16/11/2016
Messages : 5

Re : ErgoDox (EZ): disposition TypeMatrix

Bonjour à tous

J'ai récemment fait l'acquisition d'un Ergodox EZ, je cherchais à installer une configuration Bépo. N'étant pas versée dans la programmation, c'est assez complexe. Enfin j'ai tout de même réussi à comprendre l'essentiel pour compiler un fichier d'exemple et l'envoyer sur le contrôleur (en utilisant un lien vers roastedpotatoes que je peux pas mettre car je viens de m'inscrire). Ne comprenant pas suffisamment comment composer soit-même le fichier de disposition du clavier, je me suis tournée vers une config déjà prête qui semble correspondre à ce que je recherche : celle que Mimosa a mise en ligne sur le wiki et 2 post plus haut)

Mais je suis bloquée. Où dois-je intégrer le fichier dans le Makefile.lula ? Où sont les fichiers .h mentionnés dans le code :
#include "ergodox_ez.h"
#include "debug.h"
#include "action_layer.h"
#include "keymap_bepo.h"

Est-ce que je dois les récupérer sur GitHub ou autre ? J'avoue que je suis complètement perdue, je pensais innocemment qu'il y aurait des configurations déjà prêtes qu'il suffirait de charger dans le clavier (le marketing d'ergodox insiste un peu lourdement sur le fait que c'est facile à configurer, sauf qu'ils ont oublié de mentionner "quand on veut un clavier américain"), et vu le prix du clavier, ca ne m'aurait pas paru aberrant. Mais bon, j'en suis là, donc si quelqu'un pouvait m'éclairer un peu, j'en serais très reconnaissante. A la limite, si quelqu'un avait le .hex pour cette config, même si j'aimerais bien comprendre comment tout ca marche, ca me ferait quand même gagner un temps fou.

smile

Hors ligne

#9 16/11/2016 15:40:00

eliz
Membres
Inscription : 16/11/2016
Messages : 5

Re : ErgoDox (EZ): disposition TypeMatrix

J'ai finalement réussi à compiler le code et l'installer le firmware sur le clavier, mais quelle disposition faut-il configurer dans Windows pour qu'il tienne compte des codes utilisés ? J'ai essayé avec plusieurs dispositions mais aucune ne fonctionne, et le bépo n'est pas disponible sous windows.

Hors ligne

#10 16/11/2016 15:52:23

eliz
Membres
Inscription : 16/11/2016
Messages : 5

Re : ErgoDox (EZ): disposition TypeMatrix

J'ai trouvé finalement. Tout fonctionne parfaitement. Désolée pour ces messages inutiles. Je me sens un peu bête du coup ><

Hors ligne

#11 16/11/2016 16:00:26

Didier
Membres
Inscription : 28/7/2011
Messages : 17

Re : ErgoDox (EZ): disposition TypeMatrix

Hello eliz et bienvenue sur le forum bépo.

La disposition de Mimoza nécessite d'installer le driver bépo officiel pour fonctionner sous Windows.

La mienne permet de fonctionner avec le driver officiel, ou bien en utilisant la disposition "Canadien Multilingue". Ma disposition se trouve ici :
https://github.com/jackhumbert/qmk_firm … s/bepo_csa

(ce qui me fait remarquer que j'ai des changements en local que je n'ai pas encore publiés)

Hors ligne

#12 16/11/2016 16:14:46

eliz
Membres
Inscription : 16/11/2016
Messages : 5

Re : ErgoDox (EZ): disposition TypeMatrix

Bonjour Didier

Oui j'ai vu votre config mais je trouve que celle de Mimosa correspond plus à mes besoins, notamment avec le contrôle de la souris sur la couche 2. Du coup j'ai installé le bépo pour que ca marche. Et j'aime bien avoir la touche "entrée" au niveau du pouce droit. Je trouve ca très pratique.
Cela dit, j'aurais apprécié pour utiliser le bépo avec le clavier canadien car j'utilise déjà ce clavier et ca m'aurait évité d'avoir à changer la configuration à chaque fois que je change de clavier (sur le portable, quand je suis chez moi ou que je l'emporte).

En tout cas merci, je n'hésiterai pas à jeter un oeil à votre config quand vous aurez publié les mises à jour smile

Hors ligne

#13 16/11/2016 17:16:50

Didier
Membres
Inscription : 28/7/2011
Messages : 17

Re : ErgoDox (EZ): disposition TypeMatrix

Normalement changer les touches simples n'est pas très difficile, et même copier une couche complète devrait marcher en adaptant son numéro et en ajoutant une touche pour basculer dans cette couche. Là où ça peut devenir plus compliqué c'est avec les macros mais s'il ne s'agit que de déplacer des touches ça devrait rester simple – même dans la couche de compatibilité CSA.

Pour les changements que je dois publier, de mémoire il ne s'agit que de l'implémentation des caractères spéciaux qui ne sont pas dans CSA (« – », « — », « … » et « ` »). En effet j'utilisais avant les fonctionnalités unicode (pour les trois premiers) et l'accent grave mort (pour le dernier) mais aucune de ces deux techniques n'est vraiment fiable. J'ai à présent basculé sur Alt+numéro du caractère CP1252 en décimal et ça marche beaucoup mieux.

Hors ligne

#14 16/11/2016 17:37:41

eliz
Membres
Inscription : 16/11/2016
Messages : 5

Re : ErgoDox (EZ): disposition TypeMatrix

J'y jetterai un oeil quand j'aurai un peu plus de temps mais je vous avoue que ça reste assez complexe pour moi, même si je comprends globalement le principe.

Hors ligne

#15 17/11/2016 00:44:07

Mimoza
Olivaw
Lieu : Terre
Inscription : 19/9/2012
Messages : 754

Re : ErgoDox (EZ): disposition TypeMatrix

Content que ma disposition soit utile smile

Hors ligne

Pied de page des forums