Browse Source

Move matrix config to info.json, part 1 (#19985)

Ryan 3 years ago
parent
commit
23c365b023
100 changed files with 250 additions and 664 deletions
  1. 0 7
      keyboards/0_sixty/config.h
  2. 5 0
      keyboards/0_sixty/info.json
  3. 0 17
      keyboards/0xc7/61key/config.h
  4. 5 0
      keyboards/0xc7/61key/info.json
  5. 0 19
      keyboards/0xcb/static/config.h
  6. 5 0
      keyboards/0xcb/static/info.json
  7. 0 6
      keyboards/10bleoledhub/config.h
  8. 5 0
      keyboards/10bleoledhub/info.json
  9. 0 17
      keyboards/1upkeyboards/1up60hse/config.h
  10. 5 0
      keyboards/1upkeyboards/1up60hse/info.json
  11. 0 8
      keyboards/1upkeyboards/1up60hte/config.h
  12. 5 0
      keyboards/1upkeyboards/1up60hte/info.json
  13. 0 8
      keyboards/1upkeyboards/1up60rgb/config.h
  14. 5 0
      keyboards/1upkeyboards/1up60rgb/info.json
  15. 0 5
      keyboards/1upkeyboards/pi40/config.h
  16. 5 0
      keyboards/1upkeyboards/pi40/info.json
  17. 0 19
      keyboards/1upkeyboards/super16/config.h
  18. 5 0
      keyboards/1upkeyboards/super16/info.json
  19. 0 18
      keyboards/1upkeyboards/super16v2/config.h
  20. 5 0
      keyboards/1upkeyboards/super16v2/info.json
  21. 0 8
      keyboards/1upkeyboards/sweet16/v1/config.h
  22. 5 0
      keyboards/1upkeyboards/sweet16/v1/info.json
  23. 0 8
      keyboards/25keys/aleth42/rev0/config.h
  24. 5 0
      keyboards/25keys/aleth42/rev0/info.json
  25. 0 8
      keyboards/25keys/aleth42/rev1/config.h
  26. 5 0
      keyboards/25keys/aleth42/rev1/info.json
  27. 0 5
      keyboards/25keys/zinc/rev1/config.h
  28. 5 0
      keyboards/25keys/zinc/rev1/info.json
  29. 0 5
      keyboards/25keys/zinc/reva/config.h
  30. 5 0
      keyboards/25keys/zinc/reva/info.json
  31. 0 8
      keyboards/2key2crawl/config.h
  32. 5 0
      keyboards/2key2crawl/info.json
  33. 0 9
      keyboards/30wer/config.h
  34. 5 0
      keyboards/30wer/info.json
  35. 0 8
      keyboards/3keyecosystem/2key2/config.h
  36. 5 0
      keyboards/3keyecosystem/2key2/info.json
  37. 0 16
      keyboards/40percentclub/25/config.h
  38. 5 0
      keyboards/40percentclub/25/info.json
  39. 0 17
      keyboards/40percentclub/4x4/config.h
  40. 5 0
      keyboards/40percentclub/4x4/info.json
  41. 0 17
      keyboards/40percentclub/5x5/config.h
  42. 5 0
      keyboards/40percentclub/5x5/info.json
  43. 0 16
      keyboards/40percentclub/6lit/config.h
  44. 5 0
      keyboards/40percentclub/6lit/info.json
  45. 0 16
      keyboards/40percentclub/foobar/config.h
  46. 5 0
      keyboards/40percentclub/foobar/info.json
  47. 0 8
      keyboards/40percentclub/gherkin/config.h
  48. 5 0
      keyboards/40percentclub/gherkin/info.json
  49. 0 17
      keyboards/40percentclub/half_n_half/config.h
  50. 5 0
      keyboards/40percentclub/half_n_half/info.json
  51. 0 34
      keyboards/40percentclub/i75/promicro/config.h
  52. 5 0
      keyboards/40percentclub/i75/promicro/info.json
  53. 0 34
      keyboards/40percentclub/i75/teensy2/config.h
  54. 5 0
      keyboards/40percentclub/i75/teensy2/info.json
  55. 0 7
      keyboards/40percentclub/luddite/config.h
  56. 5 0
      keyboards/40percentclub/luddite/info.json
  57. 0 17
      keyboards/40percentclub/mf68/config.h
  58. 5 0
      keyboards/40percentclub/mf68/info.json
  59. 0 17
      keyboards/40percentclub/nori/config.h
  60. 5 0
      keyboards/40percentclub/nori/info.json
  61. 0 28
      keyboards/40percentclub/polyandry/promicro/config.h
  62. 5 0
      keyboards/40percentclub/polyandry/promicro/info.json
  63. 0 30
      keyboards/40percentclub/polyandry/teensy2/config.h
  64. 5 0
      keyboards/40percentclub/polyandry/teensy2/info.json
  65. 0 8
      keyboards/40percentclub/tomato/config.h
  66. 5 0
      keyboards/40percentclub/tomato/info.json
  67. 0 7
      keyboards/45_ats/config.h
  68. 5 0
      keyboards/45_ats/info.json
  69. 0 9
      keyboards/4by3/config.h
  70. 5 0
      keyboards/4by3/info.json
  71. 0 8
      keyboards/4pplet/aekiso60/rev_a/config.h
  72. 5 0
      keyboards/4pplet/aekiso60/rev_a/info.json
  73. 0 9
      keyboards/4pplet/aekiso60/rev_b/config.h
  74. 5 0
      keyboards/4pplet/aekiso60/rev_b/info.json
  75. 0 25
      keyboards/4pplet/bootleg/rev_a/config.h
  76. 5 0
      keyboards/4pplet/bootleg/rev_a/info.json
  77. 0 4
      keyboards/4pplet/eagle_viper_rep/rev_a/config.h
  78. 5 0
      keyboards/4pplet/eagle_viper_rep/rev_a/info.json
  79. 0 4
      keyboards/4pplet/eagle_viper_rep/rev_b/config.h
  80. 5 0
      keyboards/4pplet/eagle_viper_rep/rev_b/info.json
  81. 0 4
      keyboards/4pplet/perk60_iso/rev_a/config.h
  82. 5 0
      keyboards/4pplet/perk60_iso/rev_a/info.json
  83. 0 8
      keyboards/4pplet/steezy60/rev_a/config.h
  84. 5 0
      keyboards/4pplet/steezy60/rev_a/info.json
  85. 0 26
      keyboards/4pplet/waffling60/rev_a/config.h
  86. 5 0
      keyboards/4pplet/waffling60/rev_a/info.json
  87. 0 9
      keyboards/4pplet/waffling60/rev_b/config.h
  88. 5 0
      keyboards/4pplet/waffling60/rev_b/info.json
  89. 0 9
      keyboards/4pplet/waffling60/rev_c/config.h
  90. 5 0
      keyboards/4pplet/waffling60/rev_c/info.json
  91. 0 9
      keyboards/4pplet/waffling60/rev_d/config.h
  92. 5 0
      keyboards/4pplet/waffling60/rev_d/info.json
  93. 0 26
      keyboards/4pplet/waffling60/rev_d_ansi/config.h
  94. 5 0
      keyboards/4pplet/waffling60/rev_d_ansi/info.json
  95. 0 26
      keyboards/4pplet/waffling60/rev_d_iso/config.h
  96. 5 0
      keyboards/4pplet/waffling60/rev_d_iso/info.json
  97. 0 8
      keyboards/4pplet/waffling80/rev_a/config.h
  98. 5 0
      keyboards/4pplet/waffling80/rev_a/info.json
  99. 0 8
      keyboards/4pplet/waffling80/rev_b/config.h
  100. 5 0
      keyboards/4pplet/waffling80/rev_b/info.json

+ 0 - 7
keyboards/0_sixty/config.h

@@ -16,13 +16,6 @@
 
 #pragma once
 
-
-#define MATRIX_ROW_PINS { B1, F7, F6, F5, F4 }
-#define MATRIX_COL_PINS { D3, D2, D1, D0, D4, C6, D7, E6, B4, B5, B3, B2 }
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 #define LOCKING_SUPPORT_ENABLE
 /* Locking resynchronize hack */

+ 5 - 0
keyboards/0_sixty/info.json

@@ -6,6 +6,11 @@
         "vid": "0x7654",
         "device_version": "0.0.1"
     },
+    "matrix_pins": {
+        "cols": ["D3", "D2", "D1", "D0", "D4", "C6", "D7", "E6", "B4", "B5", "B3", "B2"],
+        "rows": ["B1", "F7", "F6", "F5", "F4"]
+    },
+    "diode_direction": "COL2ROW",
     "features": {
         "extrakey": true,
         "console": true,

+ 0 - 17
keyboards/0xc7/61key/config.h

@@ -17,23 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
- */
-#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7 }
-#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, F7, F6, F5, F4, F1, F0 }
-
-/* COL2ROW, ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 #define LOCKING_SUPPORT_ENABLE
 /* Locking resynchronize hack */

+ 5 - 0
keyboards/0xc7/61key/info.json

@@ -8,6 +8,11 @@
         "pid": "0x6161",
         "device_version": "0.0.1"
     },
+    "matrix_pins": {
+        "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "F7", "F6", "F5", "F4", "F1", "F0"],
+        "rows": ["B0", "B1", "B2", "B3", "B7"]
+    },
+    "diode_direction": "COL2ROW",
     "processor": "atmega32u4",
     "bootloader": "atmel-dfu",
     "layout_aliases": {

+ 0 - 19
keyboards/0xcb/static/config.h

@@ -16,26 +16,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 #pragma once
 
-// clang-format off
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS { D5, D6, D7, B0, B1, B2, B3, B4 }
-#define MATRIX_COL_PINS { B5, D4, C0, C1, C2, C3 }
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
 #define TAP_CODE_DELAY 10
-// clang-format on
 
 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 #define LOCKING_SUPPORT_ENABLE

+ 5 - 0
keyboards/0xcb/static/info.json

@@ -8,6 +8,11 @@
     "pid": "0xA455",
     "device_version": "0.0.1"
   },
+  "matrix_pins": {
+    "cols": ["B5", "D4", "C0", "C1", "C2", "C3"],
+    "rows": ["D5", "D6", "D7", "B0", "B1", "B2", "B3", "B4"]
+  },
+  "diode_direction": "COL2ROW",
   "encoder": {
     "rotary": [
       {"pin_a": "D0", "pin_b": "D1"}

+ 0 - 6
keyboards/10bleoledhub/config.h

@@ -16,12 +16,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.*/
 
 #pragma once
 
-
-#define MATRIX_ROW_PINS { F0, F5, F4, F6 }
-#define MATRIX_COL_PINS { D6, D7, B5 }
-
-#define DIODE_DIRECTION ROW2COL
-
 #define SSD1306OLED
 #define RGB_DI_PIN B7
 

+ 5 - 0
keyboards/10bleoledhub/info.json

@@ -8,6 +8,11 @@
         "pid": "0x7C99",
         "device_version": "0.0.1"
     },
+    "matrix_pins": {
+        "cols": ["D6", "D7", "B5"],
+        "rows": ["F0", "F5", "F4", "F6"]
+    },
+    "diode_direction": "ROW2COL",
     "encoder": {
         "rotary": [
             {"pin_a": "C7", "pin_b": "F7"}

+ 0 - 17
keyboards/1upkeyboards/1up60hse/config.h

@@ -17,23 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS { B3, B2, B1, B0, D4 }
-#define MATRIX_COL_PINS { C7, F7, F6, F5, F4, F1, E6, D1, D0, D2, D3, D5, D6, D7 }
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
 #define RGB_DI_PIN F0
 #ifdef RGB_DI_PIN
 #define RGBLIGHT_EFFECT_BREATHING

+ 5 - 0
keyboards/1upkeyboards/1up60hse/info.json

@@ -8,6 +8,11 @@
         "pid": "0x6873",
         "device_version": "0.0.1"
     },
+    "matrix_pins": {
+        "cols": ["C7", "F7", "F6", "F5", "F4", "F1", "E6", "D1", "D0", "D2", "D3", "D5", "D6", "D7"],
+        "rows": ["B3", "B2", "B1", "B0", "D4"]
+    },
+    "diode_direction": "COL2ROW",
     "backlight": {
         "pin": "B7",
         "levels": 5,

+ 0 - 8
keyboards/1upkeyboards/1up60hte/config.h

@@ -18,14 +18,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-
-/* key matrix pins */
-#define MATRIX_ROW_PINS { B3, B2, B1, B0, D4 }
-#define MATRIX_COL_PINS { F6, F5, F4, F1, E6, D0, D1, D2, D3, D5, D6, D7, B4, B5 }
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 #define LOCKING_SUPPORT_ENABLE
 

+ 5 - 0
keyboards/1upkeyboards/1up60hte/info.json

@@ -8,6 +8,11 @@
         "pid": "0x6874",
         "device_version": "0.0.1"
     },
+    "matrix_pins": {
+        "cols": ["F6", "F5", "F4", "F1", "E6", "D0", "D1", "D2", "D3", "D5", "D6", "D7", "B4", "B5"],
+        "rows": ["B3", "B2", "B1", "B0", "D4"]
+    },
+    "diode_direction": "COL2ROW",
     "backlight": {
         "pin": "B7"
     },

+ 0 - 8
keyboards/1upkeyboards/1up60rgb/config.h

@@ -1,13 +1,5 @@
 #pragma once
 
-
-/* key matrix pins */
-#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
-#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B7, D4, B1, B0, B5, B4, D7, D6, B3, F4 }
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 #define LOCKING_SUPPORT_ENABLE
 

+ 5 - 0
keyboards/1upkeyboards/1up60rgb/info.json

@@ -8,6 +8,11 @@
     "pid": "0x7267",
     "device_version": "0.0.1"
   },
+  "matrix_pins": {
+    "cols": ["F0", "F1", "E6", "C7", "C6", "B7", "D4", "B1", "B0", "B5", "B4", "D7", "D6", "B3", "F4"],
+    "rows": ["D0", "D1", "D2", "D3", "D5"]
+  },
+  "diode_direction": "COL2ROW",
   "backlight": {
     "pin": "B6",
     "levels": 5

+ 0 - 5
keyboards/1upkeyboards/pi40/config.h

@@ -15,11 +15,6 @@
 #define OLED_FONT_H "keyboards/1upkeyboards/pi40/lib/glcdfont.c"
 #endif
 
-#define DIODE_DIRECTION COL2ROW
-
-#define MATRIX_ROW_PINS { GP21, GP20, GP19, GP18 }
-#define MATRIX_COL_PINS { GP1, GP2, GP3, GP4, GP5, GP6, GP7, GP8, GP9, GP10, GP11, GP12 }
-
 #define RGB_DI_PIN GP0
 #define RGB_MATRIX_LED_COUNT 47
 #define RGBLED_NUM 47

+ 5 - 0
keyboards/1upkeyboards/pi40/info.json

@@ -6,6 +6,11 @@
         "pid": "0x5600",
         "device_version": "0.0.1"
     },
+    "matrix_pins": {
+        "cols": ["GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12"],
+        "rows": ["GP21", "GP20", "GP19", "GP18"]
+    },
+    "diode_direction": "COL2ROW",
     "encoder": {
         "rotary": [
             {"pin_a": "GP14", "pin_b": "GP13"}

+ 0 - 19
keyboards/1upkeyboards/super16/config.h

@@ -17,25 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
- */
-#define MATRIX_ROW_PINS \
-    { D1, D0, F4, F5 }
-#define MATRIX_COL_PINS \
-    { D4, C6, F6, F7 }
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
 #define RGB_DI_PIN D3
 #ifdef RGB_DI_PIN
 #    define RGBLED_NUM 16  // Add 12 if attaching the RGB LED ring

+ 5 - 0
keyboards/1upkeyboards/super16/info.json

@@ -8,6 +8,11 @@
     "pid": "0x5516",
     "device_version": "0.0.1"
   },
+  "matrix_pins": {
+    "cols": ["D4", "C6", "F6", "F7"],
+    "rows": ["D1", "D0", "F4", "F5"]
+  },
+  "diode_direction": "COL2ROW",
   "processor": "atmega32u4",
   "bootloader": "caterina",
   "community_layouts": ["ortho_4x4", "numpad_4x4"],

+ 0 - 18
keyboards/1upkeyboards/super16v2/config.h

@@ -19,24 +19,6 @@
 
 #define MOUSEKEY_MOVE_DELTA 25
 
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
- */
-
-//                         0   1   2   3
-#define MATRIX_ROW_PINS { D1, D2, D3, D4 }
-#define MATRIX_COL_PINS { D5, D6, C2, D0 }
-
-/* COL2ROW, ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
 #define RGB_DI_PIN B5
 #define RGB_MATRIX_LED_COUNT 20
 #ifdef RGB_DI_PIN

+ 5 - 0
keyboards/1upkeyboards/super16v2/info.json

@@ -8,6 +8,11 @@
       "pid": "0x5517",
       "device_version": "0.0.1"
     },
+    "matrix_pins": {
+      "cols": ["D5", "D6", "C2", "D0"],
+      "rows": ["D1", "D2", "D3", "D4"]
+    },
+    "diode_direction": "COL2ROW",
     "encoder": {
       "rotary": [
         {"pin_a": "B1", "pin_b": "B2"},

+ 0 - 8
keyboards/1upkeyboards/sweet16/v1/config.h

@@ -1,13 +1,5 @@
 #pragma once
 
-
-/* key matrix pins */
-#define MATRIX_ROW_PINS { F4, F5, F6, F7 }
-#define MATRIX_COL_PINS { D1, D0, D4, C6 }
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
 #ifndef CONVERT_TO_PROTON_C
 #    define LED_NUM_LOCK_PIN B0 // RXLED
 #    define LED_CAPS_LOCK_PIN D5 // TXLED

+ 5 - 0
keyboards/1upkeyboards/sweet16/v1/info.json

@@ -3,6 +3,11 @@
         "pid": "0x0161",
         "device_version": "0.0.1"
     },
+    "matrix_pins": {
+        "cols": ["D1", "D0", "D4", "C6"],
+        "rows": ["F4", "F5", "F6", "F7"]
+    },
+    "diode_direction": "COL2ROW",
     "processor": "atmega32u4",
     "bootloader": "caterina"
 }

+ 0 - 8
keyboards/25keys/aleth42/rev0/config.h

@@ -17,14 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-
-/* key matrix pins */
-#define MATRIX_ROW_PINS { B0, B1, B2, B3 }
-#define MATRIX_COL_PINS { D0, D1, D2, D3, D4, D5, D6, C2, C4, C5, C6 }
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
 #define RGB_DI_PIN C7
 #ifdef RGB_DI_PIN
    #define RGBLED_NUM 6

+ 5 - 0
keyboards/25keys/aleth42/rev0/info.json

@@ -2,6 +2,11 @@
     "usb": {
         "device_version": "0.0.0"
     },
+    "matrix_pins": {
+        "cols": ["D0", "D1", "D2", "D3", "D4", "D5", "D6", "C2", "C4", "C5", "C6"],
+        "rows": ["B0", "B1", "B2", "B3"]
+    },
+    "diode_direction": "COL2ROW",
     "encoder": {
         "rotary": [
             {"pin_a": "B6", "pin_b": "B7"},

+ 0 - 8
keyboards/25keys/aleth42/rev1/config.h

@@ -17,14 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-
-/* key matrix pins */
-#define MATRIX_ROW_PINS { B4, B0, B2, B1 }
-#define MATRIX_COL_PINS { D5, D3, D2, D1, D0, D6, D4, F7, F0, F1, F4 }
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
 #define RGB_DI_PIN B3
 #ifdef RGB_DI_PIN
    #define RGBLED_NUM 8

+ 5 - 0
keyboards/25keys/aleth42/rev1/info.json

@@ -2,6 +2,11 @@
     "usb": {
         "device_version": "0.0.1"
     },
+    "matrix_pins": {
+        "cols": ["D5", "D3", "D2", "D1", "D0", "D6", "D4", "F7", "F0", "F1", "F4"],
+        "rows": ["B4", "B0", "B2", "B1"]
+    },
+    "diode_direction": "COL2ROW",
     "encoder": {
         "rotary": [
             {"pin_a": "B5", "pin_b": "B6"},

+ 0 - 5
keyboards/25keys/zinc/rev1/config.h

@@ -25,11 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 //#define MASTER_RIGHT
 //#define EE_HANDS
 
-#define MATRIX_ROW_PINS { F6, F7, B1, B3 }
-#define MATRIX_COL_PINS { F4, D4, C6, D7, E6, B4 }
-
-#define DIODE_DIRECTION COL2ROW
-
 /* ws2812 RGB LED */
 #define RGB_DI_PIN D3
 

+ 5 - 0
keyboards/25keys/zinc/rev1/info.json

@@ -1,5 +1,10 @@
 {
   "keyboard_name": "Zinc rev.1",
+  "matrix_pins": {
+    "cols": ["F4", "D4", "C6", "D7", "E6", "B4"],
+    "rows": ["F6", "F7", "B1", "B3"]
+  },
+  "diode_direction": "COL2ROW",
   "split": {
     "soft_serial_pin": "D2"
   }

+ 0 - 5
keyboards/25keys/zinc/reva/config.h

@@ -25,11 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 //#define MASTER_RIGHT
 //#define EE_HANDS
 
-#define MATRIX_ROW_PINS { D4, C6, D7, E6 }
-#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3}
-
-#define DIODE_DIRECTION COL2ROW
-
 /* ws2812 RGB LED */
 #define RGB_DI_PIN D3
 

+ 5 - 0
keyboards/25keys/zinc/reva/info.json

@@ -1,5 +1,10 @@
 {
   "keyboard_name": "Zinc rev.A",
+  "matrix_pins": {
+    "cols": ["F4", "F5", "F6", "F7", "B1", "B3"],
+    "rows": ["D4", "C6", "D7", "E6"]
+  },
+  "diode_direction": "COL2ROW",
   "split": {
     "soft_serial_pin": "D2"
   }

+ 0 - 8
keyboards/2key2crawl/config.h

@@ -1,13 +1,5 @@
 #pragma once
 
-
-/* key matrix pins */
-#define MATRIX_ROW_PINS { C4, C5 }
-#define MATRIX_COL_PINS { B3, B4, B5, B6, B7, C7, B2 }
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 #define LOCKING_SUPPORT_ENABLE
 

+ 5 - 0
keyboards/2key2crawl/info.json

@@ -8,6 +8,11 @@
         "pid": "0x6090",
         "device_version": "0.0.2"
     },
+    "matrix_pins": {
+        "cols": ["B3", "B4", "B5", "B6", "B7", "C7", "B2"],
+        "rows": ["C4", "C5"]
+    },
+    "diode_direction": "COL2ROW",
     "encoder": {
         "rotary": [
             {"pin_a": "D0", "pin_b": "D1", "resolution": 1}

+ 0 - 9
keyboards/30wer/config.h

@@ -1,9 +0,0 @@
-#pragma once
-
-
-/* pcb default pin-out */
-#define MATRIX_ROW_PINS { E6, B4, B5 }
-#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6, D1, D0, D4, C6, D7 }
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW

+ 5 - 0
keyboards/30wer/info.json

@@ -8,6 +8,11 @@
         "pid": "0x5678",
         "device_version": "0.0.1"
     },
+    "matrix_pins": {
+        "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6", "D1", "D0", "D4", "C6", "D7"],
+        "rows": ["E6", "B4", "B5"]
+    },
+    "diode_direction": "COL2ROW",
     "processor": "atmega32u4",
     "bootloader": "caterina",
     "layouts": {

+ 0 - 8
keyboards/3keyecosystem/2key2/config.h

@@ -16,14 +16,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 #pragma once
 
-
-/* Keyboard Matrix Assignments */
-#define MATRIX_ROW_PINS { F6 }
-#define MATRIX_COL_PINS { F4, D7 }
-
-/* COL2ROW, ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
 /* RGB matrix key backlighting */
 #define RGB_DI_PIN B2
 #define RGB_MATRIX_LED_COUNT 2

+ 5 - 0
keyboards/3keyecosystem/2key2/info.json

@@ -8,6 +8,11 @@
         "pid": "0x3304",
         "device_version": "0.0.1"
     },
+    "matrix_pins": {
+        "cols": ["F4", "D7"],
+        "rows": ["F6"]
+    },
+    "diode_direction": "COL2ROW",
     "indicators": {
         "caps_lock": "B7"
     },

+ 0 - 16
keyboards/40percentclub/25/config.h

@@ -21,22 +21,6 @@
 //#define MASTER_RIGHT
 //#define EE_HANDS
 
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
-#define MATRIX_COL_PINS { F4, F5, F6, F7, B1 }
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 #define LOCKING_SUPPORT_ENABLE
 /* Locking resynchronize hack */

+ 5 - 0
keyboards/40percentclub/25/info.json

@@ -8,6 +8,11 @@
         "pid": "0x0F25",
         "device_version": "1.0.0"
     },
+    "matrix_pins": {
+        "cols": ["F4", "F5", "F6", "F7", "B1"],
+        "rows": ["D4", "C6", "D7", "E6", "B4"]
+    },
+    "diode_direction": "COL2ROW",
     "split": {
         "soft_serial_pin": "D0"
     },

+ 0 - 17
keyboards/40percentclub/4x4/config.h

@@ -2,23 +2,6 @@
 
 #pragma once
 
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS { B2, D1, D0, D4 }
-#define MATRIX_COL_PINS { C6, D7, E6, B4, B5, B6, B7, D6, F7, F6, F5, F4, F1, F0, B3, B1 }
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 #define LOCKING_SUPPORT_ENABLE
 /* Locking resynchronize hack */

+ 5 - 0
keyboards/40percentclub/4x4/info.json

@@ -8,6 +8,11 @@
         "pid": "0x0A0C",
         "device_version": "44.4.4"
     },
+    "matrix_pins": {
+        "cols": ["C6", "D7", "E6", "B4", "B5", "B6", "B7", "D6", "F7", "F6", "F5", "F4", "F1", "F0", "B3", "B1"],
+        "rows": ["B2", "D1", "D0", "D4"]
+    },
+    "diode_direction": "COL2ROW",
     "processor": "atmega32u4",
     "bootloader": "caterina",
     "community_layouts": ["ortho_4x4", "ortho_4x12"],

+ 0 - 17
keyboards/40percentclub/5x5/config.h

@@ -2,23 +2,6 @@
 
 #pragma once
 
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS { B2, D1, D0, D4, C6 }
-#define MATRIX_COL_PINS { D7, E6, B4, B5, B6, B7, D6, F7, F6, F5, F4, F1, F0, B3, B1 }
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 #define LOCKING_SUPPORT_ENABLE
 /* Locking resynchronize hack */

+ 5 - 0
keyboards/40percentclub/5x5/info.json

@@ -8,6 +8,11 @@
         "pid": "0x05B5",
         "device_version": "1.0.0"
     },
+    "matrix_pins": {
+        "cols": ["D7", "E6", "B4", "B5", "B6", "B7", "D6", "F7", "F6", "F5", "F4", "F1", "F0", "B3", "B1"],
+        "rows": ["B2", "D1", "D0", "D4", "C6"]
+    },
+    "diode_direction": "COL2ROW",
     "processor": "atmega32u4",
     "bootloader": "caterina",
     "community_layouts": ["ortho_5x5", "ortho_5x10", "ortho_5x15"],

+ 0 - 16
keyboards/40percentclub/6lit/config.h

@@ -21,22 +21,6 @@
 //#define MASTER_RIGHT
 //#define EE_HANDS
 
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS { D7, E6 }
-#define MATRIX_COL_PINS { F6, F7, B1 }
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 #define LOCKING_SUPPORT_ENABLE
 /* Locking resynchronize hack */

+ 5 - 0
keyboards/40percentclub/6lit/info.json

@@ -8,6 +8,11 @@
         "pid": "0x0F61",
         "device_version": "1.0.0"
     },
+    "matrix_pins": {
+        "cols": ["F6", "F7", "B1"],
+        "rows": ["D7", "E6"]
+    },
+    "diode_direction": "COL2ROW",
     "split": {
         "soft_serial_pin": "D0"
     },

+ 0 - 16
keyboards/40percentclub/foobar/config.h

@@ -21,22 +21,6 @@
 //#define MASTER_RIGHT
 //#define EE_HANDS
 
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS { D7, E6, B4 }
-#define MATRIX_COL_PINS { F6, F7, B1, B3, B2 }
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 #define LOCKING_SUPPORT_ENABLE
 /* Locking resynchronize hack */

+ 5 - 0
keyboards/40percentclub/foobar/info.json

@@ -8,6 +8,11 @@
         "pid": "0x0F00",
         "device_version": "1.0.0"
     },
+    "matrix_pins": {
+        "cols": ["F6", "F7", "B1", "B3", "B2"],
+        "rows": ["D7", "E6", "B4"]
+    },
+    "diode_direction": "COL2ROW",
     "split": {
         "soft_serial_pin": "D0"
     },

+ 0 - 8
keyboards/40percentclub/gherkin/config.h

@@ -1,13 +1,5 @@
 #pragma once
 
-
-/* key matrix pins */
-#define MATRIX_ROW_PINS { F7, B1, B3, B2, B6 }
-#define MATRIX_COL_PINS { B4, E6, D7, C6, D4, D0 }
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 #define LOCKING_SUPPORT_ENABLE
 

+ 5 - 0
keyboards/40percentclub/gherkin/info.json

@@ -8,6 +8,11 @@
     "pid": "0x6060",
     "device_version": "0.0.1"
   },
+  "matrix_pins": {
+    "cols": ["B4", "E6", "D7", "C6", "D4", "D0"],
+    "rows": ["F7", "B1", "B3", "B2", "B6"]
+  },
+  "diode_direction": "COL2ROW",
   "backlight": {
     "pin": "B5"
   },

+ 0 - 17
keyboards/40percentclub/half_n_half/config.h

@@ -17,23 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS { D4, C6, D7, E6 }
-#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 }
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 #define LOCKING_SUPPORT_ENABLE
 /* Locking resynchronize hack */

+ 5 - 0
keyboards/40percentclub/half_n_half/info.json

@@ -8,6 +8,11 @@
     "pid": "0x4A1F",
     "device_version": "1.0.0"
   },
+  "matrix_pins": {
+    "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"],
+    "rows": ["D4", "C6", "D7", "E6"]
+  },
+  "diode_direction": "COL2ROW",
   "split": {
     "soft_serial_pin": "D0"
   },

+ 0 - 34
keyboards/40percentclub/i75/promicro/config.h

@@ -1,34 +0,0 @@
-/* Copyright 2018
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS { B4, E6, D7, C6, D4, D0, D1, D2, D3 }
-#define MATRIX_COL_PINS { B5, B6, B2, B3, B1, F7, F6, F5, F4 }
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW

+ 5 - 0
keyboards/40percentclub/i75/promicro/info.json

@@ -1,4 +1,9 @@
 {
+    "matrix_pins": {
+        "cols": ["B5", "B6", "B2", "B3", "B1", "F7", "F6", "F5", "F4"],
+        "rows": ["B4", "E6", "D7", "C6", "D4", "D0", "D1", "D2", "D3"]
+    },
+    "diode_direction": "COL2ROW",
     "processor": "atmega32u4",
     "bootloader": "caterina"
 }

+ 0 - 34
keyboards/40percentclub/i75/teensy2/config.h

@@ -1,34 +0,0 @@
-/* Copyright 2018
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS { D3, D2, D1, D0, B7, B3, B2, B1, B0 }
-#define MATRIX_COL_PINS { C6, C7, D6, D7, B5, B6, F7, F6, F5 }
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW

+ 5 - 0
keyboards/40percentclub/i75/teensy2/info.json

@@ -1,4 +1,9 @@
 {
+    "matrix_pins": {
+        "cols": ["C6", "C7", "D6", "D7", "B5", "B6", "F7", "F6", "F5"],
+        "rows": ["D3", "D2", "D1", "D0", "B7", "B3", "B2", "B1", "B0"]
+    },
+    "diode_direction": "COL2ROW",
     "processor": "atmega32u4",
     "bootloader": "halfkay"
 }

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

@@ -1,12 +1,5 @@
 #pragma once
 
-
-/* key matrix pins */
-#define MATRIX_ROW_PINS { D3, D2, D1, D0, D4, C6, D7, E6 }
-#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6 }
-
-#define DIODE_DIRECTION COL2ROW
-
 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 #define LOCKING_SUPPORT_ENABLE
 

+ 5 - 0
keyboards/40percentclub/luddite/info.json

@@ -8,6 +8,11 @@
     "pid": "0x4C55",
     "device_version": "10.0.1"
   },
+  "matrix_pins": {
+    "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6"],
+    "rows": ["D3", "D2", "D1", "D0", "D4", "C6", "D7", "E6"]
+  },
+  "diode_direction": "COL2ROW",
   "backlight": {
     "pin": "B5",
     "levels": 4

+ 0 - 17
keyboards/40percentclub/mf68/config.h

@@ -17,23 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS { B6, B2, B3, B1, F7, F6, F5, F4 }
-#define MATRIX_COL_PINS { D3, D2, D1, D0, D4, C6, D7, E6, B4 }
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 #define LOCKING_SUPPORT_ENABLE
 /* Locking resynchronize hack */

+ 5 - 0
keyboards/40percentclub/mf68/info.json

@@ -8,6 +8,11 @@
     "pid": "0x4D68",
     "device_version": "1.0.1"
   },
+  "matrix_pins": {
+    "cols": ["D3", "D2", "D1", "D0", "D4", "C6", "D7", "E6", "B4"],
+    "rows": ["B6", "B2", "B3", "B1", "F7", "F6", "F5", "F4"]
+  },
+  "diode_direction": "COL2ROW",
   "backlight": {
     "pin": "B5",
     "breathing": true

+ 0 - 17
keyboards/40percentclub/nori/config.h

@@ -16,23 +16,6 @@
 
 #pragma once
 
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS { D3, D2, D1, D0 }
-#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6, D4, C6, D7, E6 }
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
 // enable RGB underglow
 #define RGB_DI_PIN B4
 #define RGBLIGHT_EFFECT_BREATHING

+ 5 - 0
keyboards/40percentclub/nori/info.json

@@ -8,6 +8,11 @@
       "pid": "0x0A0C",
       "device_version": "4.4.4"
     },
+    "matrix_pins": {
+      "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6", "D4", "C6", "D7", "E6"],
+      "rows": ["D3", "D2", "D1", "D0"]
+    },
+    "diode_direction": "COL2ROW",
     "backlight": {
       "pin": "B5"
     },

+ 0 - 28
keyboards/40percentclub/polyandry/promicro/config.h

@@ -1,28 +0,0 @@
-/* Copyright 2021
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-
-/* key matrix pins 
- * Direct pins is not used because there is not a shared ground position
- * between all compatible microcontrollers.
-*/ 
-#define MATRIX_ROW_PINS { D7 }
-#define MATRIX_COL_PINS { D1, D0, D4, C6, E6, B4, F4, F5, F6, F7, B3, B2 }
-
-/* doesn't really matter lol */
-#define DIODE_DIRECTION COL2ROW

+ 5 - 0
keyboards/40percentclub/polyandry/promicro/info.json

@@ -1,4 +1,9 @@
 {
+    "matrix_pins": {
+        "cols": ["D1", "D0", "D4", "C6", "E6", "B4", "F4", "F5", "F6", "F7", "B3", "B2"],
+        "rows": ["D7"]
+    },
+    "diode_direction": "COL2ROW",
     "processor": "atmega32u4",
     "bootloader": "caterina"
 }

+ 0 - 30
keyboards/40percentclub/polyandry/teensy2/config.h

@@ -1,30 +0,0 @@
-/* Copyright 2021
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-
-/* key matrix pins */
-
-// Note from original contributor (ryjelsum):
-// Untested - don't have teensy2. if some keys do not function or are in wrong place,
-// please check the pin definitions. I may have screwed up. :) 
-
-#define MATRIX_ROW_PINS { D3 }
-#define MATRIX_COL_PINS { B7, D0, D1, D2, C6, C7, F6, F7, B6, B5, D7, D6 }
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW

+ 5 - 0
keyboards/40percentclub/polyandry/teensy2/info.json

@@ -1,4 +1,9 @@
 {
+    "matrix_pins": {
+        "cols": ["B7", "D0", "D1", "D2", "C6", "C7", "F6", "F7", "B6", "B5", "D7", "D6"],
+        "rows": ["D3"]
+    },
+    "diode_direction": "COL2ROW",
     "processor": "atmega32u4",
     "bootloader": "halfkay"
 }

+ 0 - 8
keyboards/40percentclub/tomato/config.h

@@ -1,13 +1,5 @@
 #pragma once
 
-
-/* key matrix pins */
-#define MATRIX_ROW_PINS { F7, B1, B3, B2, B6 }
-#define MATRIX_COL_PINS { B4, E6, D7, C6, D4, D0 }
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
 /* Locking resynchronize hack */
 #define LOCKING_RESYNC_ENABLE
 

+ 5 - 0
keyboards/40percentclub/tomato/info.json

@@ -8,6 +8,11 @@
     "pid": "0x546F",
     "device_version": "0.0.1"
   },
+  "matrix_pins": {
+    "cols": ["B4", "E6", "D7", "C6", "D4", "D0"],
+    "rows": ["F7", "B1", "B3", "B2", "B6"]
+  },
+  "diode_direction": "COL2ROW",
   "processor": "atmega32u4",
   "bootloader": "caterina",
   "community_layouts": ["ortho_3x10"],

+ 0 - 7
keyboards/45_ats/config.h

@@ -18,13 +18,6 @@
 
 #pragma once
 
-/* key matrix pins */
-#define MATRIX_ROW_PINS { D3, D5, D7, D6 }
-#define MATRIX_COL_PINS { E6, B0, B1, B2, B3, B7, F6, F5, F4, C7, F7, C6, B6, D4 }
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 #define LOCKING_SUPPORT_ENABLE
 

+ 5 - 0
keyboards/45_ats/info.json

@@ -8,6 +8,11 @@
       "pid": "0x4511",
       "device_version": "0.0.1"
     },
+    "matrix_pins": {
+      "cols": ["E6", "B0", "B1", "B2", "B3", "B7", "F6", "F5", "F4", "C7", "F7", "C6", "B6", "D4"],
+      "rows": ["D3", "D5", "D7", "D6"]
+    },
+    "diode_direction": "COL2ROW",
     "encoder": {
       "rotary": [
         {"pin_a": "B4", "pin_b": "B5"}

+ 0 - 9
keyboards/4by3/config.h

@@ -1,9 +0,0 @@
-#pragma once
-
-
-/* key matrix pins */
-#define MATRIX_ROW_PINS { D1, D0, D4 }
-#define MATRIX_COL_PINS { C6, D7, E6, B4 }
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW

+ 5 - 0
keyboards/4by3/info.json

@@ -8,6 +8,11 @@
         "pid": "0x2019",
         "device_version": "0.0.1"
     },
+    "matrix_pins": {
+        "cols": ["C6", "D7", "E6", "B4"],
+        "rows": ["D1", "D0", "D4"]
+    },
+    "diode_direction": "COL2ROW",
     "processor": "atmega32u4",
     "bootloader": "caterina",
     "layouts": {

+ 0 - 8
keyboards/4pplet/aekiso60/rev_a/config.h

@@ -1,13 +1,5 @@
 #pragma once
 
-
-// ROWS: Top to bottom, COLS: Left to right
-#define MATRIX_ROW_PINS {C2,D0,B0,C7,C5}
-#define MATRIX_COL_PINS {C4,C6,B7,B6,B5,B4,B3,B2,B1,D6,D5,D4,D2,D1}
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
 #define RGB_DI_PIN D3
 #define RGBLED_NUM 12
 

+ 5 - 0
keyboards/4pplet/aekiso60/rev_a/info.json

@@ -8,6 +8,11 @@
         "pid": "0x0001",
         "device_version": "0.0.1"
     },
+    "matrix_pins": {
+        "cols": ["C4", "C6", "B7", "B6", "B5", "B4", "B3", "B2", "B1", "D6", "D5", "D4", "D2", "D1"],
+        "rows": ["C2", "D0", "B0", "C7", "C5"]
+    },
+    "diode_direction": "COL2ROW",
     "qmk_lufa_bootloader": {
         "esc_input": "C2",
         "esc_output": "C4"

+ 0 - 9
keyboards/4pplet/aekiso60/rev_b/config.h

@@ -16,15 +16,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 #pragma once
 
-
-// ROWS: Top to bottom, COLS: Left to right
-
-#define MATRIX_ROW_PINS {B15,A9,B7,A1,A2}
-#define MATRIX_COL_PINS {A3,A4,F1,F0,C15,C14,C13,B9,B8,B6,B5,B4,B3,A15}
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
 #define RGBLED_NUM 12
 #define WS2812_EXTERNAL_PULLUP
 #define RGB_DI_PIN A8

+ 5 - 0
keyboards/4pplet/aekiso60/rev_b/info.json

@@ -8,6 +8,11 @@
         "pid": "0x0011",
         "device_version": "0.0.2"
     },
+    "matrix_pins": {
+        "cols": ["A3", "A4", "F1", "F0", "C15", "C14", "C13", "B9", "B8", "B6", "B5", "B4", "B3", "A15"],
+        "rows": ["B15", "A9", "B7", "A1", "A2"]
+    },
+    "diode_direction": "COL2ROW",
     "indicators": {
         "caps_lock": "A10"
     },

+ 0 - 25
keyboards/4pplet/bootleg/rev_a/config.h

@@ -1,25 +0,0 @@
-/*
-Copyright 2020 Stefan Sundin "4pplet" <4pplet@protonmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#pragma once
-
-
-// ROWS: Top to bottom, COLS: Left to right
-#define MATRIX_ROW_PINS {D0,C2,C4,D4,D2}
-#define MATRIX_COL_PINS {C5,C6,C7,B7,B6,B5,B4,B3,B2,B1,B0,D6,D5,D3,D1}
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW

+ 5 - 0
keyboards/4pplet/bootleg/rev_a/info.json

@@ -8,6 +8,11 @@
         "pid": "0x0004",
         "device_version": "0.0.1"
     },
+    "matrix_pins": {
+        "cols": ["C5", "C6", "C7", "B7", "B6", "B5", "B4", "B3", "B2", "B1", "B0", "D6", "D5", "D3", "D1"],
+        "rows": ["D0", "C2", "C4", "D4", "D2"]
+    },
+    "diode_direction": "COL2ROW",
     "qmk_lufa_bootloader": {
         "esc_input": "D0",
         "esc_output": "C4"

+ 0 - 4
keyboards/4pplet/eagle_viper_rep/rev_a/config.h

@@ -16,10 +16,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 #pragma once
 
-#define MATRIX_COL_PINS { A0, B1, B0, A4, B5, B4, B3 }
-#define MATRIX_ROW_PINS { A2, A1, B8, A10, C15, A15, B7, B6, C14, C13}
-#define DIODE_DIRECTION COL2ROW
-
 #define BACKLIGHT_PWM_DRIVER    PWMD2
 #define BACKLIGHT_PWM_CHANNEL   4
 #define BACKLIGHT_PAL_MODE      2

+ 5 - 0
keyboards/4pplet/eagle_viper_rep/rev_a/info.json

@@ -8,6 +8,11 @@
         "pid": "0x0007",
         "device_version": "0.0.1"
     },
+    "matrix_pins": {
+        "cols": ["A0", "B1", "B0", "A4", "B5", "B4", "B3"],
+        "rows": ["A2", "A1", "B8", "A10", "C15", "A15", "B7", "B6", "C14", "C13"]
+    },
+    "diode_direction": "COL2ROW",
     "backlight": {
         "pin": "A3",
         "levels": 10,

+ 0 - 4
keyboards/4pplet/eagle_viper_rep/rev_b/config.h

@@ -16,10 +16,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 #pragma once
 
-#define MATRIX_COL_PINS { A0, A3, A4, A7, B5, B4, B3 }
-#define MATRIX_ROW_PINS { A2, A1, B8, A10, C15, A15, B7, B6, C14, C13}
-#define DIODE_DIRECTION COL2ROW
-
 #define BACKLIGHT_PWM_DRIVER    PWMD3
 #define BACKLIGHT_PWM_CHANNEL   1
 #define BACKLIGHT_PAL_MODE      1

+ 5 - 0
keyboards/4pplet/eagle_viper_rep/rev_b/info.json

@@ -8,6 +8,11 @@
         "pid": "0x0010",
         "device_version": "0.0.2"
     },
+    "matrix_pins": {
+        "cols": ["A0", "A3", "A4", "A7", "B5", "B4", "B3"],
+        "rows": ["A2", "A1", "B8", "A10", "C15", "A15", "B7", "B6", "C14", "C13"]
+    },
+    "diode_direction": "COL2ROW",
     "backlight": {
         "pin": "A6",
         "levels": 6,

+ 0 - 4
keyboards/4pplet/perk60_iso/rev_a/config.h

@@ -16,10 +16,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 #pragma once
 
-#define MATRIX_COL_PINS { A1, B12, B14, A2, A0, A3, A4}
-#define MATRIX_ROW_PINS { C14, C13, B5, B4, B8, A15, B3, B9, A5, A7}
-#define DIODE_DIRECTION COL2ROW
-
 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 #define LOCKING_SUPPORT_ENABLE
 /* Locking resynchronize hack */

+ 5 - 0
keyboards/4pplet/perk60_iso/rev_a/info.json

@@ -8,6 +8,11 @@
         "pid": "0x0009",
         "device_version": "0.0.1"
     },
+    "matrix_pins": {
+        "cols": ["A1", "B12", "B14", "A2", "A0", "A3", "A4"],
+        "rows": ["C14", "C13", "B5", "B4", "B8", "A15", "B3", "B9", "A5", "A7"]
+    },
+    "diode_direction": "COL2ROW",
     "processor": "STM32F411",
     "bootloader": "stm32-dfu",
     "community_layouts": ["60_iso"],

+ 0 - 8
keyboards/4pplet/steezy60/rev_a/config.h

@@ -1,13 +1,5 @@
 #pragma once
 
-
-// ROWS: Top to bottom, COLS: Left to right
-#define MATRIX_ROW_PINS {C2,D0,B0,C7,C5}
-#define MATRIX_COL_PINS {C4,C6,B7,B6,B5,B4,B3,B2,B1,D6,D5,D4,D2,D1}
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
 #define RGB_DI_PIN D3
 #define RGBLED_NUM 12
 

+ 5 - 0
keyboards/4pplet/steezy60/rev_a/info.json

@@ -8,6 +8,11 @@
         "pid": "0x0002",
         "device_version": "0.0.1"
     },
+    "matrix_pins": {
+        "cols": ["C4", "C6", "B7", "B6", "B5", "B4", "B3", "B2", "B1", "D6", "D5", "D4", "D2", "D1"],
+        "rows": ["C2", "D0", "B0", "C7", "C5"]
+    },
+    "diode_direction": "COL2ROW",
     "qmk_lufa_bootloader": {
         "esc_input": "C2",
         "esc_output": "C4"

+ 0 - 26
keyboards/4pplet/waffling60/rev_a/config.h

@@ -1,26 +0,0 @@
-/*
-Copyright 2022 Stefan Sundin "4pplet" <mail@4pplet.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#pragma once
-
-
-// ROWS: Top to bottom, COLS: Left to right
-
-#define MATRIX_ROW_PINS {D4,D1,C2,C4,C7,B2}
-#define MATRIX_COL_PINS {D3,D0,D2,B6,B5,B4,B3,D6,D5,B0,B1}
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW

+ 5 - 0
keyboards/4pplet/waffling60/rev_a/info.json

@@ -8,6 +8,11 @@
         "pid": "0x0003",
         "device_version": "0.0.1"
     },
+    "matrix_pins": {
+        "cols": ["D3", "D0", "D2", "B6", "B5", "B4", "B3", "D6", "D5", "B0", "B1"],
+        "rows": ["D4", "D1", "C2", "C4", "C7", "B2"]
+    },
+    "diode_direction": "COL2ROW",
     "qmk_lufa_bootloader": {
         "esc_input": "D4",
         "esc_output": "D3"

+ 0 - 9
keyboards/4pplet/waffling60/rev_b/config.h

@@ -16,15 +16,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 #pragma once
 
-
-// ROWS: Top to bottom, COLS: Left to right
-
-#define MATRIX_ROW_PINS {C2,D0,B0,D6,D5}
-#define MATRIX_COL_PINS {C4,C5,D2,C6,C7,B7,B6,B5,B4,B3,B2,B1,D1,D4}
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
 #define RGB_DI_PIN D3
 #define RGBLED_NUM 1
 

+ 5 - 0
keyboards/4pplet/waffling60/rev_b/info.json

@@ -8,6 +8,11 @@
         "pid": "0x0005",
         "device_version": "0.0.2"
     },
+    "matrix_pins": {
+        "cols": ["C4", "C5", "D2", "C6", "C7", "B7", "B6", "B5", "B4", "B3", "B2", "B1", "D1", "D4"],
+        "rows": ["C2", "D0", "B0", "D6", "D5"]
+    },
+    "diode_direction": "COL2ROW",
     "qmk_lufa_bootloader": {
         "esc_input": "C4",
         "esc_output": "C2"

+ 0 - 9
keyboards/4pplet/waffling60/rev_c/config.h

@@ -16,15 +16,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 #pragma once
 
-
-// ROWS: Top to bottom, COLS: Left to right
-
-#define MATRIX_ROW_PINS {C2,D0,B0,D6,D5}
-#define MATRIX_COL_PINS {C4,C5,D2,C6,C7,B7,B6,B5,B4,B3,B2,B1,D1,D4}
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
 #define RGB_DI_PIN D3
 #define RGBLED_NUM 1
 

+ 5 - 0
keyboards/4pplet/waffling60/rev_c/info.json

@@ -8,6 +8,11 @@
         "pid": "0x0008",
         "device_version": "0.0.3"
     },
+    "matrix_pins": {
+        "cols": ["C4", "C5", "D2", "C6", "C7", "B7", "B6", "B5", "B4", "B3", "B2", "B1", "D1", "D4"],
+        "rows": ["C2", "D0", "B0", "D6", "D5"]
+    },
+    "diode_direction": "COL2ROW",
     "qmk_lufa_bootloader": {
         "esc_input": "C4",
         "esc_output": "C2"

+ 0 - 9
keyboards/4pplet/waffling60/rev_d/config.h

@@ -16,15 +16,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 #pragma once
 
-
-// ROWS: Top to bottom, COLS: Left to right
-
-#define MATRIX_ROW_PINS {B14,A9,B6,B5,B4}
-#define MATRIX_COL_PINS {B2,A4,A3,A2,F1,F0,C15,C14,C13,B9,B8,B7,A15,B3}
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
 #define RGBLED_NUM 1
 #define WS2812_EXTERNAL_PULLUP
 #define RGB_DI_PIN A8

+ 5 - 0
keyboards/4pplet/waffling60/rev_d/info.json

@@ -8,6 +8,11 @@
         "pid": "0x000E",
         "device_version": "0.0.4"
     },
+    "matrix_pins": {
+        "cols": ["B2", "A4", "A3", "A2", "F1", "F0", "C15", "C14", "C13", "B9", "B8", "B7", "A15", "B3"],
+        "rows": ["B14", "A9", "B6", "B5", "B4"]
+    },
+    "diode_direction": "COL2ROW",
     "processor": "STM32F072",
     "bootloader": "stm32-dfu",
     "layouts": {

+ 0 - 26
keyboards/4pplet/waffling60/rev_d_ansi/config.h

@@ -1,26 +0,0 @@
-/*
-Copyright 2022 Stefan Sundin "4pplet" <4pplet@protonmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#pragma once
-
-
-// ROWS: Top to bottom, COLS: Left to right
-
-#define MATRIX_ROW_PINS {B14,A9,B6,B5,B4}
-#define MATRIX_COL_PINS {B2,A4,A3,A2,F1,F0,C15,C14,C13,B9,B8,B7,A15,B3}
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW

+ 5 - 0
keyboards/4pplet/waffling60/rev_d_ansi/info.json

@@ -8,6 +8,11 @@
         "pid": "0x000D",
         "device_version": "0.0.4"
     },
+    "matrix_pins": {
+        "cols": ["B2", "A4", "A3", "A2", "F1", "F0", "C15", "C14", "C13", "B9", "B8", "B7", "A15", "B3"],
+        "rows": ["B14", "A9", "B6", "B5", "B4"]
+    },
+    "diode_direction": "COL2ROW",
     "processor": "STM32F072",
     "bootloader": "stm32-dfu",
     "layouts": {

+ 0 - 26
keyboards/4pplet/waffling60/rev_d_iso/config.h

@@ -1,26 +0,0 @@
-/*
-Copyright 2022 Stefan Sundin "4pplet" <mail@4pplet.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#pragma once
-
-
-// ROWS: Top to bottom, COLS: Left to right
-
-#define MATRIX_ROW_PINS {B14,A9,B6,B5,B4}
-#define MATRIX_COL_PINS {B2,A4,A3,A2,F1,F0,C15,C14,C13,B9,B8,B7,A15,B3}
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW

+ 5 - 0
keyboards/4pplet/waffling60/rev_d_iso/info.json

@@ -8,6 +8,11 @@
         "pid": "0x000C",
         "device_version": "0.0.1"
     },
+    "matrix_pins": {
+        "cols": ["B2", "A4", "A3", "A2", "F1", "F0", "C15", "C14", "C13", "B9", "B8", "B7", "A15", "B3"],
+        "rows": ["B14", "A9", "B6", "B5", "B4"]
+    },
+    "diode_direction": "COL2ROW",
     "processor": "STM32F072",
     "bootloader": "stm32-dfu",
     "layouts": {

+ 0 - 8
keyboards/4pplet/waffling80/rev_a/config.h

@@ -16,14 +16,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 #pragma once
 
-
-// ROWS: Top to bottom, COLS: Left to right
-#define MATRIX_ROW_PINS {C4,C5,B4,B3,B1,B0,D6,D5,D3,D4,D1,D2}
-#define MATRIX_COL_PINS {C6,C7,B7,B6,B5,B2,D0,C2}
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
 #define RGB_DI_PIN D7
 #define RGBLED_NUM 2
 

+ 5 - 0
keyboards/4pplet/waffling80/rev_a/info.json

@@ -8,6 +8,11 @@
         "pid": "0x0006",
         "device_version": "0.0.1"
     },
+    "matrix_pins": {
+        "cols": ["C6", "C7", "B7", "B6", "B5", "B2", "D0", "C2"],
+        "rows": ["C4", "C5", "B4", "B3", "B1", "B0", "D6", "D5", "D3", "D4", "D1", "D2"]
+    },
+    "diode_direction": "COL2ROW",
     "qmk_lufa_bootloader": {
         "esc_input": "C4",
         "esc_output": "C6"

+ 0 - 8
keyboards/4pplet/waffling80/rev_b/config.h

@@ -16,14 +16,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 #pragma once
 
-
-// ROWS: Top to bottom, COLS: Left to right
-#define MATRIX_ROW_PINS {B13,B12,A5,A4,A2,A1,F0,C15,C13,C14,F1,A0}
-#define MATRIX_COL_PINS {B2,B1,B0,A7,A6,A3,B9,B8}
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
 #define RGBLED_NUM 2
 #define WS2812_EXTERNAL_PULLUP
 #define RGB_DI_PIN A8

+ 5 - 0
keyboards/4pplet/waffling80/rev_b/info.json

@@ -8,6 +8,11 @@
         "pid": "0x000F",
         "device_version": "0.0.2"
     },
+    "matrix_pins": {
+        "cols": ["B2", "B1", "B0", "A7", "A6", "A3", "B9", "B8"],
+        "rows": ["B13", "B12", "A5", "A4", "A2", "A1", "F0", "C15", "C13", "C14", "F1", "A0"]
+    },
+    "diode_direction": "COL2ROW",
     "processor": "STM32F072",
     "bootloader": "stm32-dfu",
     "layouts": {

Some files were not shown because too many files changed in this diff