Эх сурвалжийг харах

Merge remote-tracking branch 'refs/remotes/jackhumbert/master'

# Conflicts:
#	quantum/template/template.c
#	quantum/template/template.h
IBNobody 9 жил өмнө
parent
commit
ec62d9e85c
88 өөрчлөгдсөн 397 нэмэгдсэн , 263 устгасан
  1. 10 14
      keyboard/atomic/atomic.c
  2. 2 2
      keyboard/atomic/atomic.h
  3. 4 4
      keyboard/atreus/atreus.c
  4. 2 2
      keyboard/atreus/atreus.h
  5. 19 0
      keyboard/ergodox_ez/190hotfix.sh
  6. 12 21
      keyboard/ergodox_ez/ergodox_ez.c
  7. 2 2
      keyboard/ergodox_ez/ergodox_ez.h
  8. BIN
      keyboard/ergodox_ez/keymaps/andrew_osx/andrew_osx.hex
  9. 2 2
      keyboard/ergodox_ez/keymaps/andrew_osx/keymap.c
  10. BIN
      keyboard/ergodox_ez/keymaps/coderkun_neo2/coderkun_neo2.hex
  11. 2 2
      keyboard/ergodox_ez/keymaps/coderkun_neo2/keymap.c
  12. BIN
      keyboard/ergodox_ez/keymaps/colemak/colemak.hex
  13. 2 2
      keyboard/ergodox_ez/keymaps/colemak/keymap.c
  14. BIN
      keyboard/ergodox_ez/keymaps/colemak_osx_pc_no/colemak_osx_pc_no.hex
  15. BIN
      keyboard/ergodox_ez/keymaps/csharp_dev/csharp_dev.hex
  16. BIN
      keyboard/ergodox_ez/keymaps/csharp_dev/csharp_dev.png
  17. BIN
      keyboard/ergodox_ez/keymaps/csharp_dev/csharp_dev_legend.png
  18. 29 72
      keyboard/ergodox_ez/keymaps/csharp_dev/keymap.c
  19. 2 1
      keyboard/ergodox_ez/keymaps/csharp_dev/readme.md
  20. BIN
      keyboard/ergodox_ez/keymaps/dave/dave.hex
  21. 4 4
      keyboard/ergodox_ez/keymaps/dave/keymap.c
  22. BIN
      keyboard/ergodox_ez/keymaps/default/default.hex
  23. 2 2
      keyboard/ergodox_ez/keymaps/default/keymap.c
  24. BIN
      keyboard/ergodox_ez/keymaps/default_osx/default_osx.hex
  25. 2 2
      keyboard/ergodox_ez/keymaps/default_osx/keymap.c
  26. BIN
      keyboard/ergodox_ez/keymaps/dragon788/dragon788.hex
  27. 2 2
      keyboard/ergodox_ez/keymaps/dragon788/keymap.c
  28. BIN
      keyboard/ergodox_ez/keymaps/dvorak/dvorak.hex
  29. 2 2
      keyboard/ergodox_ez/keymaps/dvorak/keymap.c
  30. BIN
      keyboard/ergodox_ez/keymaps/emacs_osx_dk/emacs_osx_dk.hex
  31. 2 2
      keyboard/ergodox_ez/keymaps/emacs_osx_dk/keymap.c
  32. BIN
      keyboard/ergodox_ez/keymaps/erez_experimental/erez_experimental.hex
  33. 2 2
      keyboard/ergodox_ez/keymaps/erez_experimental/keymap.c
  34. BIN
      keyboard/ergodox_ez/keymaps/german-kinergo/german-kinergo.hex
  35. 2 2
      keyboard/ergodox_ez/keymaps/german-kinergo/keymap.c
  36. BIN
      keyboard/ergodox_ez/keymaps/german/german.hex
  37. 2 2
      keyboard/ergodox_ez/keymaps/german/keymap.c
  38. BIN
      keyboard/ergodox_ez/keymaps/j3rn/j3rn.hex
  39. 2 2
      keyboard/ergodox_ez/keymaps/j3rn/keymap.c
  40. BIN
      keyboard/ergodox_ez/keymaps/jack/jack.hex
  41. 2 2
      keyboard/ergodox_ez/keymaps/jack/keymap.c
  42. BIN
      keyboard/ergodox_ez/keymaps/jacobono/jacobono.hex
  43. 2 2
      keyboard/ergodox_ez/keymaps/jacobono/keymap.c
  44. BIN
      keyboard/ergodox_ez/keymaps/jgarr/jgarr.hex
  45. 2 2
      keyboard/ergodox_ez/keymaps/jgarr/keymap.c
  46. BIN
      keyboard/ergodox_ez/keymaps/kastyle/kastyle.hex
  47. 2 2
      keyboard/ergodox_ez/keymaps/kastyle/keymap.c
  48. 2 2
      keyboard/ergodox_ez/keymaps/kines-ish/keymap.c
  49. BIN
      keyboard/ergodox_ez/keymaps/kines-ish/kines-ish.hex
  50. 18 13
      keyboard/ergodox_ez/keymaps/mpiechotka/keymap.c
  51. BIN
      keyboard/ergodox_ez/keymaps/mpiechotka/mpiechotka.hex
  52. 2 2
      keyboard/ergodox_ez/keymaps/ordinary/keymap.c
  53. BIN
      keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex
  54. 2 2
      keyboard/ergodox_ez/keymaps/osx_de/keymap.c
  55. BIN
      keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex
  56. 2 2
      keyboard/ergodox_ez/keymaps/osx_de_adnw_koy/keymap.c
  57. BIN
      keyboard/ergodox_ez/keymaps/osx_de_adnw_koy/osx_de_adnw_koy.hex
  58. 2 2
      keyboard/ergodox_ez/keymaps/osx_fr/keymap.c
  59. BIN
      keyboard/ergodox_ez/keymaps/osx_fr/osx_fr.hex
  60. 2 2
      keyboard/ergodox_ez/keymaps/osx_kinesis_pnut/keymap.c
  61. 2 2
      keyboard/ergodox_ez/keymaps/plover/keymap.c
  62. BIN
      keyboard/ergodox_ez/keymaps/plover/plover.hex
  63. 134 0
      keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/keymap.c
  64. 43 0
      keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/readme.md
  65. BIN
      keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/romanzolotarev-norman-plover-osx.hex
  66. BIN
      keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/romanzolotarev-norman-plover-osx.png
  67. 2 2
      keyboard/ergodox_ez/keymaps/software_neo2/keymap.c
  68. BIN
      keyboard/ergodox_ez/keymaps/software_neo2/software_neo2.hex
  69. 4 4
      keyboard/ergodox_ez/keymaps/tm2030/keymap.c
  70. BIN
      keyboard/ergodox_ez/keymaps/tm2030/keymap.hex
  71. BIN
      keyboard/ergodox_ez/keymaps/tm2030/tm2030.hex
  72. 2 2
      keyboard/ergodox_ez/keymaps/tonyabra_osx/keymap.c
  73. BIN
      keyboard/ergodox_ez/keymaps/tonyabra_osx/tonyabra_osx.hex
  74. 2 2
      keyboard/ergodox_ez/keymaps/workman_osx_mdw/keymap.c
  75. BIN
      keyboard/ergodox_ez/keymaps/workman_osx_mdw/workman_osx_mdw.hex
  76. 9 0
      keyboard/ergodox_ez/makeallhex.sh
  77. 6 10
      keyboard/ergodox_ez/matrix.c
  78. 4 4
      keyboard/hhkb_qmk/hhkb_qmk.c
  79. 2 2
      keyboard/hhkb_qmk/hhkb_qmk.h
  80. 4 4
      keyboard/jd45/jd45.c
  81. 2 2
      keyboard/jd45/jd45.h
  82. 1 1
      keyboard/planck/keymaps/lock/keymap.c
  83. 10 14
      keyboard/planck/planck.c
  84. 2 2
      keyboard/planck/planck.h
  85. 6 10
      quantum/matrix.c
  86. 9 18
      quantum/template/template.c
  87. 3 3
      quantum/template/template.h
  88. 2 2
      tmk_core/common/matrix.h

+ 10 - 14
keyboard/atomic/atomic.c

@@ -1,16 +1,16 @@
 #include "atomic.h"
 
 __attribute__ ((weak))
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 	// leave these blank
-};
+}
 
 __attribute__ ((weak))
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 	// leave these blank
-};
+}
 
-void * matrix_init_kb(void) {
+void matrix_init_kb(void) {
 	// put your keyboard start-up code here
 	// runs once when the firmware starts up
 
@@ -25,16 +25,12 @@ void * matrix_init_kb(void) {
     DDRE |= (1<<6);
     PORTE |= (1<<6);
 
-	if (matrix_init_user) {
-		(*matrix_init_user)();
-	}
-};
+	matrix_init_user();
+}
 
-void * matrix_scan_kb(void) {
+void matrix_scan_kb(void) {
 	// put your looping keyboard code here
 	// runs every cycle (a lot)
 
-	if (matrix_scan_user) {
-		(*matrix_scan_user)();
-	}
-};
+	matrix_scan_user();
+}

+ 2 - 2
keyboard/atomic/atomic.h

@@ -24,7 +24,7 @@
     { K40, K41, KC_NO, K43, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B,   K4C,   K4D,   K4E }  \
 }
 
-void * matrix_init_user(void);
-void * matrix_scan_user(void);
+void matrix_init_user(void);
+void matrix_scan_user(void);
 
 #endif

+ 4 - 4
keyboard/atreus/atreus.c

@@ -1,16 +1,16 @@
 #include "atreus.h"
 
 __attribute__ ((weak))
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 	// leave these blank
 };
 
 __attribute__ ((weak))
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 	// leave these blank
 };
 
-void * matrix_init_kb(void) {
+void matrix_init_kb(void) {
 	// put your keyboard start-up code here
 	// runs once when the firmware starts up
 
@@ -19,7 +19,7 @@ void * matrix_init_kb(void) {
 	}
 };
 
-void * matrix_scan_kb(void) {
+void matrix_scan_kb(void) {
 	// put your looping keyboard code here
 	// runs every cycle (a lot)
 

+ 2 - 2
keyboard/atreus/atreus.h

@@ -22,7 +22,7 @@
 	{ k2a, k30, k31, k32, k33, k34,   k36, k37, k38, k39, k3a } \
 }
 
-void * matrix_init_user(void);
-void * matrix_scan_user(void);
+void matrix_init_user(void);
+void matrix_scan_user(void);
 
 #endif

+ 19 - 0
keyboard/ergodox_ez/190hotfix.sh

@@ -0,0 +1,19 @@
+#!/bin/bash
+#a tool to fix broken keymaps as a result of pull request #190 
+#changing the declaration of matrix_scan_user() and matrix_init_user()
+#
+#This script will save a copy of the specified keymap as keymap.c.bak
+#and then create a new keymap.c with the definion corrected.
+#this script must be run from the ergodox_ez directory
+if [ $# -ne 1 ]; then
+    echo $0: usage: ./190hotfix keymap_name
+    exit 1
+fi
+
+echo Saving backup as ./keymaps/$1/keymap.c.bak ...
+mv ./keymaps/$1/keymap.c ./keymaps/$1/keymap.c.bak
+
+echo Modifying ./keymaps/$1/keymap.c ...
+cat ./keymaps/$1/keymap.c.bak | sed -r 's/^void \* matrix_/void matrix_/'>./keymaps/$1/keymap.c
+
+echo Complete!

+ 12 - 21
keyboard/ergodox_ez/ergodox_ez.c

@@ -5,16 +5,16 @@ bool i2c_initialized = 0;
 uint8_t mcp23018_status = 0x20;
 
 __attribute__ ((weak))
-void * matrix_init_user(void) {
-    return NULL;
-};
+void matrix_init_user(void) {
+
+}
 
 __attribute__ ((weak))
-void * matrix_scan_user(void) {
-    return NULL;
-};
+void matrix_scan_user(void) {
+
+}
 
-void * matrix_init_kb(void) {
+void matrix_init_kb(void) {
    // keyboard LEDs (see "PWM on ports OC1(A|B|C)" in "teensy-2-0.md")
     TCCR1A = 0b10101001;  // set and configure fast PWM
     TCCR1B = 0b00001001;  // set and configure fast PWM
@@ -34,21 +34,12 @@ void * matrix_init_kb(void) {
 
     ergodox_blink_all_leds();
 
-    if (matrix_init_user) {
-        (*matrix_init_user)();
-    }
-
-    return NULL;
-};
-
-void * matrix_scan_kb(void) {
-
-    if (matrix_scan_user) {
-        (*matrix_scan_user)();
-    }
+    matrix_init_user();
+}
 
-    return NULL;
-};
+void matrix_scan_kb(void) {
+    matrix_scan_user();
+}
 
 
 void ergodox_blink_all_leds(void)

+ 2 - 2
keyboard/ergodox_ez/ergodox_ez.h

@@ -123,8 +123,8 @@ inline void ergodox_led_all_set(uint8_t n)
     { k0D, k1D, k2D, k3D, k4D, KC_NO }    \
    }
 
-void * matrix_init_user(void);
-void * matrix_scan_user(void);
+void matrix_init_user(void);
+void matrix_scan_user(void);
 
 
 

BIN
keyboard/ergodox_ez/keymaps/andrew_osx/andrew_osx.hex


+ 2 - 2
keyboard/ergodox_ez/keymaps/andrew_osx/keymap.c

@@ -158,12 +158,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 };
 
 // Runs just one time when the keyboard initializes.
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 
 };
 
 // Runs constantly in the background, in a loop.
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
     uint8_t layer = biton32(layer_state);
 

BIN
keyboard/ergodox_ez/keymaps/coderkun_neo2/coderkun_neo2.hex


+ 2 - 2
keyboard/ergodox_ez/keymaps/coderkun_neo2/keymap.c

@@ -243,12 +243,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 
 
 // Runs just one time when the keyboard initializes.
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 };
 
 
 // Runs constantly in the background, in a loop.
-void * matrix_scan_user(void)
+void matrix_scan_user(void)
 {
     uint8_t layer = biton32(layer_state);
 

BIN
keyboard/ergodox_ez/keymaps/colemak/colemak.hex


+ 2 - 2
keyboard/ergodox_ez/keymaps/colemak/keymap.c

@@ -155,12 +155,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 };
 
 // Runs just one time when the keyboard initializes.
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 
 };
 
 // Runs constantly in the background, in a loop.
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
     uint8_t layer = biton32(layer_state);
 

BIN
keyboard/ergodox_ez/keymaps/colemak_osx_pc_no/colemak_osx_pc_no.hex


BIN
keyboard/ergodox_ez/keymaps/csharp_dev/csharp_dev.hex


BIN
keyboard/ergodox_ez/keymaps/csharp_dev/csharp_dev.png


BIN
keyboard/ergodox_ez/keymaps/csharp_dev/csharp_dev_legend.png


+ 29 - 72
keyboard/ergodox_ez/keymaps/csharp_dev/keymap.c

@@ -3,8 +3,7 @@
 #include "action_layer.h"
 
 #define BASE 0 // default layer
-#define QWERTY 1 // qwerty keys
-#define FKEYS 2 // F keys + macros
+#define FKEYS 1 // F keys + macros
 
 #define MACRO_PUBLIC 10
 #define MACRO_PRIVATE 11
@@ -43,12 +42,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  *   |Tab~CL|  <   |  >   |   |  |  &   |                                       |   =  |   +  |   -  |   *  |  L1  |
  *   `----------------------------------'                                       `----------------------------------'
  *                                        ,-------------.       ,-------------.
- *                                        |. ~L1 | , ~L2|       |Home~L1| End~L2|
- *                                 ,------|------|------|       |------+--------+------.
- *                                 |      |      | Copy |       | UP   |        |      |
- *                                 | Enter| Space|------|       |------|  Space |Enter |
- *                                 | ~LSFT| ~WIN | Past |       | DOWN |   ~WIN | ~LSFT|
- *                                 `--------------------'       `----------------------'
+ *                                        |. ~L1 | ,    |       |Home  |End~L1|
+ *                                 ,------|------|------|       |------+------+------.
+ *                                 |      |      | Copy |       | UP   |      |      |
+ *                                 | Enter| Space|------|       |------| Space|Enter |
+ *                                 | ~WIN | ~LSFT| Past |       | DOWN | ~LSFT| ~WIN |
+ *                                 `--------------------'       `--------------------'
  */
 // If it accepts an argument (i.e, is a function), it doesn't need KC_.
 // Otherwise, it needs KC_*
@@ -59,110 +58,68 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         KC_LCBR,        KC_A,         KC_S,   KC_D,   KC_F,   KC_G,
         KC_RCBR,        ALT_T(KC_Z),  KC_X,   KC_C,   KC_V,   KC_B,   KC_SLASH,
         CTL_T(KC_TAB), LSFT(KC_COMMA),LSFT(KC_DOT),KC_PIPE,KC_AMPR, 
-                                              LT(1,KC_DOT),  LT(2,KC_COMM),
+                                              LT(1,KC_DOT),  KC_COMM,
                                                               LCTL(KC_C),
-                                               SFT_T(KC_ENTER),GUI_T(KC_SPACE),LCTL(KC_V),
+                                               GUI_T(KC_ENTER),SFT_T(KC_SPACE),LCTL(KC_V),
         // right hand
              LCTL(KC_S)  ,     KC_6,   KC_7,   KC_8,   KC_9,   KC_0,     KC_LBRACKET,
              KC_DELETE,       KC_Y,   KC_U,   KC_I,   KC_O,   KC_P,   KC_RBRACKET,
                           KC_H,   KC_J,   KC_K,   KC_L,   KC_UNDS,LCTL(KC_Y),
              KC_SCOLON,KC_N,   KC_M, KC_QUOTE  ,KC_EXLM , LSFT(KC_SLASH),   LCTL(KC_Z),
                                   KC_EQUAL,KC_PLUS  ,  KC_MINUS,KC_ASTR  ,     TG(1),
-             LT(2,KC_HOME),         LT(1,KC_END),
+             KC_HOME,         LT(1,KC_END),
              KC_UP,
-             KC_DOWN,GUI_T(KC_SPACE), SFT_T(KC_ENTER)
+             KC_DOWN,SFT_T(KC_SPACE), GUI_T(KC_ENTER)
     ),
-/* Keymap 1: QWERTY layer
- *
- * ,--------------------------------------------------.           ,--------------------------------------------------.
- * |   `    |   1  |   2  |   3  |   4  |   5  |   -  |           |   =  |   6  |   7  |   8  |   9  |  0   |        |
- * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
- * |   Tab  |   Q  |   W  |   E  |   R  |   T  |      |           |      |   Y  |   U  |   I  |   O  |   P  |        |
- * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
- * |  Esc   |   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |  ;   |   '    |
- * |--------+------+------+------+------+------|  Tab |           |  Esc |------+------+------+------+------+--------|
- * |  LSHFT |   Z  |   X  |   C  |   V  |   B  |      |           |      |   N  |   M  |   ,  |   .  |  /   |    \   |
- * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
- *   | CTRL | WIN  |  ALT |ALT GR| Esc  |                                       | PgUp | PgDw | Ins  | PtSc |      |
- *   `----------------------------------'                                       `----------------------------------'
- *                                        ,-------------.       ,-------------.
- *                                        |      |  Cut |       |      |      |
- *                                 ,------|------|------|       |------+--------+------.
- *                                 |      |      |      |       |      |        |      |
- *                                 |      |      |------|       |------|   Left | Right|
- *                                 |      |      |      |       |      |        |      |
- *                                 `--------------------'       `----------------------'
- */
-// If it accepts an argument (i.e, is a function), it doesn't need KC_.
-// Otherwise, it needs KC_*
-[QWERTY] = KEYMAP(  // layer 2 : QWERTY
-        // left hand
-        KC_GRAVE,         KC_1,         KC_2,   KC_3,   KC_4,   KC_5,   KC_MINUS,
-        KC_TAB,        KC_Q,         KC_W,   KC_E,   KC_R,   KC_T,   KC_TRNS,
-        KC_ESCAPE,        KC_A,         KC_S,   KC_D,   KC_F,   KC_G,
-        KC_LSHIFT,        KC_Z,  KC_X,   KC_C,   KC_V,   KC_B,   KC_TAB,
-        KC_LCTRL, KC_LGUI,KC_LALT,  KC_RALT,    KC_ESCAPE,
-                                              KC_TRNS,  LCTL(KC_X),
-                                                              KC_TRNS,
-                                               KC_TRNS,KC_TRNS,KC_TRNS,
-        // right hand
-             KC_EQUAL  ,     KC_6,   KC_7,   KC_8,   KC_9,   KC_0, KC_TRNS,
-             KC_TRNS,       KC_Y,   KC_U,   KC_I,   KC_O,   KC_P,            KC_TRNS,
-                          KC_H,   KC_J,   KC_K,   KC_L,   KC_SCOLON,  KC_QUOTE,
-             KC_ESCAPE,KC_N,   KC_M,   KC_TRNS,KC_DOT , KC_SLASH,   KC_NONUS_BSLASH,
-                                  KC_PGUP  ,  KC_PGDOWN,KC_INSERT  ,KC_PSCREEN,          KC_TRNS,
-             KC_TRNS,        KC_TRNS,
-             KC_TRNS,
-             KC_TRNS,KC_LEFT, KC_RIGHT
-    ),
-/* Keymap 2:  F keys + macros
+
+/* Keymap 1:  F keys + macros
  *
  * ,--------------------------------------------------.           ,--------------------------------------------------.
- * |        |  F1  |  F2  |  F3  |  F4  |  F5  |      |           | Calc |  F6  |  F7  |  F8  |  F9  |  F10 |   F11  |
+ * |  ESC   |  F1  |  F2  |  F3  |  F4  |  F5  |  `   |           | Calc |  F6  |  F7  |  F8  |  F9  |  F10 |   F11  |
  * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
- * |        |Public|Static|string|int   |return|      |           |      |//TODO|      |      |      |      |   F12  |
+ * |  Tab   |Public|Static|string|int   |return|      |           |      |//TODO|      |      |      |      |   F12  |
  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
  * |        |Privat|Const |var   |float |null  |------|           |------|new   |      |      |      |      |        |
- * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |--------+------+------+------+------+------|  \   |           |  ~   |------+------+------+------+------+--------|
  * |        |      |      |void  |bool  |break;|      |           |      |();   |      |      |      |      |        |
  * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
- *   |      | Alt  |      |      |      |                                       |      |      |      |      |      |
+ *   |      |  WIN | Alt  |      |      |                                       | PgUp | PgDw | Ins  | PtSc |      |
  *   `----------------------------------'                                       `----------------------------------'
  *                                        ,-------------.       ,-------------.
  *                                        |      | Cut  |       |      |      |
  *                                 ,------|------|------|       |------+------+------.
  *                                 |      |      |      |       |      |      |      |
- *                                 |      |      |------|       |------|      |      |
+ *                                 |      |      |------|       |------| Left | Right|
  *                                 |      |      |      |       |      |      |      |
  *                                 `--------------------'       `--------------------'
  */
 // FKEYS + MACROS
 [FKEYS] = KEYMAP(
        // left hand
-       KC_TRNS,KC_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_TRNS,
-       KC_TRNS,M(MACRO_PUBLIC),M(MACRO_STATIC),  M(MACRO_STRING),M(MACRO_INT),M(MACRO_RETURN),KC_TRNS,
+       KC_ESCAPE,KC_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_GRAVE,
+       KC_TAB,M(MACRO_PUBLIC),M(MACRO_STATIC),  M(MACRO_STRING),M(MACRO_INT),M(MACRO_RETURN),KC_TRNS,
        KC_TRNS,M(MACRO_PRIVATE),M(MACRO_CONST), M(MACRO_VAR),M(MACRO_FLOAT),M(MACRO_NULL),
-       KC_TRNS,KC_TRNS,KC_TRNS,M(MACRO_VOID),M(MACRO_BOOL),M(MACRO_BREAK),KC_TRNS,
-       KC_TRNS,KC_LALT,KC_TRNS,KC_TRNS,KC_TRNS,
-                                       KC_TRNS,KC_TRNS,
+       KC_TRNS,KC_TRNS,KC_TRNS,M(MACRO_VOID),M(MACRO_BOOL),M(MACRO_BREAK),KC_BSLASH,
+       KC_TRNS,KC_LGUI,KC_LALT,KC_TRNS,KC_TRNS,
+                                       KC_TRNS,LCTL(KC_X),
                                                KC_TRNS,
                                KC_TRNS,KC_TRNS,KC_TRNS,
        // right hand
        KC_CALCULATOR, KC_F6,   KC_F7,  KC_F8,   KC_F9,   KC_F10,  KC_F11,
        KC_TRNS, M(MACRO_TODO),   KC_TRNS,   KC_TRNS,    KC_TRNS,    KC_TRNS, KC_F12,
                 M(MACRO_NEW), KC_TRNS,   KC_TRNS,    KC_TRNS,    KC_TRNS, KC_TRNS,
-       KC_TRNS, M(MACRO_PARENTHESE), KC_TRNS,   KC_TRNS,    KC_TRNS,    KC_TRNS, KC_TRNS,
-                         KC_TRNS,KC_TRNS,  KC_TRNS,   KC_TRNS,  KC_TRNS,
+       KC_TILD, M(MACRO_PARENTHESE), KC_TRNS,   KC_TRNS,    KC_TRNS,    KC_TRNS, KC_TRNS,
+                         KC_PGUP,KC_PGDOWN,  KC_INSERT,   KC_PSCREEN,  KC_TRNS,
        KC_TRNS, KC_TRNS,
        KC_TRNS,
-       KC_TRNS, KC_TRNS, KC_TRNS
+       KC_TRNS, KC_LEFT, KC_RIGHT
 ),
 
 
 };
 
 const uint16_t PROGMEM fn_actions[] = {
-    [1] = ACTION_LAYER_TAP_TOGGLE(QWERTY)                // FN1 - Momentary Layer 1
+    [1] = ACTION_LAYER_TAP_TOGGLE(FKEYS)                // FN1 - Momentary Layer 1
 };
 
 const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
@@ -253,12 +210,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 };
 
 // Runs just one time when the keyboard initializes.
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 
 };
 
 // Runs constantly in the background, in a loop.
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
     uint8_t layer = biton32(layer_state);
 

+ 2 - 1
keyboard/ergodox_ez/keymaps/csharp_dev/readme.md

@@ -4,6 +4,8 @@
 
 * Feb 12, 2016 (V1): 
   * First version commit
+* Mar 20, 2016 (V2):
+  * Removed "Classic QWERTY" layer, inverted GUI and SHIFT on Hold for Space and Enter
 
 ## About
 This layout was conceived in an attempt to optimise keyboard layout for developers (C# more specifically, but it can work with most of other languages), and limit the keys required to perform the most frequent actions.
@@ -38,7 +40,6 @@ Still there are many way to improve or iterate on this:
 * Make it language agnostic
 * Check and compile language's keyboard's heatmaps to statistically define keys priority (e.g.  https://dzone.com/articles/most-pressed-keys-various )
 * QWERTY is still not the most efficient typing layout, I would like to create a Dvorak based similar layout in a near futur
-* Layout 1 is mainly here for safety, most of its unique keys could be transfered to Layout 2 and it could then be removed
 
 ## Issues 
 One of the issues encountered while creating this layout was that I did not find a way to have a key to send a modifier on hold, and a key combination while pressed (e.g. I can't set a Key to do Save (Ctrl + S) when pressed and Shift modifier when hold )

BIN
keyboard/ergodox_ez/keymaps/dave/dave.hex


+ 4 - 4
keyboard/ergodox_ez/keymaps/dave/keymap.c

@@ -154,12 +154,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 };
 
 // Runs just one time when the keyboard initializes.
-void * matrix_init_user(void) {
-    return NULL;
+void matrix_init_user(void) {
+
 };
 
 // Runs constantly in the background, in a loop.
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
     /* leds is a static array holding the current brightness of each of the
      * three keyboard LEDs. It's 4 long simply to avoid the ugliness of +1s and
      * -1s in the code below, and because wasting a byte really doesn't matter
@@ -191,5 +191,5 @@ void * matrix_scan_user(void) {
         }
     }
 
-    return NULL;
+
 };

BIN
keyboard/ergodox_ez/keymaps/default/default.hex


+ 2 - 2
keyboard/ergodox_ez/keymaps/default/keymap.c

@@ -155,12 +155,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 };
 
 // Runs just one time when the keyboard initializes.
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 
 };
 
 // Runs constantly in the background, in a loop.
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
     uint8_t layer = biton32(layer_state);
 

BIN
keyboard/ergodox_ez/keymaps/default_osx/default_osx.hex


+ 2 - 2
keyboard/ergodox_ez/keymaps/default_osx/keymap.c

@@ -158,12 +158,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 };
 
 // Runs just one time when the keyboard initializes.
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 
 };
 
 // Runs constantly in the background, in a loop.
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
     uint8_t layer = biton32(layer_state);
 

BIN
keyboard/ergodox_ez/keymaps/dragon788/dragon788.hex


+ 2 - 2
keyboard/ergodox_ez/keymaps/dragon788/keymap.c

@@ -200,12 +200,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 };
 
 // Runs just one time when the keyboard initializes.
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 
 };
 
 // Runs constantly in the background, in a loop.
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
     uint8_t layer = biton32(layer_state);
 

BIN
keyboard/ergodox_ez/keymaps/dvorak/dvorak.hex


+ 2 - 2
keyboard/ergodox_ez/keymaps/dvorak/keymap.c

@@ -155,12 +155,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 };
 
 // Runs just one time when the keyboard initializes.
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 
 };
 
 // Runs constantly in the background, in a loop.
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
     uint8_t layer = biton32(layer_state);
 

BIN
keyboard/ergodox_ez/keymaps/emacs_osx_dk/emacs_osx_dk.hex


+ 2 - 2
keyboard/ergodox_ez/keymaps/emacs_osx_dk/keymap.c

@@ -155,12 +155,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 };
 
 // Runs just one time when the keyboard initializes.
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 
 };
 
 // Runs constantly in the background, in a loop.
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
     uint8_t layer = biton32(layer_state);
 

BIN
keyboard/ergodox_ez/keymaps/erez_experimental/erez_experimental.hex


+ 2 - 2
keyboard/ergodox_ez/keymaps/erez_experimental/keymap.c

@@ -156,12 +156,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 };
 
 // Runs just one time when the keyboard initializes.
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 
 };
 
 // Runs constantly in the background, in a loop.
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
     uint8_t layer = biton32(layer_state);
 

BIN
keyboard/ergodox_ez/keymaps/german-kinergo/german-kinergo.hex


+ 2 - 2
keyboard/ergodox_ez/keymaps/german-kinergo/keymap.c

@@ -182,12 +182,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 };
 
 // Runs just one time when the keyboard initializes.
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 
 };
 
 // Runs constantly in the background, in a loop.
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
     uint8_t layer = biton32(layer_state);
 

BIN
keyboard/ergodox_ez/keymaps/german/german.hex


+ 2 - 2
keyboard/ergodox_ez/keymaps/german/keymap.c

@@ -157,12 +157,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 };
 
 // Runs just one time when the keyboard initializes.
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 
 };
 
 // Runs constantly in the background, in a loop.
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
     uint8_t layer = biton32(layer_state);
 

BIN
keyboard/ergodox_ez/keymaps/j3rn/j3rn.hex


+ 2 - 2
keyboard/ergodox_ez/keymaps/j3rn/keymap.c

@@ -157,12 +157,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 };
 
 // Runs just one time when the keyboard initializes.
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 
 };
 
 // Runs constantly in the background, in a loop.
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
     uint8_t layer = biton32(layer_state);
 

BIN
keyboard/ergodox_ez/keymaps/jack/jack.hex


+ 2 - 2
keyboard/ergodox_ez/keymaps/jack/keymap.c

@@ -89,12 +89,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 };
 
 // Runs just one time when the keyboard initializes.
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 
 };
 
 // Runs constantly in the background, in a loop.
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
     uint8_t layer = biton32(layer_state);
 

BIN
keyboard/ergodox_ez/keymaps/jacobono/jacobono.hex


+ 2 - 2
keyboard/ergodox_ez/keymaps/jacobono/keymap.c

@@ -244,12 +244,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 };
 
 // Runs just one time when the keyboard initializes.
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 
 };
 
 // Runs constantly in the background, in a loop.
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
 	uint8_t layer = biton32(layer_state);
 

BIN
keyboard/ergodox_ez/keymaps/jgarr/jgarr.hex


+ 2 - 2
keyboard/ergodox_ez/keymaps/jgarr/keymap.c

@@ -155,12 +155,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 };
 
 // Runs just one time when the keyboard initializes.
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 
 };
 
 // Runs constantly in the background, in a loop.
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
     uint8_t layer = biton32(layer_state);
 

BIN
keyboard/ergodox_ez/keymaps/kastyle/kastyle.hex


+ 2 - 2
keyboard/ergodox_ez/keymaps/kastyle/keymap.c

@@ -155,12 +155,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 };
 
 // Runs just one time when the keyboard initializes.
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 
 };
 
 // Runs constantly in the background, in a loop.
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
     uint8_t layer = biton32(layer_state);
 

+ 2 - 2
keyboard/ergodox_ez/keymaps/kines-ish/keymap.c

@@ -155,12 +155,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 };
 
 // Runs just one time when the keyboard initializes.
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 
 };
 
 // Runs constantly in the background, in a loop.
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
     uint8_t layer = biton32(layer_state);
 

BIN
keyboard/ergodox_ez/keymaps/kines-ish/kines-ish.hex


+ 18 - 13
keyboard/ergodox_ez/keymaps/mpiechotka/keymap.c

@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * | Del    |   Q  |   W  |   F  |   P  |   G  |  L1  |           |  L1  |   J  |   L  |   U  |   Y  |   ;  |   \    |
  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
  * | Esc    |   A  |   R  |   S  |   T  |   D  |------|           |------|   H  |   N  |   E  |   I  |  O   |   '    |
- * |--------+------+------+------+------+------| Hyper|           | Meh  |------+------+------+------+------+--------|
+ * |--------+------+------+------+------+------|   =  |           |   -  |------+------+------+------+------+--------|
  * | LShift |Z/Ctrl|   X  |   C  |   V  |   B  |      |           |      |   K  |   M  |   ,  |   .  |//Ctrl| RShift |
  * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
  *   |Grv/L1|  '"  |AltShf| Left | Right|                                       |  Up  | Down |   [  |   ]  | ~L1  |
@@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         KC_EQL,         KC_1,     KC_2,   KC_3,   KC_4,          KC_5,   KC_LEFT,
         KC_DELT,        KC_Q,     KC_W,   KC_F,   KC_P,          KC_G,   TG(SYMB),
         KC_ESC,         KC_A,     KC_R,   KC_S,   KC_T,          KC_D,
-        KC_LSFT,        KC_Z,     KC_X,   KC_C,   KC_V,          KC_B,   ALL_T(KC_NO),
+        KC_LSFT,        KC_Z,     KC_X,   KC_C,   KC_V,          KC_B,   KC_EQL,
         LT(SYMB,KC_GRV),KC_QUOT,  LALT(KC_LSFT),  KC_LEFT,       KC_RGHT,
                                                              KC_LALT,       F(LWIN),
                                                                             KC_HOME,
@@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
              KC_RGHT,     KC_6,   KC_7,   KC_8,   KC_9,   KC_0,             KC_MINS,
              TG(SYMB),    KC_J,   KC_L,   KC_U,   KC_Y,   KC_SCLN,          KC_BSLS,
                           KC_H,   KC_N,   KC_E,   KC_I,   KC_O,             KC_QUOT,
-             MEH_T(KC_NO),KC_K,   KC_M,   KC_COMM,KC_DOT, CTL_T(KC_SLSH),   KC_RSFT,
+             KC_MINS,     KC_K,   KC_M,   KC_COMM,KC_DOT, CTL_T(KC_SLSH),   KC_RSFT,
                                   KC_UP,  KC_DOWN,KC_LBRC,KC_RBRC,          LT(SYMB,KC_NO),
              KC_LALT,         KC_RALT,
              KC_PGUP,
@@ -73,7 +73,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * | Del    |   Q  |   W  |   F  |   P  |   G  |  L1  |           |  L1  |   J  |   L  |   U  |   Y  |   ;  |   \    |
  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
  * | Esc    |   A  |   R  |   S  |   T  |   D  |------|           |------|   H  |   N  |   E  |   I  |  O   |   '    |
- * |--------+------+------+------+------+------| Hyper|           | Meh  |------+------+------+------+------+--------|
+ * |--------+------+------+------+------+------|   =  |           |   -  |------+------+------+------+------+--------|
  * | LShift |Z/Ctrl|   X  |   C  |   V  |   B  |      |           |      |   K  |   M  |   ,  |   .  |//Ctrl| RShift |
  * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
  *   |Grv/L1|  '"  |AltShf| Left | Right|                                       |  Up  | Down |   [  |   ]  | ~L1  |
@@ -94,7 +94,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         KC_EQL,         KC_1,     KC_2,   KC_3,   KC_4,          KC_5,   KC_LEFT,
         KC_DELT,        CM_Q,     CM_W,   CM_F,   CM_P,          CM_G,   TG(SYMB),
         KC_ESC,         CM_A,     CM_R,   CM_S,   CM_T,          CM_D,
-        KC_LSFT,        CM_Z,     CM_X,   CM_C,   CM_V,          CM_B,   ALL_T(KC_NO),
+        KC_LSFT,        CM_Z,     CM_X,   CM_C,   CM_V,          CM_B,   KC_EQL,
         LT(SYMB,KC_GRV),KC_QUOT,  LALT(KC_LSFT),  KC_LEFT,       KC_RGHT,
                                                              KC_LALT,       F(LWIN),
                                                                             KC_HOME,
@@ -103,7 +103,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
              KC_RGHT,     KC_6,   KC_7,   KC_8,   KC_9,   KC_0,             KC_MINS,
              TG(SYMB),    CM_J,   CM_L,   CM_U,   CM_Y,   KC_P, /*CM_SCLN*/ KC_BSLS,
                           CM_H,   CM_N,   CM_E,   CM_I,   CM_O,             KC_QUOT,
-             MEH_T(KC_NO),CM_K,   CM_M,   CM_COMM,CM_DOT, CTL_T(CM_SLSH),   KC_RSFT,
+             KC_MINS,     CM_K,   CM_M,   CM_COMM,CM_DOT, CTL_T(CM_SLSH),   KC_RSFT,
                                   KC_UP,  KC_DOWN,KC_LBRC,KC_RBRC,          LT(SYMB,KC_NO),
              KC_LALT,         KC_RALT,
              KC_PGUP,
@@ -222,33 +222,38 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
         } else {
              unregister_code(KC_LGUI);
         }
+        break;
     case PC1:
         if (!record->event.pressed) {
-             return MACRO(T(SLCK), T(SLCK), T(1), T(ENT), END);
+             return MACRO(T(SLCK), W(50), T(SLCK), W(50), T(1), W(50), T(ENT), END);
         }
+        break;
     case PC2:
         if (!record->event.pressed) {
-             return MACRO(T(SLCK), T(SLCK), T(2), T(ENT), END);
+             return MACRO(T(SLCK), W(50), T(SLCK), W(50), T(2), W(50), T(ENT), END);
         }
+        break;
     case PC3:
         if (!record->event.pressed) {
-             return MACRO(T(SLCK), T(SLCK), T(3), T(ENT), END);
+             return MACRO(T(SLCK), W(50), T(SLCK), W(50), T(3), W(50), T(ENT), END);
         }
+        break;
     case PC4:
         if (!record->event.pressed) {
-             return MACRO(T(SLCK), T(SLCK), T(4), T(ENT), END);
+             return MACRO(T(SLCK), W(50), T(SLCK), W(50), T(4), W(50), T(ENT), END);
         }
+        break;
     }
     return MACRO_NONE;
 }
 
 // Runs just one time when the keyboard initializes.
-void * matrix_init_user(void) {
-    return NULL;
+void matrix_init_user(void) {
+
 };
 
 // Runs constantly in the background, in a loop.
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
     uint8_t layer = biton32(layer_state);
 

BIN
keyboard/ergodox_ez/keymaps/mpiechotka/mpiechotka.hex


+ 2 - 2
keyboard/ergodox_ez/keymaps/ordinary/keymap.c

@@ -161,12 +161,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 };
 
 // Runs just one time when the keyboard initializes.
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 
 };
 
 // Runs constantly in the background, in a loop.
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
     uint8_t layer = biton32(layer_state);
 

BIN
keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex


+ 2 - 2
keyboard/ergodox_ez/keymaps/osx_de/keymap.c

@@ -390,12 +390,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 };
 
 // Runs just one time when the keyboard initializes.
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 
 };
 
 // Runs constantly in the background, in a loop.
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
     uint8_t layer = biton32(layer_state);
 

BIN
keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex


+ 2 - 2
keyboard/ergodox_ez/keymaps/osx_de_adnw_koy/keymap.c

@@ -227,12 +227,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 };
 
 // Runs just one time when the keyboard initializes.
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 
 };
 
 // Runs constantly in the background, in a loop.
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
     uint8_t layer = biton32(layer_state);
 

BIN
keyboard/ergodox_ez/keymaps/osx_de_adnw_koy/osx_de_adnw_koy.hex


+ 2 - 2
keyboard/ergodox_ez/keymaps/osx_fr/keymap.c

@@ -158,12 +158,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 };
 
 // Runs just one time when the keyboard initializes.
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 
 };
 
 // Runs constantly in the background, in a loop.
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
     uint8_t layer = biton32(layer_state);
 

BIN
keyboard/ergodox_ez/keymaps/osx_fr/osx_fr.hex


+ 2 - 2
keyboard/ergodox_ez/keymaps/osx_kinesis_pnut/keymap.c

@@ -162,12 +162,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 };
 
 // Runs just one time when the keyboard initializes.
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 
 };
 
 // Runs constantly in the background, in a loop.
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
     uint8_t layer = biton32(layer_state);
 

+ 2 - 2
keyboard/ergodox_ez/keymaps/plover/keymap.c

@@ -199,12 +199,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 };
 
 // Runs just one time when the keyboard initializes.
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 
 };
 
 // Runs constantly in the background, in a loop.
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
     uint8_t layer = biton32(layer_state);
 

BIN
keyboard/ergodox_ez/keymaps/plover/plover.hex


+ 134 - 0
keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/keymap.c

@@ -0,0 +1,134 @@
+#include "ergodox_ez.h"
+#include "debug.h"
+#include "action_layer.h"
+
+#define BASE 0
+#define SYMB 1
+#define PLVR 2
+#define ARRW 3
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+  [BASE] = KEYMAP(
+    KC_GRV,        KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_F14,
+    KC_TAB,        KC_Q,    KC_W,    KC_D,    KC_F,    KC_K,    TG(PLVR),
+    CTL_T(KC_ESC), KC_A,    KC_S,    KC_E,    KC_T,    KC_G,
+    KC_LSFT,       KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_LBRC,
+    KC_F1,         KC_F2,   KC_F3,   KC_LALT, KC_LGUI,
+    /*-*/          /*-*/    /*-*/    /*-*/    /*-*/    KC_VOLD, KC_MUTE,
+    /*-*/          /*-*/    /*-*/    /*-*/    /*-*/    /*-*/    KC_VOLU,
+    /*-*/          /*-*/    /*-*/    /*-*/    /*-*/    KC_BSPC, CTL_T(KC_ESC), KC_FN1,
+    //
+    /*-*/          KC_F15,  KC_6,    KC_7,    KC_8,    KC_9,    KC_0,          KC_EQL,
+    /*-*/          KC_BSLS, KC_J,    KC_U,    KC_R,    KC_L,    KC_SCLN,       KC_MINS,
+    /*-*/          /*-*/    KC_Y,    KC_N,    KC_I,    KC_O,    KC_H,          KC_ENT,
+    /*-*/          KC_RBRC, KC_P,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,       KC_RSFT,
+    /*-*/          /*-*/    /*-*/    KC_RGUI, KC_RALT, KC_F4,   KC_F5,         KC_F6,
+    KC_MPLY,       KC_MNXT,
+    KC_MPRV,
+    KC_FN3,        KC_QUOT, KC_SPC
+  ),
+  [SYMB] = KEYMAP(
+    KC_TRNS,       KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS,       KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_TRNS,
+    KC_TRNS,       KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC,
+    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, 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, KC_6,    KC_7,    KC_8,    KC_9,    KC_0,          KC_TRNS,
+    /*-*/          /*-*/    KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,       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,
+    KC_TRNS,       KC_TRNS,
+    KC_TRNS,
+    KC_TRNS,       KC_TRNS, KC_TRNS
+  ),
+  [PLVR] = KEYMAP(
+    KC_NO,         KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_TRNS,
+    KC_NO,         KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_TRNS,
+    KC_NO,         KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,
+    KC_NO,         KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_NO,
+    KC_TRNS,       KC_TRNS, KC_TRNS, KC_NO,   KC_NO,
+    /*-*/          /*-*/    /*-*/    /*-*/    /*-*/    KC_TRNS, KC_TRNS,
+    /*-*/          /*-*/    /*-*/    /*-*/    /*-*/    /*-*/    KC_TRNS,
+    /*-*/          /*-*/    /*-*/    /*-*/    KC_C,    KC_V,    KC_NO,
+    //
+    /*-*/          KC_TRNS, KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,         KC_NO,
+    /*-*/          KC_NO,   KC_6,    KC_7,    KC_8,    KC_9,    KC_0,          KC_NO,
+    /*-*/          /*-*/    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,          KC_LBRC,
+    /*-*/          KC_NO,   KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN,       KC_QUOT,
+    /*-*/          /*-*/    /*-*/    KC_NO,   KC_NO,   KC_NO,   KC_NO,         KC_NO,
+    KC_TRNS,       KC_TRNS,
+    KC_TRNS,
+    KC_NO,         KC_N,    KC_M
+  ),
+  [ARRW] = KEYMAP(
+    KC_TRNS,       KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS,       KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_TRNS, KC_TRNS,
+    KC_TRNS,       KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, 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,
+    /*-*/          /*-*/    /*-*/    /*-*/    /*-*/    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,
+    /*-*/          KC_TRNS, KC_TRNS, KC_TRNS, KC_UP,   KC_TRNS, KC_TRNS,       KC_TRNS,
+    /*-*/          /*-*/    KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, KC_TRNS,
+    KC_TRNS,       KC_TRNS,
+    KC_TRNS,
+    KC_TRNS,       KC_TRNS, KC_TRNS
+  ),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+  [SYMB] = ACTION_LAYER_TAP_TOGGLE(SYMB), // FN1 - Momentary Symbols Layer
+  [PLVR] = ACTION_LAYER_TAP_TOGGLE(PLVR), // FN2 - Momentary Plover Layer
+  [ARRW] = ACTION_LAYER_TAP_TOGGLE(ARRW), // FN3 - Momentary Arrows Layer
+};
+
+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) {
+    case SYMB:
+      ergodox_right_led_1_on();
+      break;
+    case PLVR:
+      ergodox_right_led_2_on();
+      break;
+    case ARRW:
+      ergodox_right_led_3_on();
+      break;
+    default:
+      break;
+  }
+};

+ 43 - 0
keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/readme.md

@@ -0,0 +1,43 @@
+# Roman's Layout
+
+There are four layers:
+
+- **BASE** is [Norman layout](https://normanlayout.info/).
+- **SYMB** for numbers and symbols.
+- **PLVR** is optimized for [Plover](http://www.openstenoproject.org).
+- **ARRW** for navigation.
+
+[![keyboard-layout](romanzolotarev-norman-plover-osx.png)](http://www.keyboard-layout-editor.com/#/gists/8ebcb701ecb763944417)
+
+## Switching
+
+- Tap `SYMB` to toggle **SYMB**.
+- Tap `ARRW` to toggle **ARRW**.
+- Hold `SYMB` (or `ARRW`) to activate **SYMB** (or **ARRW**) while holding.
+- Tap `PLVR` to toggle **PLVR**.
+
+## LEDs
+
+- Red: SYMB is on.
+- Green: PLVR is on.
+- Blue: ARRW is on.
+
+## Functional Keys
+
+- Tap `F1` to mute microphone via [Shush](http://mizage.com/shush/).
+- Tap `F2` to copy screenshot to the clipboard.
+- Hold `SHIFT` and tap `F2` to save screenshot as a file.
+- Tap `F3`, `F4`, `F5`, `F6` to resize a window via [Divvy](http://mizage.com/divvy/).
+- Tap `F14`, `F15` to adjust display brightness.
+
+## CTRL/ESC
+
+Both of those keys are frequently used in Vim.
+
+- Tap `CTRL/ESC` to send `ESC`.
+- Hold `CTRL/ESC` to use as `CTRL`.
+
+## Activate N-rollover
+
+- While in **BASE** hold left `SHIFT` and right `SHIRT` and then tap `N`.
+- Then you can activate **PLVR** and use ErgoDox EZ for steno.

BIN
keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/romanzolotarev-norman-plover-osx.hex


BIN
keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/romanzolotarev-norman-plover-osx.png


+ 2 - 2
keyboard/ergodox_ez/keymaps/software_neo2/keymap.c

@@ -114,12 +114,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 };
 
 // Runs just one time when the keyboard initializes.
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 
 };
 
 // Runs constantly in the background, in a loop.
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
     uint8_t layer = biton32(layer_state);
 

BIN
keyboard/ergodox_ez/keymaps/software_neo2/software_neo2.hex


+ 4 - 4
keyboard/ergodox_ez/keymaps/tm2030/keymap.c

@@ -215,12 +215,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 };
 
 // Runs just one time when the keyboard initializes.
-void * matrix_init_user(void) {
-    return NULL;
+void matrix_init_user(void) {
+
 };
 
 // Runs constantly in the background, in a loop.
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
@@ -238,5 +238,5 @@ void * matrix_scan_user(void) {
     if (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) {
       ergodox_right_led_3_on();
     }
-    return NULL;
+
 };

BIN
keyboard/ergodox_ez/keymaps/tm2030/keymap.hex


BIN
keyboard/ergodox_ez/keymaps/tm2030/tm2030.hex


+ 2 - 2
keyboard/ergodox_ez/keymaps/tonyabra_osx/keymap.c

@@ -155,12 +155,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 };
 
 // Runs just one time when the keyboard initializes.
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 
 };
 
 // Runs constantly in the background, in a loop.
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
     uint8_t layer = biton32(layer_state);
 

BIN
keyboard/ergodox_ez/keymaps/tonyabra_osx/tonyabra_osx.hex


+ 2 - 2
keyboard/ergodox_ez/keymaps/workman_osx_mdw/keymap.c

@@ -337,12 +337,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 };
 
 // Runs just one time when the keyboard initializes.
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 
 };
 
 // Runs constantly in the background, in a loop.
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
     uint8_t layer = biton32(layer_state);
 

BIN
keyboard/ergodox_ez/keymaps/workman_osx_mdw/workman_osx_mdw.hex


+ 9 - 0
keyboard/ergodox_ez/makeallhex.sh

@@ -0,0 +1,9 @@
+#!/bin/bash
+#a quick tool to rebuild all the hex files for the keymaps in the ./keymaps/ directory
+make clean
+for f in ./keymaps/*
+	do 
+		MAPNAME=$(echo "$f"|sed -r 's#^./keymaps/##')
+		make KEYMAP=$MAPNAME
+		mv ergodox_ez.hex "$f/$MAPNAME.hex"
+done

+ 6 - 10
keyboard/ergodox_ez/matrix.c

@@ -62,12 +62,12 @@ uint32_t matrix_scan_count;
 
 
 __attribute__ ((weak))
-void * matrix_init_kb(void) {
-};
+void matrix_init_kb(void) {
+}
 
 __attribute__ ((weak))
-void * matrix_scan_kb(void) {
-};
+void matrix_scan_kb(void) {
+}
 
 inline
 uint8_t matrix_rows(void)
@@ -102,9 +102,7 @@ void matrix_init(void)
     matrix_scan_count = 0;
 #endif
 
-    if (matrix_init_kb) {
-        (*matrix_init_kb)();
-    }
+    matrix_init_kb();
 
 }
 
@@ -163,9 +161,7 @@ uint8_t matrix_scan(void)
     }
 
 
-    if (matrix_scan_kb) {
-        (*matrix_scan_kb)();
-    }
+    matrix_scan_kb();
 
     return 1;
 }

+ 4 - 4
keyboard/hhkb_qmk/hhkb_qmk.c

@@ -1,16 +1,16 @@
 #include "hhkb_qmk.h"
 
 __attribute__ ((weak))
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 	// leave these blank
 };
 
 __attribute__ ((weak))
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 	// leave these blank
 };
 
-void * matrix_init_kb(void) {
+void matrix_init_kb(void) {
 	// put your keyboard start-up code here
 	// runs once when the firmware starts up
 
@@ -19,7 +19,7 @@ void * matrix_init_kb(void) {
 	}
 };
 
-void * matrix_scan_kb(void) {
+void matrix_scan_kb(void) {
 	// put your looping keyboard code here
 	// runs every cycle (a lot)
 

+ 2 - 2
keyboard/hhkb_qmk/hhkb_qmk.h

@@ -24,7 +24,7 @@
     { K70, K71, K72, K73, K74, K75, K76, KC_NO }                               \
 }
 
-void * matrix_init_user(void);
-void * matrix_scan_user(void);
+void matrix_init_user(void);
+void matrix_scan_user(void);
 
 #endif

+ 4 - 4
keyboard/jd45/jd45.c

@@ -1,16 +1,16 @@
 #include "jd45.h"
 
 __attribute__ ((weak))
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 
 };
 
 __attribute__ ((weak))
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
 };
 
-void * matrix_init_kb(void) {
+void matrix_init_kb(void) {
 	#ifdef BACKLIGHT_ENABLE
     	backlight_init_ports();
 	#endif
@@ -20,7 +20,7 @@ void * matrix_init_kb(void) {
 	}
 };
 
-void * matrix_scan_kb(void) {
+void matrix_scan_kb(void) {
 	if (matrix_scan_user) {
 		(*matrix_scan_user)();
 	}

+ 2 - 2
keyboard/jd45/jd45.h

@@ -6,7 +6,7 @@
 #include "backlight.h"
 #include <stddef.h>
 
-void * matrix_init_user(void);
-void * matrix_scan_user(void);
+void matrix_init_user(void);
+void matrix_scan_user(void);
 
 #endif

+ 1 - 1
keyboard/planck/keymaps/lock/keymap.c

@@ -150,7 +150,7 @@ float start_up[][2] = {
   {440.0*pow(2.0,(64)/12.0), 1000},
 };
 
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
     init_notes();
     play_notes(&start_up, 9, false);
 }

+ 10 - 14
keyboard/planck/planck.c

@@ -1,16 +1,16 @@
 #include "planck.h"
 
 __attribute__ ((weak))
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 
-};
+}
 
 __attribute__ ((weak))
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 
-};
+}
 
-void * matrix_init_kb(void) {
+void matrix_init_kb(void) {
 	#ifdef BACKLIGHT_ENABLE
     	backlight_init_ports();
 	#endif
@@ -24,13 +24,9 @@ void * matrix_init_kb(void) {
     DDRE |= (1<<6);
     PORTE |= (1<<6);
 
-	if (matrix_init_user) {
-		(*matrix_init_user)();
-	}
-};
+	matrix_init_user();
+}
 
-void * matrix_scan_kb(void) {
-	if (matrix_scan_user) {
-		(*matrix_scan_user)();
-	}
-};
+void matrix_scan_kb(void) {
+	matrix_scan_user();
+}

+ 2 - 2
keyboard/planck/planck.h

@@ -40,7 +40,7 @@
 	{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b } \
 }
 
-void * matrix_init_user(void);
-void * matrix_scan_user(void);
+void matrix_init_user(void);
+void matrix_scan_user(void);
 
 #endif

+ 6 - 10
quantum/matrix.c

@@ -48,14 +48,14 @@ static void unselect_rows(void);
 static void select_row(uint8_t row);
 
 __attribute__ ((weak))
-void * matrix_init_kb(void) {
+void matrix_init_kb(void) {
 
-};
+}
 
 __attribute__ ((weak))
-void * matrix_scan_kb(void) {
+void matrix_scan_kb(void) {
 
-};
+}
 
 inline
 uint8_t matrix_rows(void)
@@ -86,9 +86,7 @@ void matrix_init(void)
         matrix_debouncing[i] = 0;
     }
 
-    if (matrix_init_kb) {
-        (*matrix_init_kb)();
-    }
+    matrix_init_kb();
 }
 
 
@@ -152,9 +150,7 @@ uint8_t matrix_scan(void)
     }
 #endif
 
-    if (matrix_scan_kb) {
-        (*matrix_scan_kb)();
-    }
+    matrix_scan_kb();
 
     return 1;
 }

+ 9 - 18
quantum/template/template.c

@@ -1,48 +1,39 @@
 #include "%KEYBOARD%.h"
 
 __attribute__ ((weak))
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
 	// leave this function blank - it can be defined in a keymap file
 	return NULL;
 };
 
 __attribute__ ((weak))
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
 	// leave this function blank - it can be defined in a keymap file
 	return NULL;
 };
 
 __attribute__ ((weak))
-void * led_set_user(uint8_t usb_led) {
+void led_set_user(uint8_t usb_led) {
 	// leave this function blank - it can be defined in a keymap file
 	return NULL;
 };
 
-void * matrix_init_kb(void) {
+void matrix_init_kb(void) {
 	// put your keyboard start-up code here
 	// runs once when the firmware starts up
 	
-	if (matrix_init_user) {
-		(*matrix_init_user)();
-	}
-	return NULL;
+	matrix_init_user();
 };
 
-void * matrix_scan_kb(void) {
+void matrix_scan_kb(void) {
     // put your looping keyboard code here
     // runs every cycle (a lot)
 
-	if (matrix_scan_user) {
-		(*matrix_scan_user)();
-	}
-	return NULL;
+	matrix_scan_user();
 };
 
-void * led_set_kb(uint8_t usb_led) {
+void led_set_kb(uint8_t usb_led) {
 	// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
 
-	if (led_set_user) {
-		(*led_set_user)(usb_led);
-	}
-	return NULL;
+	led_set_user(usb_led);
 };

+ 3 - 3
quantum/template/template.h

@@ -19,8 +19,8 @@
     { k10, KC_NO, k11 }, \
 } 
 
-void * matrix_init_user(void);
-void * matrix_scan_user(void);
-void * led_set_user(uint8_t usb_led);
+void matrix_init_user(void);
+void matrix_scan_user(void);
+void led_set_user(uint8_t usb_led);
 
 #endif

+ 2 - 2
tmk_core/common/matrix.h

@@ -64,8 +64,8 @@ void matrix_power_up(void);
 void matrix_power_down(void);
 
 /* keyboard-specific setup/loop functionality */
-void * matrix_init_kb(void);
-void * matrix_scan_kb(void);
+void matrix_init_kb(void);
+void matrix_scan_kb(void);
 
 #ifdef __cplusplus
 }