Browse Source

Enforce definition of `DIODE_DIRECTION` for non-custom matrix boards (#7915)

* Enforce definition of `DIODE_DIRECTION` for non-custom matrix boards

* Define diode direction for failing boards

* Matching parentheses

* Put onekey diode directions in top level config
fauxpark 5 years ago
parent
commit
eb5d267e63
54 changed files with 120 additions and 6 deletions
  1. 2 0
      keyboards/40percentclub/luddite/config.h
  2. 2 0
      keyboards/7skb/rev1/config.h
  3. 2 0
      keyboards/adkb96/rev1/config.h
  4. 2 0
      keyboards/alps64/config.h
  5. 2 0
      keyboards/blackplum/config.h
  6. 2 0
      keyboards/db/db63/config.h
  7. 2 0
      keyboards/ergodash/mini/config.h
  8. 2 0
      keyboards/ergodash/rev1/config.h
  9. 2 0
      keyboards/handwired/aek64/config.h
  10. 2 0
      keyboards/handwired/dactyl_manuform/4x5/config.h
  11. 2 0
      keyboards/handwired/dactyl_manuform/5x6/config.h
  12. 2 0
      keyboards/handwired/dactyl_manuform/5x7/config.h
  13. 2 0
      keyboards/handwired/dactyl_manuform/6x6/config.h
  14. 2 0
      keyboards/handwired/dactyl_manuform/dmote/62key/config.h
  15. 2 0
      keyboards/handwired/dactyl_promicro/config.h
  16. 2 2
      keyboards/handwired/hacked_motospeed/config.h
  17. 2 0
      keyboards/handwired/lovelive9/config.h
  18. 2 0
      keyboards/handwired/nicekey/config.h
  19. 2 0
      keyboards/handwired/onekey/config.h
  20. 2 0
      keyboards/handwired/splittest/config.h
  21. 2 0
      keyboards/handwired/wulkan/config.h
  22. 2 0
      keyboards/keebio/bfo9000/config.h
  23. 2 0
      keyboards/keebio/fourier/config.h
  24. 2 0
      keyboards/keebio/levinson/rev1/config.h
  25. 2 0
      keyboards/keebio/levinson/rev2/config.h
  26. 2 0
      keyboards/keebio/levinson/rev3/config.h
  27. 2 0
      keyboards/keebio/quefrency/rev1/config.h
  28. 2 0
      keyboards/keebio/wavelet/config.h
  29. 2 0
      keyboards/lets_split/rev1/config.h
  30. 2 0
      keyboards/lets_split/rev2/config.h
  31. 2 0
      keyboards/lets_split/sockets/config.h
  32. 2 0
      keyboards/nafuda/config.h
  33. 2 0
      keyboards/naked48/rev1/config.h
  34. 2 0
      keyboards/naked60/rev1/config.h
  35. 2 0
      keyboards/naked64/rev1/config.h
  36. 2 0
      keyboards/rgbkb/sol/config.h
  37. 2 0
      keyboards/rgbkb/zygomorph/rev1/config.h
  38. 2 0
      keyboards/runner3680/3x6/config.h
  39. 2 0
      keyboards/runner3680/3x7/config.h
  40. 2 0
      keyboards/runner3680/3x8/config.h
  41. 2 0
      keyboards/runner3680/4x6/config.h
  42. 2 0
      keyboards/runner3680/4x7/config.h
  43. 2 0
      keyboards/runner3680/4x8/config.h
  44. 2 0
      keyboards/runner3680/5x6/config.h
  45. 2 0
      keyboards/runner3680/5x7/config.h
  46. 2 0
      keyboards/runner3680/5x8/config.h
  47. 2 0
      keyboards/setta21/rev1/config.h
  48. 2 0
      keyboards/signum/3_0/elitec/config.h
  49. 2 0
      keyboards/tanuki/config.h
  50. 2 0
      keyboards/uzu42/rev1/config.h
  51. 2 0
      keyboards/vitamins_included/rev1/config.h
  52. 2 0
      keyboards/vitamins_included/rev2/config.h
  53. 8 2
      quantum/matrix.c
  54. 8 2
      quantum/split_common/matrix.c

+ 2 - 0
keyboards/40percentclub/luddite/config.h

@@ -19,6 +19,8 @@
 #define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6 }
 #define UNUSED_PINS
 
+#define DIODE_DIRECTION COL2ROW
+
 /* number of backlight levels */
 #define BACKLIGHT_PIN B5
 #ifdef BACKLIGHT_PIN

+ 2 - 0
keyboards/7skb/rev1/config.h

@@ -34,6 +34,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
 #define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B5 }
 
+#define DIODE_DIRECTION COL2ROW
+
 /* Set 0 if debouncing isn't needed */
 #define DEBOUNCE 5
 

+ 2 - 0
keyboards/adkb96/rev1/config.h

@@ -33,6 +33,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_ROW_PINS { D4, C6, D7, E6, B4, B5 }
 #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4 }
 
+#define DIODE_DIRECTION COL2ROW
+
 #define SOFT_SERIAL_PIN D0
 
 /* define tapping term */

+ 2 - 0
keyboards/alps64/config.h

@@ -35,6 +35,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_ROW_PINS {  D0, D1, D2, D3, D4, D5, D6, C2 }
 #define UNUSED_PINS
 
+#define DIODE_DIRECTION COL2ROW
+
 /* define if matrix has ghost */
 //#define MATRIX_HAS_GHOST
 

+ 2 - 0
keyboards/blackplum/config.h

@@ -19,6 +19,8 @@
 #define MATRIX_COL_PINS { D0, D1, D2, F7, F6, F5, F4, F1 }
 #define UNUSED_PINS
 
+#define DIODE_DIRECTION COL2ROW
+
 /* Set 0 if debouncing isn't needed */
 #define DEBOUNCE 5
 

+ 2 - 0
keyboards/db/db63/config.h

@@ -32,6 +32,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C3, C2 }
 #define UNUSED_PINS
 
+#define DIODE_DIRECTION COL2ROW
+
 #define RGBLED_NUM 18
 #define RGBLIGHT_ANIMATIONS
 

+ 2 - 0
keyboards/ergodash/mini/config.h

@@ -38,6 +38,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 }
 // #define MATRIX_COL_PINS { B2, B3, B1, F7, F6, F5, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order
 
+#define DIODE_DIRECTION COL2ROW
+
 /* define tapping term */
 #define TAPPING_TERM 120
 

+ 2 - 0
keyboards/ergodash/rev1/config.h

@@ -38,6 +38,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 }
 // #define MATRIX_COL_PINS { B2, B3, B1, F7, F6, F5, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order
 
+#define DIODE_DIRECTION COL2ROW
+
 /* define tapping term */
 #define TAPPING_TERM 120
 

+ 2 - 0
keyboards/handwired/aek64/config.h

@@ -39,6 +39,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_ROW_PINS { E0, E1, C0, C1, C2 }
 #define UNUSED_PINS
 
+#define DIODE_DIRECTION COL2ROW
+
 /* Set 0 if debouncing isn't needed */
 #define DEBOUNCE    5
 

+ 2 - 0
keyboards/handwired/dactyl_manuform/4x5/config.h

@@ -37,6 +37,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 // #define MATRIX_COL_PINS { B5, B4, E6, D7, C6 }
 #define MATRIX_COL_PINS { C6, D7, E6, B4, B5 }
 
+#define DIODE_DIRECTION COL2ROW
+
 /* define if matrix has ghost */
 //#define MATRIX_HAS_GHOST
 

+ 2 - 0
keyboards/handwired/dactyl_manuform/5x6/config.h

@@ -32,6 +32,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
 #define MATRIX_ROW_PINS { F6, F7, B1, B3, B2, B6 }
 
+#define DIODE_DIRECTION COL2ROW
+
 // WS2812 RGB LED strip input and number of LEDs
 #define RGB_DI_PIN D3
 #define RGBLED_NUM 12

+ 2 - 0
keyboards/handwired/dactyl_manuform/5x7/config.h

@@ -32,6 +32,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_ROW_PINS { D4, C6, D7, E6, B4, B5 }
 #define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B2, B6 }
 
+#define DIODE_DIRECTION COL2ROW
+
 // WS2812 RGB LED strip input and number of LEDs
 #define RGB_DI_PIN D3
 #define RGBLED_NUM 12

+ 2 - 0
keyboards/handwired/dactyl_manuform/6x6/config.h

@@ -32,6 +32,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
 #define MATRIX_ROW_PINS { F5, F6, F7, B1, B3, B2, B6 }
 
+#define DIODE_DIRECTION COL2ROW
+
 // WS2812 RGB LED strip input and number of LEDs
 #define RGB_DI_PIN D3
 #define RGBLED_NUM 12

+ 2 - 0
keyboards/handwired/dactyl_manuform/dmote/62key/config.h

@@ -37,6 +37,8 @@
 #define MATRIX_ROW_PINS { F6, F7, B1, B3, B2, B6 }
 #define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
 
+#define DIODE_DIRECTION COL2ROW
+
 // WS2812 RGB LED, normally used to indicate keyboard state:
 #define RGBLIGHT_EFFECT_KNIGHT
 #define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2

+ 2 - 0
keyboards/handwired/dactyl_promicro/config.h

@@ -30,6 +30,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
 #define MATRIX_ROW_PINS { F6, F7, B1, B3, B2, B6 }
 
+#define DIODE_DIRECTION COL2ROW
+
 /* USB Device descriptor parameter */
 #define VENDOR_ID       0xFEED
 #define PRODUCT_ID      0x3060

+ 2 - 2
keyboards/handwired/hacked_motospeed/config.h

@@ -50,7 +50,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define UNUSED_PINS
 
 /* COL2ROW, ROW2COL*/
-//#define DIODE_DIRECTION COL2ROW
+#define DIODE_DIRECTION COL2ROW
 
 /*
  * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
@@ -245,4 +245,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 /* Bootmagic Lite key configuration */
 // #define BOOTMAGIC_LITE_ROW 0
-// #define BOOTMAGIC_LITE_COLUMN 0
+// #define BOOTMAGIC_LITE_COLUMN 0

+ 2 - 0
keyboards/handwired/lovelive9/config.h

@@ -19,6 +19,8 @@
 #define MATRIX_ROW_PINS { NO_PIN }
 #define MATRIX_COL_PINS { B4, B6, B2, D7, B1, F7, F6, F5, F4 }
 
+#define DIODE_DIRECTION COL2ROW
+
 #define UNUSED_PINS
 
 /* ws2812 RGB LED */

+ 2 - 0
keyboards/handwired/nicekey/config.h

@@ -36,6 +36,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_ROW_PINS { B6 }
 #define UNUSED_PINS
 
+#define DIODE_DIRECTION COL2ROW
+
 /* define if matrix has ghost */
 //#define MATRIX_HAS_GHOST
 

+ 2 - 0
keyboards/handwired/onekey/config.h

@@ -29,6 +29,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_ROWS 1
 #define MATRIX_COLS 1
 
+#define DIODE_DIRECTION COL2ROW
+
 /* define if matrix has ghost */
 //#define MATRIX_HAS_GHOST
 

+ 2 - 0
keyboards/handwired/splittest/config.h

@@ -33,6 +33,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_ROWS 2
 #define MATRIX_COLS 1
 
+#define DIODE_DIRECTION COL2ROW
+
 /* define if matrix has ghost */
 //#define MATRIX_HAS_GHOST
 

+ 2 - 0
keyboards/handwired/wulkan/config.h

@@ -17,6 +17,8 @@
 #define MATRIX_ROW_PINS { B8, A0, A1, A2 }
 #define MATRIX_COL_PINS { B13, B14, B15, B9, B7, B6, B5, B4, B3, B2, B1, B0 }
 
+#define DIODE_DIRECTION COL2ROW
+
 /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
 #define DEBOUNCE 5
 

+ 2 - 0
keyboards/keebio/bfo9000/config.h

@@ -37,6 +37,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_ROW_PINS { D3, D2, D4, C6, D7, E6 }
 #define MATRIX_COL_PINS { B5, B6, B2, B3, B1, F7, F6, F5, F4 }
 
+#define DIODE_DIRECTION COL2ROW
+
 /* Set 0 if debouncing isn't needed */
 #define DEBOUNCE 5
 

+ 2 - 0
keyboards/keebio/fourier/config.h

@@ -37,6 +37,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_ROW_PINS { F4, D7, E6, B4 }
 #define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B2, B6 }
 
+#define DIODE_DIRECTION COL2ROW
+
 #define QMK_ESC_OUTPUT F5
 #define QMK_ESC_INPUT F4
 #define QMK_LED B0

+ 2 - 0
keyboards/keebio/levinson/rev1/config.h

@@ -36,6 +36,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_ROW_PINS { D7, E6, B4, B5 }
 #define MATRIX_COL_PINS { F6, F7, B1, B3, B2, B6 }
 
+#define DIODE_DIRECTION COL2ROW
+
 /* Set 0 if debouncing isn't needed */
 #define DEBOUNCE 5
 

+ 2 - 0
keyboards/keebio/levinson/rev2/config.h

@@ -36,6 +36,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_ROW_PINS { D4, D7, E6, B4 }
 #define MATRIX_COL_PINS { F6, F7, B1, B3, B2, B6 }
 
+#define DIODE_DIRECTION COL2ROW
+
 /* Set 0 if debouncing isn't needed */
 #define DEBOUNCE 5
 

+ 2 - 0
keyboards/keebio/levinson/rev3/config.h

@@ -40,6 +40,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_COL_PINS_RIGHT { F4, F7, D3, B5, B4, E6 }
 #define SPLIT_HAND_PIN D2
 
+#define DIODE_DIRECTION COL2ROW
+
 /* Set 0 if debouncing isn't needed */
 #define DEBOUNCE 5
 

+ 2 - 0
keyboards/keebio/quefrency/rev1/config.h

@@ -38,6 +38,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_COL_PINS_RIGHT { F5, F6, F7, B1, B3, B2, B6, C6 }
 #define SPLIT_HAND_PIN D2
 
+#define DIODE_DIRECTION COL2ROW
+
 /* Set 0 if debouncing isn't needed */
 #define DEBOUNCE 5
 

+ 2 - 0
keyboards/keebio/wavelet/config.h

@@ -37,6 +37,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_ROW_PINS { F4, F5, F7, B3, D2, D1, D4, D7 }
 #define MATRIX_COL_PINS { F6, B1, B2, B6, B4, E6 }
 
+#define DIODE_DIRECTION COL2ROW
+
 /* Set 0 if debouncing isn't needed */
 #define DEBOUNCE 5
 

+ 2 - 0
keyboards/lets_split/rev1/config.h

@@ -36,6 +36,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3 }
 // #define MATRIX_COL_PINS { B3, B1, F7, F6, F5, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order
 
+#define DIODE_DIRECTION COL2ROW
+
 /* define if matrix has ghost */
 //#define MATRIX_HAS_GHOST
 

+ 2 - 0
keyboards/lets_split/rev2/config.h

@@ -36,6 +36,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_COL_PINS { F6, F7, B1, B3, B2, B6 }
 // #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6 } //uncomment this line and comment line above if you need to reverse left-to-right key order
 
+#define DIODE_DIRECTION COL2ROW
+
 /* define if matrix has ghost */
 //#define MATRIX_HAS_GHOST
 

+ 2 - 0
keyboards/lets_split/sockets/config.h

@@ -36,6 +36,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_COL_PINS { F4, F7, D7, B3, B2, B6}
 // #define MATRIX_COL_PINS { B6, B2, B3, D7, F7, F4} //uncomment this line and comment line above if you need to reverse left-to-right key order
 
+#define DIODE_DIRECTION COL2ROW
+
 /* define if matrix has ghost */
 //#define MATRIX_HAS_GHOST
 

+ 2 - 0
keyboards/nafuda/config.h

@@ -36,6 +36,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_ROW_PINS { D1, D0, D4 }
 #define MATRIX_COL_PINS { F4, F5, F6 }
 
+#define DIODE_DIRECTION COL2ROW
+
 /* Set 0 if debouncing isn't needed */
 #define DEBOUNCE 5
 

+ 2 - 0
keyboards/naked48/rev1/config.h

@@ -37,6 +37,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_ROW_PINS_RIGHT { D4, C6, D7, E6 }
 #define MATRIX_COL_PINS_RIGHT { F4, F5, F6, F7, B1, B3, B2, B6, B4, B5, B2, B2 }
 
+#define DIODE_DIRECTION COL2ROW
+
 /* Set 0 if debouncing isn't needed */
 #define DEBOUNCE 5
 

+ 2 - 0
keyboards/naked60/rev1/config.h

@@ -41,6 +41,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 //#define MATRIX_ROW_PINS_RIGHT { D1, D0, D4, C6, B6 }
 //#define MATRIX_COL_PINS_RIGHT { F4, F5, F6, F7, B1, B3, B2, D7, E6, B4, B5, D3 }
 
+#define DIODE_DIRECTION COL2ROW
+
 /* Set 0 if debouncing isn't needed */
 #define DEBOUNCE 5
 

+ 2 - 0
keyboards/naked64/rev1/config.h

@@ -36,6 +36,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_ROW_PINS_RIGHT { D4, C6, D7, E6, B4, B5, B2, B2 }
 #define MATRIX_COL_PINS_RIGHT { F4, F5, F6, F7, B1, B3, B2, B6 }
 
+#define DIODE_DIRECTION COL2ROW
+
 /* Set 0 if debouncing isn't needed */
 #define DEBOUNCE 5
 

+ 2 - 0
keyboards/rgbkb/sol/config.h

@@ -35,6 +35,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_COLS 7
 #define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7 }
 
+#define DIODE_DIRECTION COL2ROW
+
 /* Set 0 if debouncing isn't needed */
 #define DEBOUNCE 5
 

+ 2 - 0
keyboards/rgbkb/zygomorph/rev1/config.h

@@ -38,6 +38,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_COLS 6
 #define MATRIX_COL_PINS { F4, F6, C7, C6, B6, D4 }
 
+#define DIODE_DIRECTION COL2ROW
+
 #define SOFT_SERIAL_PIN D3
 
 #define ENCODERS_PAD_A  { D2 }

+ 2 - 0
keyboards/runner3680/3x6/config.h

@@ -34,6 +34,8 @@
 #define MATRIX_COL_PINS { F6, F7, B1, B3, B2 ,B6 }
 // #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6} //uncomment this line and comment line above if you need to reverse left-to-right key order
 
+#define DIODE_DIRECTION COL2ROW
+
 /* define tapping term */
 #define TAPPING_TERM 120
 

+ 2 - 0
keyboards/runner3680/3x7/config.h

@@ -34,6 +34,8 @@
 #define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B2 ,B6 }
 // #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5 } //uncomment this line and comment line above if you need to reverse left-to-right key order
 
+#define DIODE_DIRECTION COL2ROW
+
 /* define tapping term */
 #define TAPPING_TERM 120
 

+ 2 - 0
keyboards/runner3680/3x8/config.h

@@ -34,6 +34,8 @@
 #define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 ,B6 }
 // #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order
 
+#define DIODE_DIRECTION COL2ROW
+
 /* define tapping term */
 #define TAPPING_TERM 120
 

+ 2 - 0
keyboards/runner3680/4x6/config.h

@@ -34,6 +34,8 @@
 #define MATRIX_COL_PINS { F6, F7, B1, B3, B2 ,B6 }
 // #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6} //uncomment this line and comment line above if you need to reverse left-to-right key order
 
+#define DIODE_DIRECTION COL2ROW
+
 /* define tapping term */
 #define TAPPING_TERM 120
 

+ 2 - 0
keyboards/runner3680/4x7/config.h

@@ -34,6 +34,8 @@
 #define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B2 ,B6 }
 // #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5 } //uncomment this line and comment line above if you need to reverse left-to-right key order
 
+#define DIODE_DIRECTION COL2ROW
+
 /* define tapping term */
 #define TAPPING_TERM 120
 

+ 2 - 0
keyboards/runner3680/4x8/config.h

@@ -34,6 +34,8 @@
 #define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 ,B6 }
 // #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order
 
+#define DIODE_DIRECTION COL2ROW
+
 /* define tapping term */
 #define TAPPING_TERM 120
 

+ 2 - 0
keyboards/runner3680/5x6/config.h

@@ -34,6 +34,8 @@
 #define MATRIX_COL_PINS { F6, F7, B1, B3, B2 ,B6 }
 // #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6} //uncomment this line and comment line above if you need to reverse left-to-right key order
 
+#define DIODE_DIRECTION COL2ROW
+
 /* define tapping term */
 #define TAPPING_TERM 120
 

+ 2 - 0
keyboards/runner3680/5x7/config.h

@@ -34,6 +34,8 @@
 #define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B2 ,B6 }
 // #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5 } //uncomment this line and comment line above if you need to reverse left-to-right key order
 
+#define DIODE_DIRECTION COL2ROW
+
 /* define tapping term */
 #define TAPPING_TERM 120
 

+ 2 - 0
keyboards/runner3680/5x8/config.h

@@ -34,6 +34,8 @@
 #define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 ,B6 }
 // #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order
 
+#define DIODE_DIRECTION COL2ROW
+
 /* define tapping term */
 #define TAPPING_TERM 120
 

+ 2 - 0
keyboards/setta21/rev1/config.h

@@ -34,6 +34,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_ROW_PINS { D4, C6, D7, E6 }
 #define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3 }
 
+#define DIODE_DIRECTION COL2ROW
+
 /* Set 0 if debouncing isn't needed */
 #define DEBOUNCE 5
 

+ 2 - 0
keyboards/signum/3_0/elitec/config.h

@@ -22,6 +22,8 @@
 #define MATRIX_COL_PINS { B4, D7, D0, E6, D4, F6, F4, F7, B1, B3, C6, B2 }
 #define UNUSED_PINS
 
+#define DIODE_DIRECTION COL2ROW
+
 /* Set 0 if debouncing isn't needed */
 #define DEBOUNCE 5
 

+ 2 - 0
keyboards/tanuki/config.h

@@ -36,6 +36,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_ROW_PINS {  F7 , B1 , D4 , D0 }
 #define UNUSED_PINS
 
+#define DIODE_DIRECTION COL2ROW
+
 /* define if matrix has ghost */
 //#define MATRIX_HAS_GHOST
 

+ 2 - 0
keyboards/uzu42/rev1/config.h

@@ -36,6 +36,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3 }
 // #define MATRIX_COL_PINS { B2, B3, B1, F7, F6, F5, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order
 
+#define DIODE_DIRECTION COL2ROW
+
 /* define if matrix has ghost */
 //#define MATRIX_HAS_GHOST
 

+ 2 - 0
keyboards/vitamins_included/rev1/config.h

@@ -38,6 +38,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_ROW_PINS { F5, F6, C7, F7 }
 #define MATRIX_COL_PINS { F1, F4, E2, B6, D7, D6}
 
+#define DIODE_DIRECTION COL2ROW
+
 /* define if matrix has ghost */
 //#define MATRIX_HAS_GHOST
 

+ 2 - 0
keyboards/vitamins_included/rev2/config.h

@@ -37,6 +37,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_ROW_PINS { F5, F6, C7, F7 }
 #define MATRIX_COL_PINS { F1, F4, E2, B6, D7, D6}
 
+#define DIODE_DIRECTION COL2ROW
+
 /* define if matrix has ghost */
 //#define MATRIX_HAS_GHOST
 

+ 8 - 2
quantum/matrix.c

@@ -62,7 +62,8 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
     return (last_row_value != current_matrix[current_row]);
 }
 
-#elif (DIODE_DIRECTION == COL2ROW)
+#elif defined(DIODE_DIRECTION)
+#    if (DIODE_DIRECTION == COL2ROW)
 
 static void select_row(uint8_t row) {
     setPinOutput(row_pins[row]);
@@ -110,7 +111,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
     return (last_row_value != current_matrix[current_row]);
 }
 
-#elif (DIODE_DIRECTION == ROW2COL)
+#    elif (DIODE_DIRECTION == ROW2COL)
 
 static void select_col(uint8_t col) {
     setPinOutput(col_pins[col]);
@@ -165,6 +166,11 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col)
     return matrix_changed;
 }
 
+#    else
+#        error DIODE_DIRECTION must be one of COL2ROW or ROW2COL!
+#    endif
+#else
+#    error DIODE_DIRECTION is not defined!
 #endif
 
 void matrix_init(void) {

+ 8 - 2
quantum/split_common/matrix.c

@@ -79,7 +79,8 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
     return (last_row_value != current_matrix[current_row]);
 }
 
-#elif (DIODE_DIRECTION == COL2ROW)
+#elif defined(DIODE_DIRECTION)
+#    if (DIODE_DIRECTION == COL2ROW)
 
 static void select_row(uint8_t row) {
     setPinOutput(row_pins[row]);
@@ -124,7 +125,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
     return (last_row_value != current_matrix[current_row]);
 }
 
-#elif (DIODE_DIRECTION == ROW2COL)
+#    elif (DIODE_DIRECTION == ROW2COL)
 
 static void select_col(uint8_t col) {
     setPinOutput(col_pins[col]);
@@ -179,6 +180,11 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col)
     return matrix_changed;
 }
 
+#    else
+#        error DIODE_DIRECTION must be one of COL2ROW or ROW2COL!
+#    endif
+#else
+#    error DIODE_DIRECTION is not defined!
 #endif
 
 void matrix_init(void) {