]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Merge pull request #918 from jackhumbert/wu5y7
authorErez Zukerman <bulk@ezuk.org>
Tue, 29 Nov 2016 13:16:04 +0000 (08:16 -0500)
committerGitHub <noreply@github.com>
Tue, 29 Nov 2016 13:16:04 +0000 (08:16 -0500)
Adds Ergodox EZ RGB lights (both sides using I2C) and implements API base, Midi SysEx API

keyboards/ergodox/keymaps/bepo/Makefile [new file with mode: 0644]
keyboards/ergodox/keymaps/bepo/bepo.png
keyboards/ergodox/keymaps/bepo/keymap.c
keyboards/ergodox/keymaps/bepo/readme.md

diff --git a/keyboards/ergodox/keymaps/bepo/Makefile b/keyboards/ergodox/keymaps/bepo/Makefile
new file mode 100644 (file)
index 0000000..b673c5c
--- /dev/null
@@ -0,0 +1,9 @@
+# Having a file like this allows you to override Makefile definitions
+# for your own particular keymap
+
+SLEEP_LED_ENABLE = no  # Breathing sleep LED during USB suspend
+COMMAND_ENABLE   = no  # Commands for debug and configuration
+
+ifndef QUANTUM_DIR
+       include ../../../../Makefile
+endif
index 3df7aa609f6300a48c36425320323935aeb435e3..54992f5ae54c6c38b29221a78c45224af611573f 100644 (file)
Binary files a/keyboards/ergodox/keymaps/bepo/bepo.png and b/keyboards/ergodox/keymaps/bepo/bepo.png differ
index 2d88fc10ead6c9ac5089fc512724f54acdf30397..05250ee6a779b89b85e16c86211e3601866e6f73 100644 (file)
@@ -1,21 +1,23 @@
 #include "ergodox.h"
-#include "debug.h"
-#include "action_layer.h"
 #include "keymap_bepo.h"
+#include "keymap_french.h"
 
-#define BASE 0 // default layer
-#define QWER 1 // qwerty compat layer
-#define SQWER 2 // shifted qwerty compat layer
-#define AQWER 3 // alted qwerty compat layer
-#define FNAV 4 // function / navigation keys
-#define NUM 5 // numeric keypad keys
-#define MSE 6 // mouse 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
 
-#define KP_00 0
-#define CA_Fx 1
+// macros
+#define KP_00 0        // keypad "double 0"
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap 0: Base layer
+/* Keymap 0: default layer
  *
  * ,--------------------------------------------------.                                  ,--------------------------------------------------.
  * |   $    |   "  |   <  |   >  |   (  |   )  |Delete|                                  |ScroLo|   @  |   +  |   -  |   /  |   *  |   =    |
@@ -26,22 +28,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * |--------+------+------+------+------+------|  Tab |                                  | NumLo|------+------+------+------+------+--------|
  * | E_CIRC |A_GRAV|   Y  |   X  |   .  |   K  |      |                                  |      |   '  |   Q  |   G  |   H  |   F  | C_CEDIL|
  * `--------+------+------+------+------+-------------,-------------.      ,-------------`-------------+------+------+------+------+--------'
- *   |QWERTY|      |LSuper| LCtrl|  LAlt|             |Escape| L_Mse|      |      |Insert|             | AltGr| RCtrl|RSuper|PrntSc| Pause|
+ *   |Escape|Insert|LSuper| LCtrl|  LAlt|             | BEPO |QWERTY|      |AZERTY| BEPO |             | AltGr| RCtrl|RSuper|PrntSc| Pause|
  *   `----------------------------------'      ,------|------|------|      |------+------+------.      `----------------------------------'
- *                                             |      |      | L_Num|      | CA_Fx|      |      |
+ *                                             |      |      |L_NumK|      |L_NumK|      |      |
  *                                             | Space|LShift|------|      |------|RShift|Enter |
  *                                             |      |      |L_FNav|      |L_FNav|      |      |
  *                                             `--------------------'      `--------------------'
  */
-[BASE] = KEYMAP(
+[BEPO] = KEYMAP(
 // Left hand
 BP_DOLLAR,     BP_DQOT,        BP_LGIL,        BP_RGIL,        BP_LPRN,        BP_RPRN,        KC_DEL,
 BP_PERCENT,    BP_B,           BP_E_ACUTE,     BP_P,           BP_O,           BP_E_GRAVE,     KC_BSPC,
 BP_W,          BP_A,           BP_U,           BP_I,           BP_E,           BP_COMMA,
 BP_ECRC,       BP_A_GRAVE,     BP_Y,           BP_X,           BP_DOT,         BP_K,           KC_TAB,
-TG(QWER),      KC_NO,          KC_LGUI,        KC_LCTL,        KC_LALT,
-                                                                                                               KC_ESC,         MO(MSE),
-                                                                                                                               MO(NUM),
+KC_ESC,                KC_INS,         KC_LGUI,        KC_LCTL,        KC_LALT,
+                                                                                                               DF(BEPO),       DF(QW_B),
+                                                                                                                               MO(NUMK),
                                                                                                KC_SPC,         KC_LSHIFT,      MO(FNAV),
 // Right hand
                                KC_SLCK,        BP_AT,          BP_PLUS,        BP_MINUS,       BP_SLASH,       BP_ASTR,        BP_EQUAL,
@@ -49,10 +51,10 @@ TG(QWER),   KC_NO,          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,
-KC_NO,         KC_INS,
-M(CA_Fx),
+DF(AZ_B),      DF(BEPO),
+MO(NUMK),
 MO(FNAV),      KC_RSHIFT,      KC_ENTER),
-/* Keymap 1: QWERTY system compatibility layer
+/* Keymap 1: bepo to qwerty base compat layer
  *
  * ,--------------------------------------------------.                                  ,--------------------------------------------------.
  * |   $    |   "  |   <  |   >  |   (  |   )  |Delete|                                  |ScroLo|   @  |   +  |   -  |   /  |   *  |   =    |
@@ -63,33 +65,70 @@ MO(FNAV),   KC_RSHIFT,      KC_ENTER),
  * |--------+------+------+------+------+------|  Tab |                                  | NumLo|------+------+------+------+------+--------|
  * |   e    |   a  |   y  |   x  |   .  |   k  |      |                                  |      |   '  |   q  |   g  |   h  |   f  |   c    |
  * `--------+------+------+------+------+-------------,-------------.      ,-------------`-------------+------+------+------+------+--------'
- *   | BEPO |      |LSuper| LCtrl|  LAlt|             |Escape| L_Mse|      |      |Insert|             | AltGr| RCtrl|RSuper|PrntSc| Pause|
+ *   |Escape|Insert|LSuper| LCtrl|  LAlt|             | BEPO |QWERTY|      |AZERTY| BEPO |             | AltGr| RCtrl|RSuper|PrntSc| Pause|
  *   `----------------------------------'      ,------|------|------|      |------+------+------.      `----------------------------------'
- *                                             |      |      | L_Num|      |      |      |      |
+ *                                             |      |      |L_NumK|      |L_NumK|      |      |
  *                                             | Space|LShift|------|      |------|RShift|Enter |
  *                                             |      |      |L_FNav|      |L_FNav|      |      |
  *                                             `--------------------'      `--------------------'
  */
-[QWER] = KEYMAP(
+[QW_B] = KEYMAP(
 // Left hand
 KC_DOLLAR,     S(KC_QUOT),     S(KC_COMM),     S(KC_DOT),      KC_LPRN,        KC_RPRN,        KC_DEL,
 KC_PERCENT,    KC_B,           KC_E,           KC_P,           KC_O,           KC_E,           KC_BSPC,
 KC_W,          KC_A,           KC_U,           KC_I,           KC_E,           KC_COMMA,
 KC_E,          KC_A,           KC_Y,           KC_X,           KC_DOT,         KC_K,           KC_TAB,
-KC_TRNS,       KC_NO,          KC_LGUI,        KC_LCTL,        KC_LALT,
-                                                                                                               KC_ESC,         MO(MSE),
-                                                                                                                               MO(NUM),
-                                                                                               KC_SPC,         MO(SQWER),      MO(FNAV),
+KC_ESC,                KC_INS,         KC_LGUI,        KC_LCTL,        KC_LALT,
+                                                                                                               KC_TRNS,        KC_TRNS,
+                                                                                                                               KC_TRNS,
+                                                                                               KC_SPC,         MO(QW_S),       KC_TRNS,
 // Right hand
                                KC_SLCK,        KC_AT,          KC_PLUS,        KC_MINUS,       KC_SLASH,       KC_ASTR,        KC_EQUAL,
                                KC_CAPSLOCK,    KC_CIRC,        KC_V,           KC_D,           KC_L,           KC_J,           KC_Z,
                                                KC_C,           KC_T,           KC_S,           KC_R,           KC_N,           KC_M,
                                KC_NUMLOCK,     KC_QUOT,        KC_Q,           KC_G,           KC_H,           KC_F,           KC_C,
-                                                               MO(AQWER),      KC_RCTL,        KC_RGUI,        KC_PSCREEN,     KC_PAUSE,
-KC_NO,         KC_INS,
+                                                               MO(QW_A),       KC_RCTL,        KC_RGUI,        KC_PSCREEN,     KC_PAUSE,
+KC_TRNS,       KC_TRNS,
+KC_TRNS,
+KC_TRNS,       MO(QW_S),       KC_ENTER),
+/* Keymap 2: bepo with altgr key to qwerty compat layer
+ *
+ * ,--------------------------------------------------.                                  ,--------------------------------------------------.
+ * |   $    |   "  |   <  |   >  |   [  |   ]  |Delete|                                  |ScroLo|   @  |   +  |   -  |   /  |   *  |   =    |
+ * |--------+------+------+------+------+-------------|                                  |------+------+------+------+------+------+--------|
+ * |   %    |   |  |   e  |   &  |   o  |   e  |Backsp|                                  |CapsLo|   ^  |   v  |   d  |   l  |   j  |   z    |
+ * |--------+------+------+------+------+------|  ace |                                  |      |------+------+------+------+------+--------|
+ * |   w    |   a  |   u  |   i  |   €  |   ,  |------|                                  |------|   c  |   t  |   s  |   r  |   n  |   m    |
+ * |--------+------+------+------+------+------|  Tab |                                  | NumLo|------+------+------+------+------+--------|
+ * |   e    |   \  |   {  |   }  |   .  |   ~  |      |                                  |      |   '  |   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|      |      |
+ *                                             `--------------------'      `--------------------'
+ */
+[QW_A] = KEYMAP(
+// Left hand
+KC_DOLLAR,     S(KC_QUOT),     S(KC_COMM),     S(KC_DOT),      KC_LBRC,        KC_RBRC,        KC_DEL,
+KC_PERCENT,    KC_PIPE,        KC_E,           KC_AMPR,        KC_O,           KC_E,           KC_BSPC,
+KC_W,          KC_A,           KC_U,           KC_I,           RALT(KC_5),     KC_COMMA,
+KC_E,          KC_BSLASH,      KC_LCBR,        KC_RCBR,        KC_DOT,         KC_TILDE,       KC_TAB,
+KC_ESC,                KC_INS,         KC_LGUI,        KC_LCTL,        KC_LALT,
+                                                                                                               KC_TRNS,        KC_TRNS,
+                                                                                                                               KC_TRNS,
+                                                                                               KC_UNDS,        MO(QW_S),       KC_TRNS,
+// Right hand
+                               KC_SLCK,        KC_AT,          KC_PLUS,        KC_MINUS,       KC_SLASH,       KC_ASTR,        KC_EQUAL,
+                               KC_CAPSLOCK,    KC_CIRC,        KC_V,           KC_D,           KC_L,           KC_J,           KC_Z,
+                                               KC_C,           KC_T,           KC_S,           KC_R,           KC_N,           KC_M,
+                               KC_NUMLOCK,     KC_QUOT,        KC_Q,           KC_G,           KC_H,           KC_F,           KC_C,
+                                                               KC_TRNS,        KC_RCTL,        KC_RGUI,        KC_PSCREEN,     KC_PAUSE,
+KC_TRNS,       KC_TRNS,
 KC_TRNS,
-MO(FNAV),      MO(SQWER),      KC_ENTER),
-/* Keymap 2: QWERTY shifted system compatibility layer
+KC_TRNS,       MO(QW_S),       KC_ENTER),
+/* Keymap 3: bepo with shift key to qwerty compat layer
  *
  * ,--------------------------------------------------.                                  ,--------------------------------------------------.
  * |   #    |   1  |   2  |   3  |   4  |   5  |Delete|                                  |ScroLo|   6  |   7  |   8  |   9  |   0  |   =    |
@@ -100,20 +139,20 @@ MO(FNAV), MO(SQWER),      KC_ENTER),
  * |--------+------+------+------+------+------|  Tab |                                  | NumLo|------+------+------+------+------+--------|
  * |   E    |   A  |   Y  |   X  |   :  |   K  |      |                                  |      |   ?  |   Q  |   G  |   H  |   F  |   C    |
  * `--------+------+------+------+------+-------------,-------------.      ,-------------`-------------+------+------+------+------+--------'
- *   | BEPO |      |LSuper| LCtrl|  LAlt|             |Escape| L_Mse|      |      |Insert|             | AltGr| RCtrl|RSuper|PrntSc| Pause|
+ *   |Escape|Insert|LSuper| LCtrl|  LAlt|             | BEPO |QWERTY|      |AZERTY| BEPO |             | AltGr| RCtrl|RSuper|PrntSc| Pause|
  *   `----------------------------------'      ,------|------|------|      |------+------+------.      `----------------------------------'
- *                                             |      |      | L_Num|      |      |      |      |
+ *                                             |      |      |L_NumK|      |L_NumK|      |      |
  *                                             | Space|LShift|------|      |------|RShift|Enter |
  *                                             |      |      |L_FNav|      |L_FNav|      |      |
  *                                             `--------------------'      `--------------------'
  */
-[SQWER] = KEYMAP(
+[QW_S] = KEYMAP(
 // Left hand
 KC_HASH,       KC_1,           KC_2,           KC_3,           KC_4,           KC_5,           KC_TRNS,
 KC_GRV,                S(KC_B),        S(KC_E),        S(KC_P),        S(KC_O),        S(KC_E),        KC_TRNS,
 S(KC_W),       S(KC_A),        S(KC_U),        S(KC_I),        S(KC_E),        KC_SCOLON,
 S(KC_E),       S(KC_A),        S(KC_Y),        S(KC_X),        KC_COLON,       S(KC_K),        S(KC_TAB),
-KC_TRNS,       KC_TRNS,        S(KC_LGUI),     S(KC_LCTL),     S(KC_LALT),
+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,
@@ -126,51 +165,125 @@ KC_TRNS, KC_TRNS,        S(KC_LGUI),     S(KC_LCTL),     S(KC_LALT),
 KC_TRNS,       KC_TRNS,
 KC_TRNS,
 KC_TRNS,       KC_TRNS,        KC_TRNS),
-/* Keymap 3: QWERTY alted system compatibility 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  |   i  |   €  |   ,  |------|                                  |------|   c  |   t  |   s  |   r  |   n  |   m    |
+ * |   w    |   a  |u_grav| trem |   €  |   ,  |------|                                  |------|   c  |   t  |   s  |   r  |   n  |   m    |
  * |--------+------+------+------+------+------|  Tab |                                  | NumLo|------+------+------+------+------+--------|
- * |   e    |   \  |   {  |   }  |   .  |   ~  |      |                                  |      |   '  |   q  |   g  |   h  |   f  |   c    |
+ * |   /    |   \  |   {  |   }  |   .  |   ~  |      |                                  |      |   '  |   q  |   g  |   h  |   f  |   c    |
  * `--------+------+------+------+------+-------------,-------------.      ,-------------`-------------+------+------+------+------+--------'
- *   | BEPO |      |LSuper| LCtrl|  LAlt|             |Escape| L_Mse|      |      |Insert|             | AltGr| RCtrl|RSuper|PrntSc| Pause|
+ *   |Escape|Insert|LSuper| LCtrl|  LAlt|             | BEPO |QWERTY|      |AZERTY| BEPO |             | AltGr| RCtrl|RSuper|PrntSc| Pause|
  *   `----------------------------------'      ,------|------|------|      |------+------+------.      `----------------------------------'
- *                                             |      |      | L_Num|      |      |      |      |
+ *                                             |      |      |L_NumK|      |L_NumK|      |      |
  *                                             |   _  |LShift|------|      |------|RShift|Enter |
  *                                             |      |      |L_FNav|      |L_FNav|      |      |
  *                                             `--------------------'      `--------------------'
  */
-[AQWER] = KEYMAP(
+[AZ_A] = KEYMAP(
 // Left hand
-KC_DOLLAR,     S(KC_QUOT),     S(KC_COMM),     S(KC_DOT),      KC_LBRC,        KC_RBRC,        KC_DEL,
-KC_PERCENT,    KC_PIPE,        KC_E,           KC_AMPR,        KC_O,           KC_E,           KC_BSPC,
-KC_W,          KC_A,           KC_U,           KC_I,           RALT(KC_5),     KC_COMMA,
-KC_E,          KC_BSLASH,      KC_LCBR,        KC_RCBR,        KC_DOT,         KC_TILDE,       KC_TAB,
-KC_TRNS,       KC_NO,          KC_LGUI,        KC_LCTL,        KC_LALT,
-                                                                                                               KC_ESC,         MO(MSE),
-                                                                                                                               MO(NUM),
-                                                                                               KC_UNDS,        MO(SQWER),      MO(FNAV),
+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,        KC_AT,          KC_PLUS,        KC_MINUS,       KC_SLASH,       KC_ASTR,        KC_EQUAL,
-                               KC_CAPSLOCK,    KC_CIRC,        KC_V,           KC_D,           KC_L,           KC_J,           KC_Z,
-                                               KC_C,           KC_T,           KC_S,           KC_R,           KC_N,           KC_M,
-                               KC_NUMLOCK,     KC_QUOT,        KC_Q,           KC_G,           KC_H,           KC_F,           KC_C,
+                               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_NO,         KC_INS,
+KC_TRNS,       KC_TRNS,
 KC_TRNS,
-MO(FNAV),      MO(SQWER),      KC_ENTER),
-/* Keymap 4: function / navigation layer
+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 |        |
  * |--------+------+------+------+------+-------------|                                  |------+------+------+------+------+------+--------|
- * |        |      |      |      |      |      |VolDwn|                                  |      | PgUp | Home |  Up  |  End |  F11 |        |
+ * |        | Next |LClick|  Up  |RClick| WhUp |VolDwn|                                  |      | PgUp | Home |  Up  |  End |  F11 |        |
  * |--------+------+------+------+------+------|      |                                  |      |------+------+------+------+------+--------|
- * |        |      |      |      |      |      |------|                                  |------| PgDn | Left | Down | Right|  F12 |        |
+ * |        | Prev | Left | Down | Right|WhDown|------|                                  |------| PgDn | Left | Down | Right|  F12 |        |
  * |--------+------+------+------+------+------| VolUp|                                  |      |------+------+------+------+------+--------|
  * |        | Undo |  Cut | Copy | Paste|      |      |                                  |      |      |      |      |      |      |        |
  * `--------+------+------+------+------+-------------,-------------.      ,-------------`-------------+------+------+------+------+--------'
@@ -184,12 +297,12 @@ MO(FNAV), MO(SQWER),      KC_ENTER),
 [FNAV] = KEYMAP(
 // Left hand
 KC_NO,         KC_F1,          KC_F2,          KC_F3,          KC_F4,          KC_F5,          KC_MUTE,
-KC_NO,         KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_VOLU,
-KC_NO,         KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,
+KC_NO,         KC_MS_BTN5,     KC_MS_BTN1,     KC_MS_UP,       KC_MS_BTN2,     KC_MS_WH_UP,    KC_VOLU,
+KC_NO,         KC_MS_BTN4,     KC_MS_LEFT,     KC_MS_DOWN,     KC_MS_RIGHT,    KC_MS_WH_DOWN,
 KC_NO,         KC_UNDO,        KC_CUT,         KC_COPY,        KC_PASTE,       KC_NO,          KC_VOLD,
 KC_NO,         KC_NO,          KC_TRNS,        KC_TRNS,        KC_TRNS,
-                                                                                                               KC_NO,          KC_NO,
-                                                                                                                               KC_NO,
+                                                                                                               KC_TRNS,        KC_TRNS,
+                                                                                                                               KC_TRNS,
                                                                                                KC_NO,          KC_TRNS,        KC_TRNS,
 // Right hand
                                KC_NO,          KC_F6,          KC_F7,          KC_F8,          KC_F9,          KC_F10,         KC_NO,
@@ -197,91 +310,52 @@ KC_NO,            KC_NO,          KC_TRNS,        KC_TRNS,        KC_TRNS,
                                                KC_PGDOWN,      KC_LEFT,        KC_DOWN,        KC_RIGHT,       KC_F12,         KC_NO,
                                KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,
                                                                KC_TRNS,        KC_TRNS,        KC_TRNS,        KC_NO,          KC_NO,
-KC_NO,         KC_NO,
+KC_TRNS,       KC_TRNS,
 KC_TRNS,
 KC_TRNS,       KC_TRNS,        KC_NO),
-/* Keymap 5: numeric layer, sends keypad codes
+/* Keymap 8: numeric keypad layer, sends keypad codes
  *
  * ,--------------------------------------------------.                                  ,--------------------------------------------------.
- * |        |      |      |      |      |      |      |                                  |      |      |   +  |   -  |   /  |   *  |        |
+ * |        |      |      |      |      |      |      |                                  |      |      | NumLo|   /  |   *  |   -  |        |
  * |--------+------+------+------+------+-------------|                                  |------+------+------+------+------+------+--------|
- * |        |      |      |      |      |      |      |                                  |      |      |   7  |   8  |   9  |      |        |
+ * |        |      |      |      |      |      |      |                                  |      |      |   7  |   8  |   9  |   +  |        |
  * |--------+------+------+------+------+------|      |                                  |      |------+------+------+------+------+--------|
- * |        |      |      |      |      |      |------|                                  |------|      |   4  |   5  |   6  |      |        |
+ * |        |      |      |      |      |      |------|                                  |------|      |   4  |   5  |   6  |   +  |        |
  * |--------+------+------+------+------+------|      |                                  |      |------+------+------+------+------+--------|
- * |        |      |      |      |      |      |      |                                  |      |      |   1  |   2  |   3  |      |        |
+ * |        |      |      |      |      |      |      |                                  |      |      |   1  |   2  |   3  | Enter|        |
  * `--------+------+------+------+------+-------------,-------------.      ,-------------`-------------+------+------+------+------+--------'
- *   |      |      |      |      |      |             |      |      |      |      |      |             |   0  |  00  |   .  |      |      |
- *   `----------------------------------'      ,------|------|------|      |------+------+------.      `----------------------------------'
- *                                             |      |      |      |      |      |      |      |
- *                                             |      |      |------|      |------|      | Enter|
- *                                             |      |      |      |      |      |      |      |
- *                                             `--------------------'      `--------------------'
- */
-[NUM] = KEYMAP(
-// Left hand
-KC_NO,         KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,
-KC_NO,         KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,
-KC_NO,         KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,
-KC_NO,         KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,
-KC_NO,         KC_NO,          KC_TRNS,        KC_TRNS,        KC_TRNS,
-                                                                                                               KC_NO,          KC_NO,
-                                                                                                                               KC_TRNS,
-                                                                                               KC_NO,          KC_TRNS,        KC_NO,
-// Right hand
-                               KC_NO,          KC_NO,          KC_KP_PLUS,     KC_KP_MINUS,    KC_KP_SLASH,    KC_KP_ASTERISK, KC_NO,
-                               KC_NO,          KC_NO,          KC_KP_7,        KC_KP_8,        KC_KP_9,        KC_NO,          KC_NO,
-                                               KC_NO,          KC_KP_4,        KC_KP_5,        KC_KP_6,        KC_NO,          KC_NO,
-                               KC_NO,          KC_NO,          KC_KP_1,        KC_KP_2,        KC_KP_3,        KC_NO,          KC_NO,
-                                                               KC_KP_0,        M(KP_00),       KC_KP_COMMA,    KC_NO,          KC_NO,
-KC_NO,         KC_NO,
-KC_NO,
-KC_NO,         KC_TRNS,        KC_KP_ENTER),
-/* Keymap 6: mouse layer
- *
- * ,--------------------------------------------------.                                  ,--------------------------------------------------.
- * |        |      |      |      |      |      |      |                                  |      |      |      |      |      |      |        |
- * |--------+------+------+------+------+-------------|                                  |------+------+------+------+------+------+--------|
- * |        |      |      |      |      |      |      |                                  |      |      |LClick|  Up  |RClick| WhUp |        |
- * |--------+------+------+------+------+------|      |                                  |      |------+------+------+------+------+--------|
- * |        |      |      |      |      |      |------|                                  |------|      | Left | Down | Right|WhDown|        |
- * |--------+------+------+------+------+------|      |                                  |      |------+------+------+------+------+--------|
- * |        |      |      |      |      |      |      |                                  |      |      |      |      |      |      |        |
- * `--------+------+------+------+------+-------------,-------------.      ,-------------`-------------+------+------+------+------+--------'
- *   |      |      |      |      |      |             |      |      |      |      |      |             |      |      |      |      |      |
+ *   |      |      |      |      |      |             |      |      |      |      |      |             |   0  |  00  |   .  | Enter|      |
  *   `----------------------------------'      ,------|------|------|      |------+------+------.      `----------------------------------'
  *                                             |      |      |      |      |      |      |      |
  *                                             |      |      |------|      |------|      |      |
  *                                             |      |      |      |      |      |      |      |
  *                                             `--------------------'      `--------------------'
  */
-[MSE] = KEYMAP(
+[NUMK] = KEYMAP(
 // Left hand
 KC_NO,         KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,
 KC_NO,         KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,
 KC_NO,         KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,
 KC_NO,         KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,
 KC_NO,         KC_NO,          KC_TRNS,        KC_TRNS,        KC_TRNS,
-                                                                                                               KC_NO,          KC_TRNS,
-                                                                                                                               KC_NO,
-                                                                                               KC_NO,          KC_TRNS,        KC_NO,
+                                                                                                               KC_TRNS,        KC_TRNS,
+                                                                                                                               KC_TRNS,
+                                                                                               KC_NO,          KC_TRNS,        KC_TRNS,
 // Right hand
-                               KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,
-                               KC_NO,          KC_NO,          KC_MS_BTN1,     KC_MS_UP,       KC_MS_BTN2,     KC_MS_WH_UP,    KC_NO,
-                                               KC_NO,          KC_MS_LEFT,     KC_MS_DOWN,     KC_MS_RIGHT,    KC_MS_WH_DOWN,  KC_NO,
-                               KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,
-                                                               KC_TRNS,        KC_TRNS,        KC_TRNS,        KC_NO,          KC_NO,
-KC_NO,         KC_NO,
-KC_NO,
-KC_NO,         KC_TRNS,        KC_NO)
-};
-
-const uint16_t PROGMEM fn_actions[] = {
+                               KC_NO,          KC_NO,          KC_NUMLOCK,     KC_KP_SLASH,    KC_KP_ASTERISK, KC_KP_MINUS,    KC_NO,
+                               KC_NO,          KC_NO,          KC_KP_7,        KC_KP_8,        KC_KP_9,        KC_KP_PLUS,     KC_NO,
+                                               KC_NO,          KC_KP_4,        KC_KP_5,        KC_KP_6,        KC_KP_PLUS,     KC_NO,
+                               KC_NO,          KC_NO,          KC_KP_1,        KC_KP_2,        KC_KP_3,        KC_KP_ENTER,    KC_NO,
+                                                               KC_KP_0,        M(KP_00),       KC_KP_COMMA,    KC_KP_ENTER,    KC_NO,
+KC_TRNS,       KC_TRNS,
+KC_TRNS,
+KC_TRNS,       KC_TRNS,        KC_NO)
 };
 
 const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 {
   switch(id) {
+    // keypad "double 0"
     case KP_00:
       if (record->event.pressed) {
         return MACRO( T(KP_0), D(KP_0), END );
@@ -289,23 +363,6 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
         return MACRO( U(KP_0), END );
       }
       break;
-    case CA_Fx:
-      if (record->event.pressed) {
-        layer_on(FNAV);
-        return MACRO( D(LALT), D(LCTL), END );
-      } else {
-        layer_off(FNAV);
-        return MACRO( U(LCTL), U(LALT), END );
-      }
-      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) {
-};
index 4a18cd80ff89f69d6500b48f74a5c7ab656bbebc..2959ac82989c5b99925ebe5cec81283de21f11d0 100644 (file)
@@ -23,12 +23,12 @@ La touche "Tab" est placée comme sur la TypeMatrix 2020.
 
 Meilleure symétrie et accessibilité que la TypeMatrix 2030 : les touches "W" et "%" ont dû être déplacées du côté gauche en raison du nombre de touches de l'ErgoDox, mais l'auriculaire droit ne gère maintenant que deux colonnes de touches au lieu de trois. La touche "Ê" redevient accessible sur la même rangée que les autres lettres, comme sur un clavier classique en disposition bépo. Les lettres, chiffres et symboles sont tous regroupés sur 4 lignes et 6 colonnes pour chaque main, et la première rangée de lettres à la main gauche conserve une identité visuelle "BÉPO".
 
-Touche de fonction permettant de saisir les touches F1 à F12, les touches F1 à F10 sont placées de façon logique par rapport aux chiffres 1 à 0. Cette même touche permet l'accès aux touches directionnelles sans déplacer la main droite. Les touches "Home" et "End" sont placées de la même façon que sur une TypeMatrix 2030 par rapport aux touches directionnelles. Les touches "Page Up" et "Page Down" sont également accessibles facilement sans déplacer la main droite. Les fonctions "VolUp" et "VolDown" sont placées comme sur la TypeMatrix 2030, avec la fonction "Mute" juste au dessus. Les fonctions "Undo", "Cut", "Copy" et "Paste" sont placées côte à côte comme elles le seraient sur un clavier QWERTY en combinaison avec la touche "Ctrl" (à l'emplacement des lettres "Z", "X", "C" et "V"). Par rapport au layout "SpaceFN", l'utilisation d'une touche de fonction dédiée au pouce permet de ne pas ajouter de latence, et la touche espace reste compatible avec les jeux (action au moment de l'appui et possibilité d'appui long).
+Touche de fonction permettant de saisir les touches F1 à F12, les touches F1 à F10 sont placées de façon logique par rapport aux chiffres 1 à 0. Cette même touche permet l'accès aux touches directionnelles sans déplacer la main droite et d'effectuer des actions souris avec uniquement la main gauche. Les touches "Home" et "End" sont placées de la même façon que sur une TypeMatrix 2030 par rapport aux touches directionnelles. Les touches "Page Up" et "Page Down" sont également accessibles facilement sans déplacer la main droite. Les fonctions "VolUp" et "VolDown" sont placées comme sur la TypeMatrix 2030, avec la fonction "Mute" juste au dessus. Les fonctions "Undo", "Cut", "Copy" et "Paste" sont placées côte à côte comme elles le seraient sur un clavier QWERTY en combinaison avec la touche "Ctrl" (à l'emplacement des lettres "Z", "X", "C" et "V"). Par rapport au layout "SpaceFN", l'utilisation d'une touche de fonction dédiée au pouce permet de ne pas ajouter de latence, et la touche espace reste compatible avec les jeux (action au moment de l'appui et possibilité d'appui long).
 
 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".
 
-L'appui sur une touche permet 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>