]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Add the AZERTY compatibility layer.
authorOlivier <olivier@gid0.org>
Mon, 28 Nov 2016 15:38:03 +0000 (16:38 +0100)
committerOlivier <olivier@gid0.org>
Mon, 28 Nov 2016 15:38:03 +0000 (16:38 +0100)
keyboards/ergodox/keymaps/bepo/keymap.c
keyboards/ergodox/keymaps/bepo/readme.md

index c19ab0d48da1d0a78e8b35e174ff9b123be373d8..05250ee6a779b89b85e16c86211e3601866e6f73 100644 (file)
@@ -1,13 +1,17 @@
 #include "ergodox.h"
 #include "keymap_bepo.h"
+#include "keymap_french.h"
 
 // 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 FNAV 4 // function / navigation / mouse layer
-#define NUMK 5 // numeric keypad 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
 
 // macros
 #define KP_00 0        // keypad "double 0"
@@ -47,7 +51,7 @@ KC_ESC,               KC_INS,         KC_LGUI,        KC_LCTL,        KC_LALT,
                                                BP_C,           BP_T,           BP_S,           BP_R,           BP_N,           BP_M,
                                KC_NUMLOCK,     BP_APOS,        BP_Q,           BP_G,           BP_H,           BP_F,           BP_CCED,
                                                                BP_ALGR,        KC_RCTL,        KC_RGUI,        KC_PSCREEN,     KC_PAUSE,
-DF(QW_B),      DF(BEPO),
+DF(AZ_B),      DF(BEPO),
 MO(NUMK),
 MO(FNAV),      KC_RSHIFT,      KC_ENTER),
 /* Keymap 1: bepo to qwerty base compat layer
@@ -161,7 +165,118 @@ S(KC_ESC),        S(KC_INS),      S(KC_LGUI),     S(KC_LCTL),     S(KC_LALT),
 KC_TRNS,       KC_TRNS,
 KC_TRNS,
 KC_TRNS,       KC_TRNS,        KC_TRNS),
-/* Keymap 4: function / navigation / mouse layer
+/* Keymap 4: bepo to azerty base compat layer
+ *
+ * ,--------------------------------------------------.                                  ,--------------------------------------------------.
+ * |   $    |   "  |   <  |   >  |   (  |   )  |Delete|                                  |ScroLo|   @  |   +  |   -  |   /  |   *  |   =    |
+ * |--------+------+------+------+------+-------------|                                  |------+------+------+------+------+------+--------|
+ * |   %    |   b  |e_acut|   p  |   o  |e_grav|Backsp|                                  |CapsLo|   ^  |   v  |   d  |   l  |   j  |   z    |
+ * |--------+------+------+------+------+------|  ace |                                  |      |------+------+------+------+------+--------|
+ * |   w    |   a  |   u  |   i  |   e  |   ,  |------|                                  |------|   c  |   t  |   s  |   r  |   n  |   m    |
+ * |--------+------+------+------+------+------|  Tab |                                  | NumLo|------+------+------+------+------+--------|
+ * |   e    |a_grav|   y  |   x  |   .  |   k  |      |                                  |      |   '  |   q  |   g  |   h  |   f  | c_cedil|
+ * `--------+------+------+------+------+-------------,-------------.      ,-------------`-------------+------+------+------+------+--------'
+ *   |Escape|Insert|LSuper| LCtrl|  LAlt|             | BEPO |QWERTY|      |AZERTY| BEPO |             | AltGr| RCtrl|RSuper|PrntSc| Pause|
+ *   `----------------------------------'      ,------|------|------|      |------+------+------.      `----------------------------------'
+ *                                             |      |      |L_NumK|      |L_NumK|      |      |
+ *                                             | Space|LShift|------|      |------|RShift|Enter |
+ *                                             |      |      |L_FNav|      |L_FNav|      |      |
+ *                                             `--------------------'      `--------------------'
+ */
+[AZ_B] = KEYMAP(
+// Left hand
+FR_DLR,                FR_QUOT,        FR_LESS,        FR_GRTR,        FR_LPRN,        FR_RPRN,        KC_DEL,
+FR_PERC,       KC_B,           FR_EACU,        KC_P,           KC_O,           FR_EGRV,        KC_BSPC,
+FR_W,          FR_A,           KC_U,           KC_I,           KC_E,           FR_COMM,
+KC_E,          FR_AGRV,        KC_Y,           KC_X,           FR_DOT,         KC_K,           KC_TAB,
+KC_ESC,                KC_INS,         KC_LGUI,        KC_LCTL,        KC_LALT,
+                                                                                                               KC_TRNS,        KC_TRNS,
+                                                                                                                               KC_TRNS,
+                                                                                               KC_SPC,         MO(AZ_S),       KC_TRNS,
+// Right hand
+                               KC_SLCK,        FR_AT,          FR_PLUS,        FR_MINS,        FR_SLSH,        FR_ASTR,        FR_EQL,
+                               KC_CAPSLOCK,    KC_LBRC,        KC_V,           KC_D,           KC_L,           KC_J,           FR_Z,
+                                               KC_C,           KC_T,           KC_S,           KC_R,           KC_N,           FR_M,
+                               KC_NUMLOCK,     FR_APOS,        FR_Q,           KC_G,           KC_H,           KC_F,           FR_CCED,
+                                                               MO(AZ_A),       KC_RCTL,        KC_RGUI,        KC_PSCREEN,     KC_PAUSE,
+KC_TRNS,       KC_TRNS,
+KC_TRNS,
+KC_TRNS,       MO(AZ_S),       KC_ENTER),
+/* Keymap 5: bepo with altgr key to azerty compat layer
+ *
+ * ,--------------------------------------------------.                                  ,--------------------------------------------------.
+ * |   $    |   "  |   <  |   >  |   [  |   ]  |Delete|                                  |ScroLo|   @  |   +  |   -  |   /  |   *  |   =    |
+ * |--------+------+------+------+------+-------------|                                  |------+------+------+------+------+------+--------|
+ * |   %    |   |  |   e  |   &  |   o  |   e  |Backsp|                                  |CapsLo|   ^  |   v  |   d  |   l  |   j  |   z    |
+ * |--------+------+------+------+------+------|  ace |                                  |      |------+------+------+------+------+--------|
+ * |   w    |   a  |u_grav| trem |   €  |   ,  |------|                                  |------|   c  |   t  |   s  |   r  |   n  |   m    |
+ * |--------+------+------+------+------+------|  Tab |                                  | NumLo|------+------+------+------+------+--------|
+ * |   /    |   \  |   {  |   }  |   .  |   ~  |      |                                  |      |   '  |   q  |   g  |   h  |   f  |   c    |
+ * `--------+------+------+------+------+-------------,-------------.      ,-------------`-------------+------+------+------+------+--------'
+ *   |Escape|Insert|LSuper| LCtrl|  LAlt|             | BEPO |QWERTY|      |AZERTY| BEPO |             | AltGr| RCtrl|RSuper|PrntSc| Pause|
+ *   `----------------------------------'      ,------|------|------|      |------+------+------.      `----------------------------------'
+ *                                             |      |      |L_NumK|      |L_NumK|      |      |
+ *                                             |   _  |LShift|------|      |------|RShift|Enter |
+ *                                             |      |      |L_FNav|      |L_FNav|      |      |
+ *                                             `--------------------'      `--------------------'
+ */
+[AZ_A] = KEYMAP(
+// Left hand
+FR_DLR,                FR_QUOT,        FR_LESS,        FR_GRTR,        FR_LBRC,        FR_RBRC,        KC_DEL,
+FR_PERC,       FR_PIPE,        FR_EACU,        FR_AMP,         KC_O,           FR_EGRV,        KC_BSPC,
+FR_W,          FR_A,           FR_UGRV,        S(KC_LBRC),     FR_EURO,        FR_COMM,
+FR_SLSH,       FR_BSLS,        FR_LCBR,        FR_RCBR,        FR_DOT,         FR_TILD,        KC_TAB,
+KC_ESC,                KC_INS,         KC_LGUI,        KC_LCTL,        KC_LALT,
+                                                                                                               KC_TRNS,        KC_TRNS,
+                                                                                                                               KC_TRNS,
+                                                                                               FR_UNDS,        MO(AZ_S),       KC_TRNS,
+// Right hand
+                               KC_SLCK,        FR_AT,          FR_PLUS,        FR_MINS,        FR_SLSH,        FR_ASTR,        FR_EQL,
+                               KC_CAPSLOCK,    KC_LBRC,        KC_V,           KC_D,           KC_L,           KC_J,           FR_Z,
+                                               KC_C,           KC_T,           KC_S,           KC_R,           KC_N,           FR_M,
+                               KC_NUMLOCK,     FR_APOS,        FR_Q,           KC_G,           KC_H,           KC_F,           FR_CCED,
+                                                               KC_TRNS,        KC_RCTL,        KC_RGUI,        KC_PSCREEN,     KC_PAUSE,
+KC_TRNS,       KC_TRNS,
+KC_TRNS,
+KC_TRNS,       MO(AZ_S),       KC_ENTER),
+/* Keymap 6: bepo with shift key to azerty compat layer
+ *
+ * ,--------------------------------------------------.                                  ,--------------------------------------------------.
+ * |   #    |   1  |   2  |   3  |   4  |   5  |Delete|                                  |ScroLo|   6  |   7  |   8  |   9  |   0  |   °    |
+ * |--------+------+------+------+------+-------------|                                  |------+------+------+------+------+------+--------|
+ * |   `    |   B  |   E  |   P  |   O  |   E  |Backsp|                                  |CapsLo|   !  |   V  |   D  |   L  |   J  |   Z    |
+ * |--------+------+------+------+------+------|  ace |                                  |      |------+------+------+------+------+--------|
+ * |   W    |   A  |   U  |   I  |   E  |   ;  |------|                                  |------|   C  |   T  |   S  |   R  |   N  |   M    |
+ * |--------+------+------+------+------+------|  Tab |                                  | NumLo|------+------+------+------+------+--------|
+ * |   E    |   A  |   Y  |   X  |   :  |   K  |      |                                  |      |   ?  |   Q  |   G  |   H  |   F  |   C    |
+ * `--------+------+------+------+------+-------------,-------------.      ,-------------`-------------+------+------+------+------+--------'
+ *   |Escape|Insert|LSuper| LCtrl|  LAlt|             | BEPO |QWERTY|      |AZERTY| BEPO |             | AltGr| RCtrl|RSuper|PrntSc| Pause|
+ *   `----------------------------------'      ,------|------|------|      |------+------+------.      `----------------------------------'
+ *                                             |      |      |L_NumK|      |L_NumK|      |      |
+ *                                             | Space|LShift|------|      |------|RShift|Enter |
+ *                                             |      |      |L_FNav|      |L_FNav|      |      |
+ *                                             `--------------------'      `--------------------'
+ */
+[AZ_S] = KEYMAP(
+// Left hand
+FR_HASH,       FR_1,           FR_2,           FR_3,           FR_4,           FR_5,           KC_TRNS,
+FR_GRV,                S(KC_B),        S(KC_E),        S(KC_P),        S(KC_O),        S(KC_E),        KC_TRNS,
+S(FR_W),       S(FR_A),        S(KC_U),        S(KC_I),        S(KC_E),        FR_SCLN,
+S(KC_E),       S(FR_A),        S(KC_Y),        S(KC_X),        FR_COLN,        S(KC_K),        S(KC_TAB),
+S(KC_ESC),     S(KC_INS),      S(KC_LGUI),     S(KC_LCTL),     S(KC_LALT),
+                                                                                                               KC_TRNS,        KC_TRNS,
+                                                                                                                               KC_TRNS,
+                                                                                               KC_TRNS,        KC_TRNS,        KC_TRNS,
+// Right hand
+                               KC_TRNS,        FR_6,           FR_7,           FR_8,           FR_9,           FR_0,           FR_OVRR,
+                               KC_TRNS,        FR_EXLM,        S(KC_V),        S(KC_D),        S(KC_L),        S(KC_J),        S(FR_Z),
+                                               S(KC_C),        S(KC_T),        S(KC_S),        S(KC_R),        S(KC_N),        S(FR_M),
+                               KC_TRNS,        FR_QUES,        S(FR_Q),        S(KC_G),        S(KC_H),        S(KC_F),        S(KC_C),
+                                                               S(KC_RALT),     S(KC_RCTL),     S(KC_RGUI),     KC_TRNS,        KC_TRNS,
+KC_TRNS,       KC_TRNS,
+KC_TRNS,
+KC_TRNS,       KC_TRNS,        KC_TRNS),
+/* Keymap 7: function / navigation / mouse layer
  *
  * ,--------------------------------------------------.                                  ,--------------------------------------------------.
  * |        |  F1  |  F2  |  F3  |  F4  |  F5  |VolMut|                                  |      |  F6  |  F7  |  F8  |  F9  |  F10 |        |
@@ -198,7 +313,7 @@ KC_NO,              KC_NO,          KC_TRNS,        KC_TRNS,        KC_TRNS,
 KC_TRNS,       KC_TRNS,
 KC_TRNS,
 KC_TRNS,       KC_TRNS,        KC_NO),
-/* Keymap 5: numeric keypad layer, sends keypad codes
+/* Keymap 8: numeric keypad layer, sends keypad codes
  *
  * ,--------------------------------------------------.                                  ,--------------------------------------------------.
  * |        |      |      |      |      |      |      |                                  |      |      | NumLo|   /  |   *  |   -  |        |
index 51a5069851303812f2e4f986e5db4df5e4e45db3..2959ac82989c5b99925ebe5cec81283de21f11d0 100644 (file)
@@ -27,8 +27,8 @@ Touche de fonction permettant de saisir les touches F1 à F12, les touches F1 à
 
 Touche de fonction permettant l'accès au pavé numérique comme sur la TypeMatrix 2030, mais sans avoir à déplacer la main droite : avec les doigts sur la rangée de repos, possibilité de saisir les chiffres "4", "5" et "6" comme sur un pavé numérique classique. Le double "0" de la TypeMatrix a été conservé, et gagne une possibilité de répétition en simples "0".
 
-Touche permettant de basculer en mode BEPO sur un système configuré pour un clavier QWERTY. Cette compatibilité n'est pas parfaite (pas encore de gestion des accents mais ça devrait être faisable avec une disposition en qwerty international, et les combinaisons de touches ne sont pas toutes supportées puisque le clavier traduit déjà certaines touches en combinaisons) mais reste pratique pour une saisie de texte occasionnelle.
+Touche permettant de basculer en mode BEPO sur un système configuré pour un clavier QWERTY. Cette compatibilité n'est pas parfaite (pas encore de gestion des accents mais ça devrait être faisable avec une disposition en qwerty international, et les combinaisons de touches ne sont pas toutes supportées puisque le clavier traduit déjà certaines touches en combinaisons) mais reste pratique pour une saisie de texte occasionnelle et pour des accès BIOS ou console en QWERTY.
 
-TODO : couche de compatibilité pour utiliser la disposition BÉPO sur un système configuré pour un clavier AZERTY.
+Touche permettant de basculer en mode BEPO sur un système configuré pour un clavier AZERTY. Cette compatibilité n'est pas parfaite (pas de gestion des caractères non présents sur le clavier AZERTY, et les combinaisons de touches ne sont pas toutes supportées puisque le clavier traduit déjà certaines touches en combinaisons) mais reste pratique pour une saisie de texte occasionnelle et pour faire du bureau à distance vers un système Windows sans BEPO.
 
 > Olivier Smedts <olivier@gid0.org>