diff --git a/keyboards/0xcb/1337/config.h b/keyboards/0xcb/1337/config.h
index 17ae0d55fb9..10f946592fa 100644
--- a/keyboards/0xcb/1337/config.h
+++ b/keyboards/0xcb/1337/config.h
@@ -18,16 +18,6 @@ along with this program. If not, see .
// clang-format off
-/* key matrix size */
-#define MATRIX_ROWS 3
-#define MATRIX_COLS 3
-
-/* Keyboard Matrix Assignments */
-#define DIRECT_PINS { \
- { D2, D4, F4 }, \
- { D7, B1, B3 }, \
- { E6, B4, B2 } \
-}
#define TAP_CODE_DELAY 10
#define ENCODER_RESOLUTION 4
#define ENCODERS_PAD_A { F6 }
diff --git a/keyboards/0xcb/1337/info.json b/keyboards/0xcb/1337/info.json
index 3da716aa373..ca047775366 100644
--- a/keyboards/0xcb/1337/info.json
+++ b/keyboards/0xcb/1337/info.json
@@ -10,6 +10,13 @@
},
"processor": "atmega32u4",
"bootloader": "qmk-dfu",
+ "matrix_pins": {
+ "direct": [
+ ["D2", "D4", "F4"],
+ ["D7", "B1", "B3"],
+ ["E6", "B4", "B2"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/0xcb/tutelpad/config.h b/keyboards/0xcb/tutelpad/config.h
index 21f22620ad1..d4ba1d439f6 100644
--- a/keyboards/0xcb/tutelpad/config.h
+++ b/keyboards/0xcb/tutelpad/config.h
@@ -16,27 +16,6 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 2
-#define MATRIX_COLS 4
-
-/*
- * 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)
- *
- */
-/* Keyboard Matrix Assignments */
-#define DIRECT_PINS { \
- { E6, D7, B1, B3 }, \
- { B5, B4, B2, B6 } \
-}
-
#define RGB_DI_PIN D3 // LED data pin on controller
#define RGBLED_NUM 4 // Number of LEDs connected
diff --git a/keyboards/0xcb/tutelpad/info.json b/keyboards/0xcb/tutelpad/info.json
index 96e61924b9f..25c0ca51c49 100644
--- a/keyboards/0xcb/tutelpad/info.json
+++ b/keyboards/0xcb/tutelpad/info.json
@@ -10,6 +10,12 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["E6", "D7", "B1", "B3"],
+ ["B5", "B4", "B2", "B6"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/1k/config.h b/keyboards/1k/config.h
index f5d74426efb..1e970661c0b 100644
--- a/keyboards/1k/config.h
+++ b/keyboards/1k/config.h
@@ -15,18 +15,6 @@
*/
#pragma once
-
-/* matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 1
-
-/*
- * Keyboard Matrix Assignments
- *
- * On this board we have direct connection: no diodes.
- */
-#define DIRECT_PINS {{ B0 }}
-
#define RGBLED_NUM 1
#define RGB_DI_PIN B2
diff --git a/keyboards/1k/info.json b/keyboards/1k/info.json
index 0c2de318087..8a27d94862c 100644
--- a/keyboards/1k/info.json
+++ b/keyboards/1k/info.json
@@ -8,6 +8,11 @@
"pid": "0x0001",
"device_version": "0.0.1"
},
+ "matrix_pins": {
+ "direct": [
+ ["B0"]
+ ]
+ },
"layouts": {
"LAYOUT_ortho_1x1": {
"layout": [
diff --git a/keyboards/25keys/cassette42/config.h b/keyboards/25keys/cassette42/config.h
index fe434962276..c57f66da5d5 100644
--- a/keyboards/25keys/cassette42/config.h
+++ b/keyboards/25keys/cassette42/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 6
-
-#define DIRECT_PINS {{ B4, F6, F5, F4, B5, F7 }}
-
#define ENCODERS_PAD_A { B6, B3 }
#define ENCODERS_PAD_B { B2, B1 }
#define ENCODER_RESOLUTION 4
diff --git a/keyboards/25keys/cassette42/info.json b/keyboards/25keys/cassette42/info.json
index 5150c28422a..546e02ab63d 100644
--- a/keyboards/25keys/cassette42/info.json
+++ b/keyboards/25keys/cassette42/info.json
@@ -10,6 +10,11 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["B4", "F6", "F5", "F4", "B5", "F7"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0.5, "y":0.75}, {"x":2.5, "y":0.75}, {"x":0, "y":1.75}, {"x":1, "y":1.75}, {"x":2, "y":1.75}, {"x":3, "y":1.75}]
diff --git a/keyboards/40percentclub/4pack/config.h b/keyboards/40percentclub/4pack/config.h
index 3a8a54d4faa..d289f893ece 100644
--- a/keyboards/40percentclub/4pack/config.h
+++ b/keyboards/40percentclub/4pack/config.h
@@ -17,30 +17,6 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 4
-
-/*
- * 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 } // B0 equivalents the ground pin
-// #define MATRIX_COL_PINS { E6, D7, C6, D4 }
-#define DIRECT_PINS { \
- { E6, D7, C6, D4 } \
-}
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
#define BACKLIGHT_LED_COUNT 2
#undef BACKLIGHT_PIN
#define BACKLIGHT_PINS { F6, F7 }
diff --git a/keyboards/40percentclub/4pack/info.json b/keyboards/40percentclub/4pack/info.json
index 91c6171dff3..1665c7b35b3 100644
--- a/keyboards/40percentclub/4pack/info.json
+++ b/keyboards/40percentclub/4pack/info.json
@@ -10,6 +10,11 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["E6", "D7", "C6", "D4"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}]
diff --git a/keyboards/40percentclub/nano/config.h b/keyboards/40percentclub/nano/config.h
index 7d3c140923a..39aa83e067b 100644
--- a/keyboards/40percentclub/nano/config.h
+++ b/keyboards/40percentclub/nano/config.h
@@ -17,29 +17,6 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 2
-#define MATRIX_COLS 4
-
-/*
- * 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)
- * NO_DIODE = switches are directly connected to AVR pins
- *
-*/
-// #define MATRIX_ROW_PINS { D0, D5 }
-// #define MATRIX_COL_PINS { F1, F0, B0 }
-#define DIRECT_PINS { \
- { F4, F5, F6, F7 }, \
- { D1, D0, D4, C6 }, \
-}
-
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
# define RGBLIGHT_EFFECT_BREATHING
diff --git a/keyboards/40percentclub/nano/info.json b/keyboards/40percentclub/nano/info.json
index 1821a684ac8..430129a6a10 100644
--- a/keyboards/40percentclub/nano/info.json
+++ b/keyboards/40percentclub/nano/info.json
@@ -10,6 +10,12 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["F4", "F5", "F6", "F7"],
+ ["D1", "D0", "D4", "C6"]
+ ]
+ },
"layouts": {
"LAYOUT_ortho_2x4": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}]
diff --git a/keyboards/40percentclub/nein/config.h b/keyboards/40percentclub/nein/config.h
index 0cc521499e8..e89243f55e9 100644
--- a/keyboards/40percentclub/nein/config.h
+++ b/keyboards/40percentclub/nein/config.h
@@ -16,18 +16,6 @@
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 3
-#define MATRIX_COLS 3
-
-/* Keyboard Matrix Assignments */
-#define DIRECT_PINS { \
- { F4, F5, F6 }, \
- { F7, B1, B3 }, \
- { B2, B6, B5 } \
-}
-
// #define RGB_DI_PIN E2
// #ifdef RGB_DI_PIN
// #define RGBLED_NUM 16
diff --git a/keyboards/40percentclub/nein/info.json b/keyboards/40percentclub/nein/info.json
index 82d03395d8a..ba39cb834df 100644
--- a/keyboards/40percentclub/nein/info.json
+++ b/keyboards/40percentclub/nein/info.json
@@ -10,6 +10,13 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["F4", "F5", "F6"],
+ ["F7", "B1", "B3"],
+ ["B2", "B6", "B5"]
+ ]
+ },
"layouts": {
"LAYOUT_ortho_3x3": {
"layout": [
diff --git a/keyboards/40percentclub/sixpack/config.h b/keyboards/40percentclub/sixpack/config.h
index 9c384ef2aad..c94721d714a 100644
--- a/keyboards/40percentclub/sixpack/config.h
+++ b/keyboards/40percentclub/sixpack/config.h
@@ -17,29 +17,6 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 2
-#define MATRIX_COLS 3
-
-/*
- * 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 DIRECT_PINS { \
- { D4, C6, D7 }, \
- { E6, B4, B5 } \
-}
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
/* Backlight */
#define BACKLIGHT_BREATHING
#define BACKLIGHT_LEVELS 6
diff --git a/keyboards/40percentclub/sixpack/info.json b/keyboards/40percentclub/sixpack/info.json
index 78ca5bda58a..ea7e6281a94 100644
--- a/keyboards/40percentclub/sixpack/info.json
+++ b/keyboards/40percentclub/sixpack/info.json
@@ -10,6 +10,12 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["D4", "C6", "D7"],
+ ["E6", "B4", "B5"]
+ ]
+ },
"community_layouts": ["ortho_2x3"],
"layouts": {
"LAYOUT_ortho_2x3": {
diff --git a/keyboards/8pack/config.h b/keyboards/8pack/config.h
index ddd88f1303d..a9564f1bcfe 100644
--- a/keyboards/8pack/config.h
+++ b/keyboards/8pack/config.h
@@ -1,23 +1,11 @@
#pragma once
-
-/* 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 */
#define LOCKING_RESYNC_ENABLE
-/* key matrix size */
-#define MATRIX_ROWS 2
-#define MATRIX_COLS 4
-
-/* key matrix pins */
-
-#define DIRECT_PINS { { F4, F5, F6, F7 }, { B1, B3, B2, B6 } }
-
#define BACKLIGHT_LED_COUNT 8
#undef BACKLIGHT_PIN
#define BACKLIGHT_PINS { D1, D0, D4, C6, D7, E6, B4, B5 }
diff --git a/keyboards/8pack/info.json b/keyboards/8pack/info.json
index 4520540642d..fa33b2644ff 100644
--- a/keyboards/8pack/info.json
+++ b/keyboards/8pack/info.json
@@ -9,6 +9,12 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["F4", "F5", "F6", "F7"],
+ ["B1", "B3", "B2", "B6"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/a_dux/config.h b/keyboards/a_dux/config.h
index d6551e60c41..d636139928f 100644
--- a/keyboards/a_dux/config.h
+++ b/keyboards/a_dux/config.h
@@ -16,36 +16,6 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 8
-#define MATRIX_COLS 5
-
-/*
- * 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)
- * NO_DIODE = switches are directly connected to AVR pins
- *
-*/
-#define DIRECT_PINS { \
- { C6, D2, F7, B2, F4 }, \
- { D7, D0, F6, B3, F5 }, \
- { E6, D4, D3, B1, B6 }, \
- { B4, B5, NO_PIN, NO_PIN, NO_PIN } \
-}
-
-#define DIRECT_PINS_RIGHT { \
- { F4, B2, F7, D2, C6 }, \
- { F5, B3, F6, D0, D7 }, \
- { B6, B1, D3, D4, E6 }, \
- { B5, B4, NO_PIN, NO_PIN, NO_PIN } \
-}
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
diff --git a/keyboards/a_dux/info.json b/keyboards/a_dux/info.json
index d5a8365279f..6292d5e707f 100644
--- a/keyboards/a_dux/info.json
+++ b/keyboards/a_dux/info.json
@@ -10,6 +10,26 @@
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
+ "matrix_pins": {
+ "direct": [
+ ["C6", "D2", "F7", "B2", "F4"],
+ ["D7", "D0", "F6", "B3", "F5"],
+ ["E6", "D4", "D3", "B1", "B6"],
+ ["B4", "B5", null, null, null]
+ ]
+ },
+ "split": {
+ "matrix_pins": {
+ "right": {
+ "direct": [
+ ["F4", "B2", "F7", "D2", "C6"],
+ ["F5", "B3", "F6", "D0", "D7"],
+ ["B6", "B1", "D3", "D4", "E6"],
+ ["B5", "B4", null, null, null]
+ ]
+ }
+ }
+ },
"community_layouts": ["split_3x5_2"],
"layouts": {
"LAYOUT_split_3x5_2": {
diff --git a/keyboards/adafruit/macropad/config.h b/keyboards/adafruit/macropad/config.h
index d533828dae7..7f1170ef37f 100644
--- a/keyboards/adafruit/macropad/config.h
+++ b/keyboards/adafruit/macropad/config.h
@@ -16,22 +16,6 @@
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 3
-
-/* Keyboard Matrix Assignments */
-// clang-format off
-#define DIRECT_PINS { \
- { NO_PIN, NO_PIN, GP0 }, \
- { GP1, GP2, GP3 }, \
- { GP4, GP5, GP6 }, \
- { GP7, GP8, GP9 }, \
- { GP10, GP11, GP12 } \
-}
-// clang-format on
-
/* OLED SPI Defines */
#define OLED_DISPLAY_128X64
#define OLED_IC OLED_IC_SH1106
diff --git a/keyboards/adafruit/macropad/info.json b/keyboards/adafruit/macropad/info.json
index adb82407ec6..588c51b008a 100644
--- a/keyboards/adafruit/macropad/info.json
+++ b/keyboards/adafruit/macropad/info.json
@@ -10,6 +10,15 @@
},
"processor": "RP2040",
"bootloader": "rp2040",
+ "matrix_pins": {
+ "direct": [
+ [null, null, "GP0"],
+ ["GP1", "GP2", "GP3"],
+ ["GP4", "GP5", "GP6"],
+ ["GP7", "GP8", "GP9"],
+ ["GP10", "GP11", "GP12"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/anavi/knob1/config.h b/keyboards/anavi/knob1/config.h
index 207b653a424..338f5d8dbe4 100644
--- a/keyboards/anavi/knob1/config.h
+++ b/keyboards/anavi/knob1/config.h
@@ -3,17 +3,6 @@
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 1
-
-/* Keyboard Matrix Assignments */
-// clang-format off
-#define DIRECT_PINS { \
- { GP26 } \
-}
-
#define RGBLIGHT_DEFAULT_MODE 9
/* Double tap reset button to enter bootloader */
diff --git a/keyboards/anavi/knob1/info.json b/keyboards/anavi/knob1/info.json
index 0677916600e..1bd66e9ef0f 100644
--- a/keyboards/anavi/knob1/info.json
+++ b/keyboards/anavi/knob1/info.json
@@ -44,6 +44,11 @@
}
]
},
+ "matrix_pins": {
+ "direct": [
+ ["GP26"]
+ ]
+ },
"layouts": {
"LAYOUT_k1": {
"layout": [
diff --git a/keyboards/anavi/macropad8/config.h b/keyboards/anavi/macropad8/config.h
index a6c0269102a..815636ead61 100644
--- a/keyboards/anavi/macropad8/config.h
+++ b/keyboards/anavi/macropad8/config.h
@@ -17,27 +17,6 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 2
-#define MATRIX_COLS 4
-
-/*
- * 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)
- * NO_DIODE = switches are directly connected to AVR pins
- *
-*/
-#define DIRECT_PINS { \
- { D4, F6, B5, E6 }, \
- { F5, F7, B4, C6 } \
-}
-
#define BACKLIGHT_PIN D7
#define BACKLIGHT_BREATHING
#define BACKLIGHT_LEVELS 3
diff --git a/keyboards/anavi/macropad8/info.json b/keyboards/anavi/macropad8/info.json
index 979f4368104..51e805059d2 100644
--- a/keyboards/anavi/macropad8/info.json
+++ b/keyboards/anavi/macropad8/info.json
@@ -10,6 +10,12 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["D4", "F6", "B5", "E6"],
+ ["F5", "F7", "B4", "C6"]
+ ]
+ },
"layouts": {
"LAYOUT_ortho_2x4": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}]
diff --git a/keyboards/arrayperipherals/1x4p1/config.h b/keyboards/arrayperipherals/1x4p1/config.h
index 719c2c00dab..b70680e4f53 100644
--- a/keyboards/arrayperipherals/1x4p1/config.h
+++ b/keyboards/arrayperipherals/1x4p1/config.h
@@ -17,16 +17,6 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 5
-
-
-#define DIRECT_PINS { \
- { C7, B7, D6, F5, F7} \
-}
-
/* rotary encoder*/
#define ENCODERS_PAD_A {F0}
#define ENCODERS_PAD_B {F1}
diff --git a/keyboards/arrayperipherals/1x4p1/info.json b/keyboards/arrayperipherals/1x4p1/info.json
index b224d3d5a6f..0441646af02 100644
--- a/keyboards/arrayperipherals/1x4p1/info.json
+++ b/keyboards/arrayperipherals/1x4p1/info.json
@@ -10,6 +10,11 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["C7", "B7", "D6", "F5", "F7"]
+ ]
+ },
"layouts": {
"LAYOUT_ortho_1x5": {
"layout": [
diff --git a/keyboards/beekeeb/piantor/config.h b/keyboards/beekeeb/piantor/config.h
index 8a3e5eb467c..6a50429c209 100644
--- a/keyboards/beekeeb/piantor/config.h
+++ b/keyboards/beekeeb/piantor/config.h
@@ -11,23 +11,5 @@
#define SERIAL_USART_TX_PIN GP0
#define SERIAL_USART_RX_PIN GP1
-/* key matrix size */
-#define MATRIX_ROWS 8
-#define MATRIX_COLS 6
-
-#define DIRECT_PINS { \
- { GP5, GP4, GP11, GP15, GP3, GP2}, \
- { GP22, GP20, GP10, GP14, GP9, GP8}, \
- { GP21, GP19, GP6, GP7, GP13, GP12}, \
- { GP17, GP18, GP16, NO_PIN, NO_PIN, NO_PIN} \
-}
-
-#define DIRECT_PINS_RIGHT { \
- { GP22, GP21, GP2, GP5, GP8, GP11}, \
- { GP20, GP19, GP3, GP6, GP9, GP12}, \
- { GP18, GP17, GP4, GP7, GP10, GP13}, \
- { GP15, GP14, GP16, NO_PIN, NO_PIN, NO_PIN} \
-}
-
#define BOOTMAGIC_LITE_ROW 0
#define BOOTMAGIC_LITE_COLUMN 5
diff --git a/keyboards/beekeeb/piantor/info.json b/keyboards/beekeeb/piantor/info.json
index 50f4feed666..a914b1882df 100644
--- a/keyboards/beekeeb/piantor/info.json
+++ b/keyboards/beekeeb/piantor/info.json
@@ -18,8 +18,26 @@
"pid": "0x0001",
"vid": "0xBEEB"
},
+ "matrix_pins": {
+ "direct": [
+ ["GP5", "GP4", "GP11", "GP15", "GP3", "GP2"],
+ ["GP22", "GP20", "GP10", "GP14", "GP9", "GP8"],
+ ["GP21", "GP19", "GP6", "GP7", "GP13", "GP12"],
+ ["GP17", "GP18", "GP16", null, null, null]
+ ]
+ },
"split": {
- "enabled": true
+ "enabled": true,
+ "matrix_pins": {
+ "right": {
+ "direct": [
+ ["GP22", "GP21", "GP2", "GP5", "GP8", "GP11"],
+ ["GP20", "GP19", "GP3", "GP6", "GP9", "GP12"],
+ ["GP18", "GP17", "GP4", "GP7", "GP10", "GP13"],
+ ["GP15", "GP14", "GP16", null, null, null]
+ ]
+ }
+ }
},
"community_layouts": ["split_3x6_3"],
"layouts": {
diff --git a/keyboards/botanicalkeyboards/fm2u/config.h b/keyboards/botanicalkeyboards/fm2u/config.h
deleted file mode 100644
index a3297798276..00000000000
--- a/keyboards/botanicalkeyboards/fm2u/config.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-Copyright 2020 mechmerlin
-
-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 .
-*/
-
-#pragma once
-
-
-/* key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 1
-
-/* Keyboard Matrix Assignments */
-#define DIRECT_PINS { \
- { C4 } \
-}
-
-/*
- * 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)
- *
- */
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
-
-
diff --git a/keyboards/botanicalkeyboards/fm2u/info.json b/keyboards/botanicalkeyboards/fm2u/info.json
index c0ea4c9b8a6..09d617152b7 100644
--- a/keyboards/botanicalkeyboards/fm2u/info.json
+++ b/keyboards/botanicalkeyboards/fm2u/info.json
@@ -10,6 +10,11 @@
},
"processor": "atmega32u2",
"bootloader": "atmel-dfu",
+ "matrix_pins": {
+ "direct": [
+ ["C4"]
+ ]
+ },
"layouts": {
"LAYOUT_1u": {
"layout": [
diff --git a/keyboards/bpiphany/sixshooter/config.h b/keyboards/bpiphany/sixshooter/config.h
deleted file mode 100644
index b8197d3e032..00000000000
--- a/keyboards/bpiphany/sixshooter/config.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#pragma once
-
-
-/* key matrix size */
-#define MATRIX_ROWS 2
-#define MATRIX_COLS 3
-
-/* Keyboard Matrix Assignments */
-#define DIRECT_PINS { \
- { F7, F6, F1 }, \
- { F5, F4, F0 } \
-}
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/bpiphany/sixshooter/info.json b/keyboards/bpiphany/sixshooter/info.json
index 94059d0c2b6..9f3637be0bb 100644
--- a/keyboards/bpiphany/sixshooter/info.json
+++ b/keyboards/bpiphany/sixshooter/info.json
@@ -10,6 +10,12 @@
},
"processor": "atmega32u4",
"bootloader": "halfkay",
+ "matrix_pins": {
+ "direct": [
+ ["F7", "F6", "F1"],
+ ["F5", "F4", "F0"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"K00", "x":0, "y":0}, {"label":"K01", "x":1, "y":0}, {"label":"K02", "x":2, "y":0}, {"label":"K03", "x":0, "y":1}, {"label":"K04", "x":1, "y":1}, {"label":"K05", "x":2, "y":1}]
diff --git a/keyboards/cantor/config.h b/keyboards/cantor/config.h
index f002d87b1f7..1cb680ac41f 100644
--- a/keyboards/cantor/config.h
+++ b/keyboards/cantor/config.h
@@ -3,20 +3,6 @@
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 8
-#define MATRIX_COLS 6
-
-#define DIRECT_PINS {{B1, B10, A8, B15, B14, B13}, \
- {B9, B8, B5, B4, B3, A15}, \
- {A3, A4, A5, A6, A7, B0}, \
- {A2, A1, A0, NO_PIN, NO_PIN, NO_PIN}}
-#define DIRECT_PINS_RIGHT {{B13, B14, B15, A8, B10, B1}, \
- {A15, B3, B4, B5, B8, B9}, \
- {B0, A7, A6, A5, A4, A3}, \
- {A0, A1, A2, NO_PIN, NO_PIN, NO_PIN}}
-
#define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode.
#define SERIAL_USART_TX_PIN B6 // USART TX pin
#define SERIAL_USART_RX_PIN B7 // USART RX pin
diff --git a/keyboards/cantor/info.json b/keyboards/cantor/info.json
index 6d599f43006..b2067508a01 100644
--- a/keyboards/cantor/info.json
+++ b/keyboards/cantor/info.json
@@ -19,6 +19,26 @@
"pid": "0x0000",
"vid": "0xFEED"
},
+ "matrix_pins": {
+ "direct": [
+ ["B1", "B10", "A8", "B15", "B14", "B13"],
+ ["B9", "B8", "B5", "B4", "B3", "A15"],
+ ["A3", "A4", "A5", "A6", "A7", "B0"],
+ ["A2", "A1", "A0", null, null, null]
+ ]
+ },
+ "split": {
+ "matrix_pins": {
+ "right": {
+ "direct": [
+ ["B13", "B14", "B15", "A8", "B10", "B1"],
+ ["A15", "B3", "B4", "B5", "B8", "B9"],
+ ["B0", "A7", "A6", "A5", "A4", "A3"],
+ ["A0", "A1", "A2", null, null, null]
+ ]
+ }
+ }
+ },
"community_layouts": ["split_3x6_3"],
"layouts": {
"LAYOUT_split_3x6_3": {
diff --git a/keyboards/crypt_macro/config.h b/keyboards/crypt_macro/config.h
index 97ea6e4619d..665340e7af2 100644
--- a/keyboards/crypt_macro/config.h
+++ b/keyboards/crypt_macro/config.h
@@ -17,15 +17,6 @@ along with this program. If not, see .
#pragma once
-
-#define MATRIX_ROWS 2
-#define MATRIX_COLS 3
-
-#define DIRECT_PINS { \
- { B12, B6, B7 }, \
- { NO_PIN, B5, NO_PIN} \
-}
-
/* Ensure we jump to bootloader if the QK_BOOT keycode was pressed */
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
diff --git a/keyboards/crypt_macro/info.json b/keyboards/crypt_macro/info.json
index 6945fe7391e..910777b90c5 100644
--- a/keyboards/crypt_macro/info.json
+++ b/keyboards/crypt_macro/info.json
@@ -10,6 +10,12 @@
},
"processor": "STM32F072",
"bootloader": "stm32-dfu",
+ "matrix_pins": {
+ "direct": [
+ ["B12", "B6", "B7"],
+ [null, "B5", null]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":0.5, "y":1, "w":2}]
diff --git a/keyboards/dailycraft/owl8/config.h b/keyboards/dailycraft/owl8/config.h
index df93c2baafb..259efacb103 100644
--- a/keyboards/dailycraft/owl8/config.h
+++ b/keyboards/dailycraft/owl8/config.h
@@ -17,28 +17,6 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 16
-
-/*
- * 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 DIRECT_PINS { \
- { F4, F7, B3, B6, F5, F6, B1, B2, D4, C6, D7, E6, NO_PIN, NO_PIN, NO_PIN, NO_PIN } \
-}
-
-/* COL2ROW, ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
//#define LED_NUM_LOCK_PIN B0
//#define LED_CAPS_LOCK_PIN B1
//#define LED_SCROLL_LOCK_PIN B2
diff --git a/keyboards/dailycraft/owl8/info.json b/keyboards/dailycraft/owl8/info.json
index de88c712a77..02d503424db 100644
--- a/keyboards/dailycraft/owl8/info.json
+++ b/keyboards/dailycraft/owl8/info.json
@@ -10,6 +10,11 @@
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
+ "matrix_pins": {
+ "direct": [
+ ["F4", "F7", "B3", "B6", "F5", "F6", "B1", "B2", "D4", "C6", "D7", "E6", null, null, null, null]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/dailycraft/stickey4/config.h b/keyboards/dailycraft/stickey4/config.h
index 54ee0d965b0..259efacb103 100644
--- a/keyboards/dailycraft/stickey4/config.h
+++ b/keyboards/dailycraft/stickey4/config.h
@@ -17,28 +17,6 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 8
-
-/*
- * 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 DIRECT_PINS { \
- { D4, C6, D7, E6, NO_PIN, NO_PIN, NO_PIN, NO_PIN } \
-}
-
-/* COL2ROW, ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
//#define LED_NUM_LOCK_PIN B0
//#define LED_CAPS_LOCK_PIN B1
//#define LED_SCROLL_LOCK_PIN B2
diff --git a/keyboards/dailycraft/stickey4/info.json b/keyboards/dailycraft/stickey4/info.json
index bbe43f8b132..95d3539456d 100644
--- a/keyboards/dailycraft/stickey4/info.json
+++ b/keyboards/dailycraft/stickey4/info.json
@@ -10,6 +10,11 @@
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
+ "matrix_pins": {
+ "direct": [
+ ["D4", "C6", "D7", "E6", null, null, null, null]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/dekunukem/duckypad/config.h b/keyboards/dekunukem/duckypad/config.h
index 6b6bd144451..cbf99d1f5d7 100644
--- a/keyboards/dekunukem/duckypad/config.h
+++ b/keyboards/dekunukem/duckypad/config.h
@@ -20,12 +20,6 @@ along with this program. If not, see .
#pragma once
-
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 17
-
-#define DIRECT_PINS {{ B13, B14, B15, A8, A15, B3, B4, B5, B6, B7, C13, C14, C15, F0, F1, A1, A2 }}
-
#define RGB_DI_PIN A10
#define RGBLED_NUM 15
#define RGB_MATRIX_LED_COUNT 15
diff --git a/keyboards/dekunukem/duckypad/info.json b/keyboards/dekunukem/duckypad/info.json
index fa31c1df22d..06c27270805 100644
--- a/keyboards/dekunukem/duckypad/info.json
+++ b/keyboards/dekunukem/duckypad/info.json
@@ -10,6 +10,11 @@
},
"processor": "STM32F072",
"bootloader": "stm32-dfu",
+ "matrix_pins": {
+ "direct": [
+ ["B13", "B14", "B15", "A8", "A15", "B3", "B4", "B5", "B6", "B7", "C13", "C14", "C15", "F0", "F1", "A1", "A2"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ferris/sweep/config.h b/keyboards/ferris/sweep/config.h
index 789211e4618..d59c8bb4144 100644
--- a/keyboards/ferris/sweep/config.h
+++ b/keyboards/ferris/sweep/config.h
@@ -19,25 +19,6 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 8
-#define MATRIX_COLS 5
-
-#define DIRECT_PINS { \
- { E6, F7, F6, F5, F4 }, \
- { B1, B3, B2, B6, D3 }, \
- { D1, D0, D4, C6, D7 }, \
- { B4, B5, NO_PIN, NO_PIN, NO_PIN } \
-}
-
-#define DIRECT_PINS_RIGHT { \
- { F4, F5, F6, F7, E6 }, \
- { D3, B6, B2, B3, B1 }, \
- { D7, C6, D4, D0, D1 }, \
- { B5, B4, NO_PIN, NO_PIN, NO_PIN } \
-}
-
/* serial.c configuration for split keyboard */
#define SOFT_SERIAL_PIN D2
diff --git a/keyboards/ferris/sweep/info.json b/keyboards/ferris/sweep/info.json
index b906014d6fd..7174eb52b4d 100644
--- a/keyboards/ferris/sweep/info.json
+++ b/keyboards/ferris/sweep/info.json
@@ -7,5 +7,25 @@
"device_version": "0.0.1"
},
"processor": "atmega32u4",
- "bootloader": "caterina"
+ "bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["E6", "F7", "F6", "F5", "F4"],
+ ["B1", "B3", "B2", "B6", "D3"],
+ ["D1", "D0", "D4", "C6", "D7"],
+ ["B4", "B5", null, null, null]
+ ]
+ },
+ "split": {
+ "matrix_pins": {
+ "right": {
+ "direct": [
+ ["F4", "F5", "F6", "F7", "E6"],
+ ["D3", "B6", "B2", "B3", "B1"],
+ ["D7", "C6", "D4", "D0", "D1"],
+ ["B5", "B4", null, null, null]
+ ]
+ }
+ }
+ }
}
diff --git a/keyboards/geekboards/macropad_v2/config.h b/keyboards/geekboards/macropad_v2/config.h
index ec6cc2949e6..eb9850804f9 100644
--- a/keyboards/geekboards/macropad_v2/config.h
+++ b/keyboards/geekboards/macropad_v2/config.h
@@ -14,12 +14,6 @@
* along with this program. If not, see .
*/
-/* key matrix size */
-#define MATRIX_ROWS 2
-#define MATRIX_COLS 4
-
-#define DIRECT_PINS {{B13, B15, B3, B5}, {B12, B14, A13, B7}}
-
#define RGBLED_NUM 42
#define RGB_MATRIX_LED_COUNT 42
#define RGB_DI_PIN A7
diff --git a/keyboards/geekboards/macropad_v2/info.json b/keyboards/geekboards/macropad_v2/info.json
index 2a18038e4f8..b84877a8dcb 100644
--- a/keyboards/geekboards/macropad_v2/info.json
+++ b/keyboards/geekboards/macropad_v2/info.json
@@ -10,6 +10,12 @@
},
"processor": "STM32F072",
"bootloader": "stm32-dfu",
+ "matrix_pins": {
+ "direct": [
+ ["B13", "B15", "B3", "B5"],
+ ["B12", "B14", "A13", "B7"]
+ ]
+ },
"debounce": 3,
"layouts": {
"LAYOUT_ortho_2x4": {
diff --git a/keyboards/handwired/aball/config.h b/keyboards/handwired/aball/config.h
index 32d16d82f9b..cbe0c8b33e8 100644
--- a/keyboards/handwired/aball/config.h
+++ b/keyboards/handwired/aball/config.h
@@ -17,12 +17,5 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 1
-
-#define DIRECT_PINS {{NO_PIN}}
-
#define ADNS9800_CS_PIN F7
#define POINTING_DEVICE_INVERT_X
diff --git a/keyboards/handwired/aball/info.json b/keyboards/handwired/aball/info.json
index cb34aa70345..84d277c1363 100644
--- a/keyboards/handwired/aball/info.json
+++ b/keyboards/handwired/aball/info.json
@@ -10,6 +10,11 @@
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
+ "matrix_pins": {
+ "direct": [
+ [null]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/bdn9_ble/config.h b/keyboards/handwired/bdn9_ble/config.h
index 32d082a00bb..2dc8bb53274 100644
--- a/keyboards/handwired/bdn9_ble/config.h
+++ b/keyboards/handwired/bdn9_ble/config.h
@@ -17,18 +17,6 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 3
-#define MATRIX_COLS 3
-
-/* Keyboard Matrix Assignments */
-#define DIRECT_PINS { \
- { D1, D0, C6 }, \
- { D7, B5, B6 }, \
- { B7, D6, F7 } \
-}
-
#define BACKLIGHT_PIN F6
#define BACKLIGHT_LEVELS 5
diff --git a/keyboards/handwired/bdn9_ble/info.json b/keyboards/handwired/bdn9_ble/info.json
index 3d37d12d756..359939713ae 100644
--- a/keyboards/handwired/bdn9_ble/info.json
+++ b/keyboards/handwired/bdn9_ble/info.json
@@ -10,6 +10,13 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["D1", "D0", "C6"],
+ ["D7", "B5", "B6"],
+ ["B7", "D6", "F7"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/bento/rev1/config.h b/keyboards/handwired/bento/rev1/config.h
index 995a6e42399..497a2deb16c 100644
--- a/keyboards/handwired/bento/rev1/config.h
+++ b/keyboards/handwired/bento/rev1/config.h
@@ -16,17 +16,6 @@
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 2
-#define MATRIX_COLS 3
-
-/* Keyboard Matrix Assignments */
-#define DIRECT_PINS { \
- { D7, B1, D2 }, \
- { E6, B4, B2 } \
-}
-
#define ENCODERS_PAD_A { D1 }
#define ENCODERS_PAD_B { D0 }
diff --git a/keyboards/handwired/bento/rev1/info.json b/keyboards/handwired/bento/rev1/info.json
index 2f09b8820c4..2b3012b399f 100644
--- a/keyboards/handwired/bento/rev1/info.json
+++ b/keyboards/handwired/bento/rev1/info.json
@@ -10,6 +10,12 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["D7", "B1", "D2"],
+ ["E6", "B4", "B2"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/dc/mc/001/config.h b/keyboards/handwired/dc/mc/001/config.h
index 9f381ca7989..ecc1bc9c52d 100644
--- a/keyboards/handwired/dc/mc/001/config.h
+++ b/keyboards/handwired/dc/mc/001/config.h
@@ -17,19 +17,6 @@ along with this program. If not, see .
#pragma once
-
-/*
- BUTTON_MUTE = _BV(4),
- BUTTON_STOP = _BV(0),
- BUTTON_TRACK_PREVIOUS = _BV(1),
- BUTTON_TRACK_NEXT = _BV(2),
- BUTTON_PLAY_PAUSE = _BV(3),
-*/
-#define DIRECT_PINS \
- { \
- { B4, B0, B1, B2, B3 } \
- }
-
/*
RE_CHANNEL_A = _BV(6),
RE_CHANNEL_B = _BV(5),
diff --git a/keyboards/handwired/dc/mc/001/info.json b/keyboards/handwired/dc/mc/001/info.json
index 114c0f2f35d..2bcd5ffd925 100644
--- a/keyboards/handwired/dc/mc/001/info.json
+++ b/keyboards/handwired/dc/mc/001/info.json
@@ -10,6 +10,11 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["B4", "B0", "B1", "B2", "B3"]
+ ]
+ },
"debounce": 50,
"layouts": {
"LAYOUT": {
diff --git a/keyboards/handwired/lemonpad/config.h b/keyboards/handwired/lemonpad/config.h
index 2d978f89316..d1e992c215b 100644
--- a/keyboards/handwired/lemonpad/config.h
+++ b/keyboards/handwired/lemonpad/config.h
@@ -16,27 +16,6 @@
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 2
-#define MATRIX_COLS 3
-
-/*
- * 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 DIRECT_PINS { \
- { E6, D7, C6 }, \
- { B4, B5, D4 } \
-}
-
//#define RGB_DI_PIN E2
//#ifdef RGB_DI_PIN
//# define RGBLED_NUM 16
diff --git a/keyboards/handwired/lemonpad/info.json b/keyboards/handwired/lemonpad/info.json
index 40e3296fd29..9cbcf4f4f7b 100644
--- a/keyboards/handwired/lemonpad/info.json
+++ b/keyboards/handwired/lemonpad/info.json
@@ -10,6 +10,12 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["E6", "D7", "C6"],
+ ["B4", "B5", "D4"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/stream_cheap/2x3/config.h b/keyboards/handwired/stream_cheap/2x3/config.h
index 1ac58c88de1..5f360813239 100644
--- a/keyboards/handwired/stream_cheap/2x3/config.h
+++ b/keyboards/handwired/stream_cheap/2x3/config.h
@@ -1,13 +1,5 @@
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 2
-#define MATRIX_COLS 3
-
-/* define direct pins used */
-#define DIRECT_PINS { { D1,C6,B4}, { D0,D4,D7} }
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
diff --git a/keyboards/handwired/stream_cheap/2x3/info.json b/keyboards/handwired/stream_cheap/2x3/info.json
index 8754226f1c8..555d9540aff 100644
--- a/keyboards/handwired/stream_cheap/2x3/info.json
+++ b/keyboards/handwired/stream_cheap/2x3/info.json
@@ -10,6 +10,12 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["D1", "C6", "B4"],
+ ["D0", "D4", "D7"]
+ ]
+ },
"community_layouts": ["ortho_2x3"],
"layouts": {
"LAYOUT_ortho_2x3": {
diff --git a/keyboards/handwired/stream_cheap/2x4/config.h b/keyboards/handwired/stream_cheap/2x4/config.h
index 65701e8d49b..5f360813239 100644
--- a/keyboards/handwired/stream_cheap/2x4/config.h
+++ b/keyboards/handwired/stream_cheap/2x4/config.h
@@ -1,16 +1,5 @@
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 2
-#define MATRIX_COLS 4
-
-/* define direct pins used */
-#define DIRECT_PINS \
- { \
- {D1, D0, D4, C6}, { D7, E6, B4, B5 } \
- }
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
diff --git a/keyboards/handwired/stream_cheap/2x4/info.json b/keyboards/handwired/stream_cheap/2x4/info.json
index ae7e361a4d1..d298a30c145 100644
--- a/keyboards/handwired/stream_cheap/2x4/info.json
+++ b/keyboards/handwired/stream_cheap/2x4/info.json
@@ -10,6 +10,12 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["D1", "D0", "D4", "C6"],
+ ["D7", "E6", "B4", "B5"]
+ ]
+ },
"layouts": {
"LAYOUT_ortho_2x4": {
"layout": [
diff --git a/keyboards/handwired/stream_cheap/2x5/config.h b/keyboards/handwired/stream_cheap/2x5/config.h
index f33fc0f7c23..5f360813239 100644
--- a/keyboards/handwired/stream_cheap/2x5/config.h
+++ b/keyboards/handwired/stream_cheap/2x5/config.h
@@ -1,13 +1,5 @@
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 2
-#define MATRIX_COLS 5
-
-/* define direct pins used */
-#define DIRECT_PINS { { D1,C6,B4,B5,B2}, { D0,D4,D7,E6,B6} }
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
diff --git a/keyboards/handwired/stream_cheap/2x5/info.json b/keyboards/handwired/stream_cheap/2x5/info.json
index b8a4623b64d..3a81177f317 100644
--- a/keyboards/handwired/stream_cheap/2x5/info.json
+++ b/keyboards/handwired/stream_cheap/2x5/info.json
@@ -10,6 +10,12 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["D1", "C6", "B4", "B5", "B2"],
+ ["D0", "D4", "D7", "E6", "B6"]
+ ]
+ },
"layouts": {
"LAYOUT_ortho_2x5": {
"layout": [
diff --git a/keyboards/ianklug/grooveboard/config.h b/keyboards/ianklug/grooveboard/config.h
index 1a480db11e2..d2bd499e0d9 100644
--- a/keyboards/ianklug/grooveboard/config.h
+++ b/keyboards/ianklug/grooveboard/config.h
@@ -17,30 +17,6 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 4
-
-/*
- * 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 { D0, D5 }
-//#define MATRIX_COL_PINS { F1, F0, B0 }
-#define DIRECT_PINS { \
- { F7, F6, D1, D2 } \
-}
-
-/* COL2ROW, ROW2COL */
-//#define DIODE_DIRECTION COL2ROW
-
//#define LED_NUM_LOCK_PIN B0
//#define LED_CAPS_LOCK_PIN B1
//#define LED_SCROLL_LOCK_PIN B2
diff --git a/keyboards/ianklug/grooveboard/info.json b/keyboards/ianklug/grooveboard/info.json
index c4bd7ab01fa..a8855140712 100644
--- a/keyboards/ianklug/grooveboard/info.json
+++ b/keyboards/ianklug/grooveboard/info.json
@@ -10,6 +10,11 @@
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
+ "matrix_pins": {
+ "direct": [
+ ["F7", "F6", "D1", "D2"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kb_elmo/isolation/config.h b/keyboards/kb_elmo/isolation/config.h
index eb3f40ba79e..4aeb5eaa000 100644
--- a/keyboards/kb_elmo/isolation/config.h
+++ b/keyboards/kb_elmo/isolation/config.h
@@ -17,14 +17,6 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 1
-
-/* direct key pin */
-#define DIRECT_PINS {{ B0 }}
-
/* RGB backlight */
#define RGB_DI_PIN B2
#ifdef RGB_DI_PIN
diff --git a/keyboards/kb_elmo/isolation/info.json b/keyboards/kb_elmo/isolation/info.json
index ef7fb5a14e3..262b12056de 100644
--- a/keyboards/kb_elmo/isolation/info.json
+++ b/keyboards/kb_elmo/isolation/info.json
@@ -10,6 +10,11 @@
},
"processor": "atmega328p",
"bootloader": "usbasploader",
+ "matrix_pins": {
+ "direct": [
+ ["B0"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/keebio/bamfk1/config.h b/keyboards/keebio/bamfk1/config.h
index 6836443389c..de8b594cec1 100644
--- a/keyboards/keebio/bamfk1/config.h
+++ b/keyboards/keebio/bamfk1/config.h
@@ -3,19 +3,6 @@
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 2
-#define MATRIX_COLS 4
-
-/*
- * Keyboard Matrix Assignments
- */
-
-#define DIRECT_PINS { \
- { E6, B6, D6, NO_PIN }, \
- { NO_PIN, NO_PIN, NO_PIN, NO_PIN } \
-}
#define AUDIO_PIN C6
#ifdef AUDIO_ENABLE
# define STARTUP_SONG SONG(STARTUP_SOUND)
diff --git a/keyboards/keebio/bamfk1/info.json b/keyboards/keebio/bamfk1/info.json
index fb16f585bb9..9390f7d56f4 100644
--- a/keyboards/keebio/bamfk1/info.json
+++ b/keyboards/keebio/bamfk1/info.json
@@ -10,6 +10,12 @@
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
+ "matrix_pins": {
+ "direct": [
+ ["E6", "B6", "D6", null],
+ [null, null, null, null]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/keebio/bdn9/rev1/config.h b/keyboards/keebio/bdn9/rev1/config.h
index f075302e871..d34d9756f9c 100644
--- a/keyboards/keebio/bdn9/rev1/config.h
+++ b/keyboards/keebio/bdn9/rev1/config.h
@@ -17,18 +17,6 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 3
-#define MATRIX_COLS 3
-
-/* Keyboard Matrix Assignments */
-#define DIRECT_PINS { \
- { D2, D4, F4 }, \
- { D7, B1, B3 }, \
- { E6, B4, B2 } \
-}
-
#define ENCODERS_PAD_A { D0, F6, B6 }
#define ENCODERS_PAD_B { D1, F5, F7 }
diff --git a/keyboards/keebio/bdn9/rev1/info.json b/keyboards/keebio/bdn9/rev1/info.json
index a308d1c87c5..e5dea502606 100644
--- a/keyboards/keebio/bdn9/rev1/info.json
+++ b/keyboards/keebio/bdn9/rev1/info.json
@@ -5,5 +5,12 @@
"device_version": "1.0.0"
},
"processor": "atmega32u4",
- "bootloader": "caterina"
+ "bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["D2", "D4", "F4"],
+ ["D7", "B1", "B3"],
+ ["E6", "B4", "B2"]
+ ]
+ }
}
diff --git a/keyboards/keebio/bdn9/rev2/config.h b/keyboards/keebio/bdn9/rev2/config.h
index 7a7f356a2ee..f30de7e1978 100644
--- a/keyboards/keebio/bdn9/rev2/config.h
+++ b/keyboards/keebio/bdn9/rev2/config.h
@@ -17,18 +17,6 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 3
-#define MATRIX_COLS 3
-
-/* Keyboard Matrix Assignments */
-#define DIRECT_PINS { \
- { B12, B5, B6 }, \
- { B14, B4, B7 }, \
- { A3, F1, F0 } \
-}
-
// Left, Right, Middle
#define ENCODERS_PAD_A { A8, B3, A10 }
#define ENCODERS_PAD_B { A4, A15, A9 }
diff --git a/keyboards/keebio/bdn9/rev2/info.json b/keyboards/keebio/bdn9/rev2/info.json
index 04d22a19365..24eebef1a8f 100644
--- a/keyboards/keebio/bdn9/rev2/info.json
+++ b/keyboards/keebio/bdn9/rev2/info.json
@@ -5,5 +5,12 @@
"device_version": "2.0.0"
},
"processor": "STM32F072",
- "bootloader": "stm32-dfu"
+ "bootloader": "stm32-dfu",
+ "matrix_pins": {
+ "direct": [
+ ["B12", "B5", "B6"],
+ ["B14", "B4", "B7"],
+ ["A3", "F1", "F0"]
+ ]
+ }
}
diff --git a/keyboards/keebio/choconum/config.h b/keyboards/keebio/choconum/config.h
index 9419fea3cf1..38e745515ab 100644
--- a/keyboards/keebio/choconum/config.h
+++ b/keyboards/keebio/choconum/config.h
@@ -17,21 +17,6 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 4
-#define DIRECT_PINS { \
- { B2, B10, B3, B4 }, \
- { B1, B11, A15, B5 }, \
- { B0, A5, B7, F0 }, \
- { A7, A6, B8, B6 }, \
- { A4, A3, B9, F1 } \
-}
-
-/* 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 */
diff --git a/keyboards/keebio/choconum/info.json b/keyboards/keebio/choconum/info.json
index f92da2ad137..b373df48508 100644
--- a/keyboards/keebio/choconum/info.json
+++ b/keyboards/keebio/choconum/info.json
@@ -10,6 +10,15 @@
},
"processor": "STM32F072",
"bootloader": "stm32-dfu",
+ "matrix_pins": {
+ "direct": [
+ ["B2", "B10", "B3", "B4"],
+ ["B1", "B11", "A15", "B5"],
+ ["B0", "A5", "B7", "F0"],
+ ["A7", "A6", "B8", "B6"],
+ ["A4", "A3", "B9", "F1"]
+ ]
+ },
"community_layouts": ["ortho_5x4", "numpad_5x4"],
"layouts": {
"LAYOUT_numpad_5x4": {
diff --git a/keyboards/keebio/stick/config.h b/keyboards/keebio/stick/config.h
index bc4e214c20e..807383befc8 100644
--- a/keyboards/keebio/stick/config.h
+++ b/keyboards/keebio/stick/config.h
@@ -17,16 +17,6 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 12
-
-/* key matrix pins */
-#define DIRECT_PINS { \
- { F4, B6, B5, B4, E6, D7, F6, F7, B1, B3, B2, F5 } \
-}
-
#define ENCODERS_PAD_A { D1, D4 }
#define ENCODERS_PAD_B { D0, C6 }
@@ -103,7 +93,4 @@ along with this program. If not, see .
# endif
#endif
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
#define TAPPING_TERM 200
diff --git a/keyboards/keebio/stick/info.json b/keyboards/keebio/stick/info.json
index c247e3ae990..ff91ee9f243 100644
--- a/keyboards/keebio/stick/info.json
+++ b/keyboards/keebio/stick/info.json
@@ -10,6 +10,11 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["F4", "B6", "B5", "B4", "E6", "D7", "F6", "F7", "B1", "B3", "B2", "F5"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/keebio/tukey/config.h b/keyboards/keebio/tukey/config.h
index 79e8b254b36..b62aef8a099 100644
--- a/keyboards/keebio/tukey/config.h
+++ b/keyboards/keebio/tukey/config.h
@@ -17,17 +17,6 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 2
-
-/* Keyboard Matrix Assignments */
-#define DIRECT_PINS { { D4, F6 } }
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
#define RGB_DI_PIN D3
#ifdef RGB_DI_PIN
#define RGBLED_NUM 8
diff --git a/keyboards/keebio/tukey/info.json b/keyboards/keebio/tukey/info.json
index 27a5159c0e3..2be3e55e704 100644
--- a/keyboards/keebio/tukey/info.json
+++ b/keyboards/keebio/tukey/info.json
@@ -10,6 +10,11 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["D4", "F6"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/keyhive/uno/rev1/config.h b/keyboards/keyhive/uno/rev1/config.h
index 1d5b265adef..7c5e60fdc8b 100644
--- a/keyboards/keyhive/uno/rev1/config.h
+++ b/keyboards/keyhive/uno/rev1/config.h
@@ -18,15 +18,6 @@
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-/* key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 1
-
-/* Uno default pinout */
-#define DIRECT_PINS { \
- { B6 } \
-}
-
#ifdef RGBLIGHT_ENABLE
#define RGB_DI_PIN F6
#define RGBLED_NUM 1
diff --git a/keyboards/keyhive/uno/rev1/info.json b/keyboards/keyhive/uno/rev1/info.json
index 6038321e527..2fc258ee42a 100644
--- a/keyboards/keyhive/uno/rev1/info.json
+++ b/keyboards/keyhive/uno/rev1/info.json
@@ -4,5 +4,10 @@
"device_version": "0.0.1"
},
"processor": "atmega32u4",
- "bootloader": "caterina"
+ "bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["B6"]
+ ]
+ }
}
diff --git a/keyboards/keyhive/uno/rev2/config.h b/keyboards/keyhive/uno/rev2/config.h
index 1a03c19eadf..b9e3a702861 100644
--- a/keyboards/keyhive/uno/rev2/config.h
+++ b/keyboards/keyhive/uno/rev2/config.h
@@ -22,15 +22,6 @@
#define ENCODERS_PAD_A { B2 }
#define ENCODERS_PAD_B { B3 }
-/* key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 1
-
-/* Uno default pinout */
-#define DIRECT_PINS { \
- { D0 } \
-}
-
#ifdef RGBLIGHT_ENABLE
#define RGB_DI_PIN D1
#define RGBLED_NUM 1
diff --git a/keyboards/keyhive/uno/rev2/info.json b/keyboards/keyhive/uno/rev2/info.json
index 811d052ac3f..2ea14e8aeb7 100644
--- a/keyboards/keyhive/uno/rev2/info.json
+++ b/keyboards/keyhive/uno/rev2/info.json
@@ -4,5 +4,10 @@
"device_version": "0.0.2"
},
"processor": "atmega32u4",
- "bootloader": "caterina"
+ "bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["D0"]
+ ]
+ }
}
diff --git a/keyboards/ktec/staryu/config.h b/keyboards/ktec/staryu/config.h
index 3b0cb8f330a..1826763cbfa 100755
--- a/keyboards/ktec/staryu/config.h
+++ b/keyboards/ktec/staryu/config.h
@@ -16,17 +16,6 @@ along with this program. If not, see .
*/
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 2
-#define MATRIX_COLS 3
-
-/* key matrix pins */
-#define DIRECT_PINS { \
- { NO_PIN, D0, D1 }, \
- { D4, D3, D2 }, \
-}
-
#define RGB_DI_PIN C6
#define RGBLED_NUM 1 // Number of LEDs
#define RGBLIGHT_EFFECT_BREATHING
diff --git a/keyboards/ktec/staryu/info.json b/keyboards/ktec/staryu/info.json
index 392610c98ae..e222923a232 100644
--- a/keyboards/ktec/staryu/info.json
+++ b/keyboards/ktec/staryu/info.json
@@ -10,6 +10,12 @@
},
"processor": "atmega32u2",
"bootloader": "lufa-dfu",
+ "matrix_pins": {
+ "direct": [
+ [null, "D0", "D1"],
+ ["D4", "D3", "D2"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":1, "y":0}, {"x":2, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}]
diff --git a/keyboards/leafcutterlabs/bigknob/config.h b/keyboards/leafcutterlabs/bigknob/config.h
index 13a33aaabc0..8a239109565 100644
--- a/keyboards/leafcutterlabs/bigknob/config.h
+++ b/keyboards/leafcutterlabs/bigknob/config.h
@@ -17,28 +17,6 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 5
-
-/*
- * 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)
- * NO_DIODE = switches are directly connected to AVR pins
- *
-*/
-
-// Srating with closest to USB port
-#define DIRECT_PINS { \
- { B7, D4, D6, F6, F7} \
-}
-
/* rotary encoder 1,2,3 closest to usb port is 0*/
#define ENCODERS_PAD_A { D0}
#define ENCODERS_PAD_B { D2}
diff --git a/keyboards/leafcutterlabs/bigknob/info.json b/keyboards/leafcutterlabs/bigknob/info.json
index 5933c6301f1..ac8f8077d3c 100644
--- a/keyboards/leafcutterlabs/bigknob/info.json
+++ b/keyboards/leafcutterlabs/bigknob/info.json
@@ -10,6 +10,11 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["B7", "D4", "D6", "F6", "F7"]
+ ]
+ },
"layouts": {
"LAYOUT_ortho_1x5": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}]
diff --git a/keyboards/littlealby/mute/config.h b/keyboards/littlealby/mute/config.h
index fa6ee15f1c4..343830cf87a 100644
--- a/keyboards/littlealby/mute/config.h
+++ b/keyboards/littlealby/mute/config.h
@@ -17,19 +17,6 @@
#define USB_MAX_POWER_CONSUMPTION 100
-/* key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 1
-
-/* Default pinout */
-/* See arduino micro pinout: https://content.arduino.cc/assets/Pinout-Micro_latest.png
- * for pins e.g.
- * PB5 = digital pin 9 / analog pin 9
- */
-#define DIRECT_PINS { \
- {B5} \
-}
-
#ifdef RGBLIGHT_ENABLE
#define RGB_DI_PIN B6
#define RGBLED_NUM 1
diff --git a/keyboards/littlealby/mute/info.json b/keyboards/littlealby/mute/info.json
index 02348599e5d..ed6761b7a9f 100644
--- a/keyboards/littlealby/mute/info.json
+++ b/keyboards/littlealby/mute/info.json
@@ -10,6 +10,11 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["B5"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [ {"x": 0, "y": 0 }]
diff --git a/keyboards/macro3/config.h b/keyboards/macro3/config.h
index 81ff5f52232..714f796f48f 100644
--- a/keyboards/macro3/config.h
+++ b/keyboards/macro3/config.h
@@ -5,15 +5,5 @@
#pragma once
-/* key matrix size */
-#define MATRIX_ROWS 2
-#define MATRIX_COLS 4
-
-/* key matrix pins */
-#define DIRECT_PINS { \
- { D7, C6, D4, D1 }, \
- { B1, B4, B5, B3 } \
-}
-
#define ENCODERS_PAD_A { D2, F7 }
#define ENCODERS_PAD_B { D3, F6 }
diff --git a/keyboards/macro3/info.json b/keyboards/macro3/info.json
index 830abdb9e9c..d8479b2a00f 100644
--- a/keyboards/macro3/info.json
+++ b/keyboards/macro3/info.json
@@ -10,6 +10,12 @@
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
+ "matrix_pins": {
+ "direct": [
+ ["D7", "C6", "D4", "D1"],
+ ["B1", "B4", "B5", "B3"]
+ ]
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_ortho_2x4"
},
diff --git a/keyboards/makeymakey/config.h b/keyboards/makeymakey/config.h
index 07221e385a0..c1b43dc8349 100644
--- a/keyboards/makeymakey/config.h
+++ b/keyboards/makeymakey/config.h
@@ -16,18 +16,6 @@
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 3
-#define MATRIX_COLS 6
-
-/* Keyboard Matrix Assignments */
-#define DIRECT_PINS { \
- { D6, B4, C7, B1, E6, D7 }, \
- { C6, D4, D0, D1, D2, D2 }, \
- { F0, F1, F5, F5, F6, F7 } \
-}
-
/* LEDs Pins */
#define LED_PINS 5
#define LED_PINS_HW {B5, B6, B7, B3, B2}
diff --git a/keyboards/makeymakey/info.json b/keyboards/makeymakey/info.json
index f8c83898a40..c3114dd7446 100644
--- a/keyboards/makeymakey/info.json
+++ b/keyboards/makeymakey/info.json
@@ -10,6 +10,13 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["D6", "B4", "C7", "B1", "E6", "D7"],
+ ["C6", "D4", "D0", "D1", "D2", "D2"],
+ ["F0", "F1", "F5", "F5", "F6", "F7"]
+ ]
+ },
"debounce": 10,
"layouts": {
"LAYOUT": {
diff --git a/keyboards/miniaxe/config.h b/keyboards/miniaxe/config.h
index c8afd9e7526..daa0bc4d86d 100644
--- a/keyboards/miniaxe/config.h
+++ b/keyboards/miniaxe/config.h
@@ -17,34 +17,6 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 8
-#define MATRIX_COLS 5
-
-/*
- * 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)
- * NO_DIODE = switches are directly connected to AVR pins
- *
-*/
-// #define MATRIX_ROW_PINS { D0, D5 }
-// #define MATRIX_COL_PINS { F1, F0, B0 }
-#define DIRECT_PINS { \
- { F1, E6, B0, B2, B3 }, \
- { F5, F0, B1, B7, D2 }, \
- { F6, F7, C7, D5, D3 }, \
- { B5, C6, B6, NO_PIN, NO_PIN } \
-}
-
-/* COL2ROW, ROW2COL*/
-////#define DIODE_DIRECTION
-
/* Uncomment below if use underglow */
#define RGB_DI_PIN F4
#ifdef RGB_DI_PIN
diff --git a/keyboards/miniaxe/info.json b/keyboards/miniaxe/info.json
index 3c366ed6f28..a36e4469127 100644
--- a/keyboards/miniaxe/info.json
+++ b/keyboards/miniaxe/info.json
@@ -10,6 +10,14 @@
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
+ "matrix_pins": {
+ "direct": [
+ ["F1", "E6", "B0", "B2", "B3"],
+ ["F5", "F0", "B1", "B7", "D2"],
+ ["F6", "F7", "C7", "D5", "D3"],
+ ["B5", "C6", "B6", null, null]
+ ]
+ },
"community_layouts": ["split_3x5_3"],
"layouts": {
"LAYOUT_split_3x5_3": {
diff --git a/keyboards/minimacro5/config.h b/keyboards/minimacro5/config.h
index fd1028cb1c8..351fb8a5a5e 100644
--- a/keyboards/minimacro5/config.h
+++ b/keyboards/minimacro5/config.h
@@ -17,27 +17,6 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 5
-
-/*
- * 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)
- * NO_DIODE = switches are directly connected to AVR pins
- *
-*/
-// #define MATRIX_ROW_PINS { D0, D5 }
-// #define MATRIX_COL_PINS { F1, F0, B0 }
-#define DIRECT_PINS { \
- { F4, B6, B2, D7, B4 } \
-}
//speed for double tap
#define TAPPING_TERM 200
diff --git a/keyboards/minimacro5/info.json b/keyboards/minimacro5/info.json
index ad17e89c69f..1ecd8f7b8c7 100644
--- a/keyboards/minimacro5/info.json
+++ b/keyboards/minimacro5/info.json
@@ -10,6 +10,11 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["F4", "B6", "B2", "D7", "B4"]
+ ]
+ },
"layouts": {
"LAYOUT_ortho_1x5": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":5, "y":0}]
diff --git a/keyboards/mixi/config.h b/keyboards/mixi/config.h
index 63cc5f9da64..e6b2ef09611 100644
--- a/keyboards/mixi/config.h
+++ b/keyboards/mixi/config.h
@@ -1,17 +1,5 @@
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 3
-#define MATRIX_COLS 3
-
-/* Keyboard Matrix Assignments */
-#define DIRECT_PINS { \
- { D1, D4, F4 }, \
- { D0, B4, F5 }, \
- { C6, F7, B6 } \
-}
-
#define ENCODERS_PAD_A { D7, B1 }
#define ENCODERS_PAD_B { E6, B3 }
diff --git a/keyboards/mixi/info.json b/keyboards/mixi/info.json
index 17503123e35..cfc774bc2b4 100644
--- a/keyboards/mixi/info.json
+++ b/keyboards/mixi/info.json
@@ -10,6 +10,13 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["D1", "D4", "F4"],
+ ["D0", "B4", "F5"],
+ ["C6", "F7", "B6"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/novelkeys/nk1/config.h b/keyboards/novelkeys/nk1/config.h
index 88b9c7abb8a..c168aca4926 100644
--- a/keyboards/novelkeys/nk1/config.h
+++ b/keyboards/novelkeys/nk1/config.h
@@ -17,16 +17,6 @@
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 1
-
-/* Keyboard Matrix Assignments */
-#define DIRECT_PINS { \
- { D4 } \
-}
-
#define RGB_DI_PIN F0
#ifdef RGB_DI_PIN
#define RGBLED_NUM 9
diff --git a/keyboards/novelkeys/nk1/info.json b/keyboards/novelkeys/nk1/info.json
index 137608c978d..c9fa789b70d 100755
--- a/keyboards/novelkeys/nk1/info.json
+++ b/keyboards/novelkeys/nk1/info.json
@@ -10,6 +10,11 @@
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
+ "matrix_pins": {
+ "direct": [
+ ["D4"]
+ ]
+ },
"community_layouts": ["ortho_1x1"],
"layouts": {
"LAYOUT_ortho_1x1": {
diff --git a/keyboards/nullbitsco/scramble/v1/config.h b/keyboards/nullbitsco/scramble/v1/config.h
index 6f512db4c5c..6a7742ce878 100644
--- a/keyboards/nullbitsco/scramble/v1/config.h
+++ b/keyboards/nullbitsco/scramble/v1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 2
-#define MATRIX_COLS 3
-
-#define DIRECT_PINS {{D4,D5,B1}, {C3,C2,C1}}
-
/* Optional encoder pins */
#define ENCODERS_PAD_A { D6 }
#define ENCODERS_PAD_B { D7 }
diff --git a/keyboards/nullbitsco/scramble/v1/info.json b/keyboards/nullbitsco/scramble/v1/info.json
index 11307eba89f..0acb6993735 100644
--- a/keyboards/nullbitsco/scramble/v1/info.json
+++ b/keyboards/nullbitsco/scramble/v1/info.json
@@ -1,4 +1,10 @@
{
"processor": "atmega328p",
- "bootloader": "usbasploader"
+ "bootloader": "usbasploader",
+ "matrix_pins": {
+ "direct": [
+ ["D4", "D5", "B1"],
+ ["C3", "C2", "C1"]
+ ]
+ }
}
diff --git a/keyboards/nullbitsco/scramble/v2/config.h b/keyboards/nullbitsco/scramble/v2/config.h
index b4d7820aad3..dd2ae627496 100644
--- a/keyboards/nullbitsco/scramble/v2/config.h
+++ b/keyboards/nullbitsco/scramble/v2/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see .
#pragma once
-/* key matrix size */
-#define MATRIX_ROWS 2
-#define MATRIX_COLS 3
-
-#define DIRECT_PINS {{GP6,GP8,GP10}, {GP29,GP28,GP22}}
-
/* Optional encoder pins */
#define ENCODERS_PAD_A { GP24 }
#define ENCODERS_PAD_B { GP25 }
diff --git a/keyboards/nullbitsco/scramble/v2/info.json b/keyboards/nullbitsco/scramble/v2/info.json
index 87b7fcf7ecc..ba27823b360 100644
--- a/keyboards/nullbitsco/scramble/v2/info.json
+++ b/keyboards/nullbitsco/scramble/v2/info.json
@@ -1,4 +1,10 @@
{
"processor": "RP2040",
- "bootloader": "rp2040"
+ "bootloader": "rp2040",
+ "matrix_pins": {
+ "direct": [
+ ["GP6", "GP8", "GP10"],
+ ["GP29", "GP28", "GP22"]
+ ]
+ }
}
diff --git a/keyboards/obosob/steal_this_keyboard/config.h b/keyboards/obosob/steal_this_keyboard/config.h
index 1b61491402c..bf4064bd317 100644
--- a/keyboards/obosob/steal_this_keyboard/config.h
+++ b/keyboards/obosob/steal_this_keyboard/config.h
@@ -16,36 +16,6 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 8
-#define MATRIX_COLS 5
-
-/*
- * 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)
- * NO_DIODE = switches are directly connected to AVR pins
- *
-*/
-#define DIRECT_PINS { \
- { F4, F7, B2, D1, D7 }, \
- { F5, B1, B6, D0, E6 }, \
- { F6, B3, D3, D4, B4 }, \
- { C6, B5, NO_PIN, NO_PIN, NO_PIN } \
-}
-
-#define DIRECT_PINS_RIGHT { \
- { D7, D1, B2, F7, F4}, \
- { E6, D0, B6, B1, F5 }, \
- { B4, D4, D3, B3, F6 }, \
- { B5, C6, NO_PIN, NO_PIN, NO_PIN } \
-}
-
/* serial.c configuration for split keyboard */
#define SOFT_SERIAL_PIN D2
diff --git a/keyboards/obosob/steal_this_keyboard/info.json b/keyboards/obosob/steal_this_keyboard/info.json
index 1cba6142173..5a80a0b17c0 100644
--- a/keyboards/obosob/steal_this_keyboard/info.json
+++ b/keyboards/obosob/steal_this_keyboard/info.json
@@ -10,6 +10,26 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["F4", "F7", "B2", "D1", "D7"],
+ ["F5", "B1", "B6", "D0", "E6"],
+ ["F6", "B3", "D3", "D4", "B4"],
+ ["C6", "B5", null, null, null]
+ ]
+ },
+ "split": {
+ "matrix_pins": {
+ "right": {
+ "direct": [
+ ["D7", "D1", "B2", "F7", "F4"],
+ ["E6", "D0", "B6", "B1", "F5"],
+ ["B4", "D4", "D3", "B3", "F6"],
+ ["B5", "C6", null, null, null]
+ ]
+ }
+ }
+ },
"community_layouts": [
"split_3x5_2"
],
diff --git a/keyboards/peranekofactory/tone/rev1/config.h b/keyboards/peranekofactory/tone/rev1/config.h
index b7d4b469218..edf74052c50 100644
--- a/keyboards/peranekofactory/tone/rev1/config.h
+++ b/keyboards/peranekofactory/tone/rev1/config.h
@@ -17,29 +17,6 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 8
-
-/*
- * 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 DIRECT_PINS { \
- { D4, C6, D7, E6, F6, F7, B1, B3 } \
-}
-
-/* COL2ROW, ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
/* Rotary encoder define*/
#define ENCODERS_PAD_A { B5 }
#define ENCODERS_PAD_B { B4 }
diff --git a/keyboards/peranekofactory/tone/rev1/info.json b/keyboards/peranekofactory/tone/rev1/info.json
index a5ad8532b1b..16f1db03281 100644
--- a/keyboards/peranekofactory/tone/rev1/info.json
+++ b/keyboards/peranekofactory/tone/rev1/info.json
@@ -10,6 +10,11 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["D4", "C6", "D7", "E6", "F6", "F7", "B1", "B3"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}]
diff --git a/keyboards/peranekofactory/tone/rev2/config.h b/keyboards/peranekofactory/tone/rev2/config.h
index 93a5eb8145e..4068b9ed0e3 100644
--- a/keyboards/peranekofactory/tone/rev2/config.h
+++ b/keyboards/peranekofactory/tone/rev2/config.h
@@ -17,29 +17,6 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 8
-
-/*
- * 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 DIRECT_PINS { \
- { D4, C6, D7, E6, F6, F7, B1, B3 } \
-}
-
-/* COL2ROW, ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
/* Rotary encoder define*/
#define ENCODERS_PAD_A { B5 }
#define ENCODERS_PAD_B { B4 }
diff --git a/keyboards/peranekofactory/tone/rev2/info.json b/keyboards/peranekofactory/tone/rev2/info.json
index a5ad8532b1b..16f1db03281 100644
--- a/keyboards/peranekofactory/tone/rev2/info.json
+++ b/keyboards/peranekofactory/tone/rev2/info.json
@@ -10,6 +10,11 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["D4", "C6", "D7", "E6", "F6", "F7", "B1", "B3"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}]
diff --git a/keyboards/ploopyco/mouse/config.h b/keyboards/ploopyco/mouse/config.h
index e59a05ce301..2becbba7274 100644
--- a/keyboards/ploopyco/mouse/config.h
+++ b/keyboards/ploopyco/mouse/config.h
@@ -18,26 +18,6 @@
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 8
-
-/*
- * 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 DIRECT_PINS \
- { \
- { D4, D2, E6, B6, D7, C6, C7, B7 } \
- }
-
// These pins are not broken out, and cannot be used normally.
// They are set as output and pulled high, by default
#define UNUSABLE_PINS \
diff --git a/keyboards/ploopyco/mouse/info.json b/keyboards/ploopyco/mouse/info.json
index 3550c1d5a35..f9a3e32f411 100644
--- a/keyboards/ploopyco/mouse/info.json
+++ b/keyboards/ploopyco/mouse/info.json
@@ -10,6 +10,11 @@
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
+ "matrix_pins": {
+ "direct": [
+ ["D4", "D2", "E6", "B6", "D7", "C6", "C7", "B7"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ploopyco/trackball/rev1/config.h b/keyboards/ploopyco/trackball/rev1/config.h
index 3db085baf2c..35ab2153418 100644
--- a/keyboards/ploopyco/trackball/rev1/config.h
+++ b/keyboards/ploopyco/trackball/rev1/config.h
@@ -18,21 +18,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 DIRECT_PINS \
- { \
- { D4, D2, E6, B5, D7 } \
- }
-
// These pins are not broken out, and cannot be used normally.
// They are set as output and pulled high, by default
#define UNUSABLE_PINS \
diff --git a/keyboards/ploopyco/trackball/rev1/info.json b/keyboards/ploopyco/trackball/rev1/info.json
index 4369a041038..8e372e7c2b0 100644
--- a/keyboards/ploopyco/trackball/rev1/info.json
+++ b/keyboards/ploopyco/trackball/rev1/info.json
@@ -1,4 +1,9 @@
{
"processor": "atmega32u4",
- "bootloader": "caterina"
+ "bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["D4", "D2", "E6", "B5", "D7"]
+ ]
+ }
}
diff --git a/keyboards/ploopyco/trackball/rev1_005/config.h b/keyboards/ploopyco/trackball/rev1_005/config.h
index 321e3004d11..fcf51c4c1bf 100644
--- a/keyboards/ploopyco/trackball/rev1_005/config.h
+++ b/keyboards/ploopyco/trackball/rev1_005/config.h
@@ -18,21 +18,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 DIRECT_PINS \
- { \
- { D4, D2, E6, B6, D7 } \
- }
-
// These pins are not broken out, and cannot be used normally.
// They are set as output and pulled high, by default
#define UNUSABLE_PINS \
diff --git a/keyboards/ploopyco/trackball/rev1_005/info.json b/keyboards/ploopyco/trackball/rev1_005/info.json
index 042c41f34d6..b963f8842ab 100644
--- a/keyboards/ploopyco/trackball/rev1_005/info.json
+++ b/keyboards/ploopyco/trackball/rev1_005/info.json
@@ -1,4 +1,9 @@
{
"processor": "atmega32u4",
- "bootloader": "atmel-dfu"
+ "bootloader": "atmel-dfu",
+ "matrix_pins": {
+ "direct": [
+ ["D4", "D2", "E6", "B6", "D7"]
+ ]
+ }
}
diff --git a/keyboards/ploopyco/trackball_mini/rev1_001/config.h b/keyboards/ploopyco/trackball_mini/rev1_001/config.h
index d4c9d23bec5..485f8e3485e 100644
--- a/keyboards/ploopyco/trackball_mini/rev1_001/config.h
+++ b/keyboards/ploopyco/trackball_mini/rev1_001/config.h
@@ -19,21 +19,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 DIRECT_PINS \
- { \
- { D4, D2, E6, B6, D7 } \
- }
-
// These pins are not broken out, and cannot be used normally.
// They are set as output and pulled high, by default
#define UNUSABLE_PINS \
diff --git a/keyboards/ploopyco/trackball_mini/rev1_001/info.json b/keyboards/ploopyco/trackball_mini/rev1_001/info.json
new file mode 100644
index 00000000000..20c192f8691
--- /dev/null
+++ b/keyboards/ploopyco/trackball_mini/rev1_001/info.json
@@ -0,0 +1,7 @@
+{
+ "matrix_pins": {
+ "direct": [
+ ["D4", "D2", "E6", "B6", "D7"]
+ ]
+ }
+}
diff --git a/keyboards/ploopyco/trackball_mini/rev1_002/config.h b/keyboards/ploopyco/trackball_mini/rev1_002/config.h
index d4c9d23bec5..485f8e3485e 100644
--- a/keyboards/ploopyco/trackball_mini/rev1_002/config.h
+++ b/keyboards/ploopyco/trackball_mini/rev1_002/config.h
@@ -19,21 +19,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 DIRECT_PINS \
- { \
- { D4, D2, E6, B6, D7 } \
- }
-
// These pins are not broken out, and cannot be used normally.
// They are set as output and pulled high, by default
#define UNUSABLE_PINS \
diff --git a/keyboards/ploopyco/trackball_mini/rev1_002/info.json b/keyboards/ploopyco/trackball_mini/rev1_002/info.json
new file mode 100644
index 00000000000..20c192f8691
--- /dev/null
+++ b/keyboards/ploopyco/trackball_mini/rev1_002/info.json
@@ -0,0 +1,7 @@
+{
+ "matrix_pins": {
+ "direct": [
+ ["D4", "D2", "E6", "B6", "D7"]
+ ]
+ }
+}
diff --git a/keyboards/ploopyco/trackball_nano/rev1_001/config.h b/keyboards/ploopyco/trackball_nano/rev1_001/config.h
index 3bde88487a5..14fcb8ca953 100644
--- a/keyboards/ploopyco/trackball_nano/rev1_001/config.h
+++ b/keyboards/ploopyco/trackball_nano/rev1_001/config.h
@@ -19,18 +19,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 DIRECT_PINS {{NO_PIN}}
-
// These pins are not broken out, and cannot be used normally.
// They are set as output and pulled high, by default
#define UNUSABLE_PINS \
diff --git a/keyboards/ploopyco/trackball_nano/rev1_001/info.json b/keyboards/ploopyco/trackball_nano/rev1_001/info.json
new file mode 100644
index 00000000000..abf5f9fe74f
--- /dev/null
+++ b/keyboards/ploopyco/trackball_nano/rev1_001/info.json
@@ -0,0 +1,7 @@
+{
+ "matrix_pins": {
+ "direct": [
+ [null]
+ ]
+ }
+}
diff --git a/keyboards/ryanbaekr/rb1/config.h b/keyboards/ryanbaekr/rb1/config.h
index d6e311bb034..9024fa25d5b 100644
--- a/keyboards/ryanbaekr/rb1/config.h
+++ b/keyboards/ryanbaekr/rb1/config.h
@@ -17,16 +17,6 @@ along with this program. If not, see .
#pragma once
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * DIRECT: AVR pins used for keys
- *
- */
-#define DIRECT_PINS {{ B1 }}
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/ryanbaekr/rb1/info.json b/keyboards/ryanbaekr/rb1/info.json
index 47ee8c7d2bf..f610428f683 100644
--- a/keyboards/ryanbaekr/rb1/info.json
+++ b/keyboards/ryanbaekr/rb1/info.json
@@ -10,6 +10,11 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["B1"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/sendyyeah/pix/config.h b/keyboards/sendyyeah/pix/config.h
index 88242cd80ca..03b5e62bb55 100644
--- a/keyboards/sendyyeah/pix/config.h
+++ b/keyboards/sendyyeah/pix/config.h
@@ -16,19 +16,9 @@
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 5
-
#define OLED_FONT_H "keymaps/default/glcdfont.c"
#define OLED_TIMEOUT 600000 // Turn of after 10 minutes
-/* Keyboard Matrix Assignments */
-#define DIRECT_PINS { \
- { C6, D7, E6, B4, F6 }, \
-}
-
#define ENCODERS_PAD_A { B1 }
#define ENCODERS_PAD_B { B3 }
diff --git a/keyboards/sendyyeah/pix/info.json b/keyboards/sendyyeah/pix/info.json
index 62e387e16ba..d3e5b413a19 100644
--- a/keyboards/sendyyeah/pix/info.json
+++ b/keyboards/sendyyeah/pix/info.json
@@ -10,6 +10,11 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["C6", "D7", "E6", "B4", "F6"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/sergiopoverony/creator_pro/config.h b/keyboards/sergiopoverony/creator_pro/config.h
index 0f4ec182a46..08941df1ac8 100644
--- a/keyboards/sergiopoverony/creator_pro/config.h
+++ b/keyboards/sergiopoverony/creator_pro/config.h
@@ -16,16 +16,6 @@
#pragma once
-/* key matrix size pins */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 9
-#define DIRECT_PINS { \
- { D1, D4, C6, D7, \
- E6, \
- B2, B3, B1, F7 } \
-}
-
-
/*led layout indication pins*/
#define RED_LED D0
#define BLUE_LED B5
diff --git a/keyboards/sergiopoverony/creator_pro/info.json b/keyboards/sergiopoverony/creator_pro/info.json
index a59d0824fbc..5b7a061e246 100644
--- a/keyboards/sergiopoverony/creator_pro/info.json
+++ b/keyboards/sergiopoverony/creator_pro/info.json
@@ -10,6 +10,11 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["D1", "D4", "C6", "D7", "E6", "B2", "B3", "B1", "F7"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/spaceman/2_milk/config.h b/keyboards/spaceman/2_milk/config.h
index e631c03dffd..59ffda45c01 100644
--- a/keyboards/spaceman/2_milk/config.h
+++ b/keyboards/spaceman/2_milk/config.h
@@ -15,16 +15,6 @@
*/
#pragma once
-/* key matrix size */
-#define MATRIX_ROWS 2
-#define MATRIX_COLS 1
-
-/* Milk default pinout */
-#define DIRECT_PINS { \
- {D4}, \
- {C6} \
-}
-
#ifdef RGBLIGHT_ENABLE
#define RGB_DI_PIN B6
#define RGBLED_NUM 1
diff --git a/keyboards/spaceman/2_milk/info.json b/keyboards/spaceman/2_milk/info.json
index c7e4c944c70..c1f31a3ba7a 100644
--- a/keyboards/spaceman/2_milk/info.json
+++ b/keyboards/spaceman/2_milk/info.json
@@ -10,6 +10,12 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["D4"],
+ ["C6"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [ {"x": 0, "y": 0 }, {"x": 0, "y": 1 }]
diff --git a/keyboards/splitkb/zima/config.h b/keyboards/splitkb/zima/config.h
index c4782567ff0..777c56465f2 100644
--- a/keyboards/splitkb/zima/config.h
+++ b/keyboards/splitkb/zima/config.h
@@ -17,21 +17,6 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 4
-#define MATRIX_COLS 3
-
-/*
- * Keyboard Matrix Assignments
- */
-#define DIRECT_PINS { \
- { C6, D6, D5 }, \
- { C7, F7, D4 }, \
- { E6, F5, F6 }, \
- { F0, F1, F4 }, \
-}
-
#define ENCODERS_PAD_A { B4 }
#define ENCODERS_PAD_B { D7 }
diff --git a/keyboards/splitkb/zima/info.json b/keyboards/splitkb/zima/info.json
index 744efd5b764..a38404cc97f 100644
--- a/keyboards/splitkb/zima/info.json
+++ b/keyboards/splitkb/zima/info.json
@@ -10,6 +10,14 @@
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
+ "matrix_pins": {
+ "direct": [
+ ["C6", "D6", "D5"],
+ ["C7", "F7", "D4"],
+ ["E6", "F5", "F6"],
+ ["F0", "F1", "F4"]
+ ]
+ },
"layouts": {
"LAYOUT_ortho_4x3": {
"layout": [
diff --git a/keyboards/tominabox1/bigboy/config.h b/keyboards/tominabox1/bigboy/config.h
index e7b0d17fd75..70d1b76bea6 100755
--- a/keyboards/tominabox1/bigboy/config.h
+++ b/keyboards/tominabox1/bigboy/config.h
@@ -16,14 +16,6 @@
#pragma once
-
-/* key matrix size */
-#define DIRECT_PINS { \
- { D0, B1, B0 }, \
- { B7, B2, B3 } \
-}
-
-
#define ENCODERS_PAD_A { C6 }
#define ENCODERS_PAD_B { B6 }
#define ENCODER_RESOLUTION 2
diff --git a/keyboards/tominabox1/bigboy/info.json b/keyboards/tominabox1/bigboy/info.json
index 79150cd3c27..79cf08b39b4 100644
--- a/keyboards/tominabox1/bigboy/info.json
+++ b/keyboards/tominabox1/bigboy/info.json
@@ -10,6 +10,12 @@
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
+ "matrix_pins": {
+ "direct": [
+ ["D0", "B1", "B0"],
+ ["B7", "B2", "B3"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1, "y":0}, {"label":"0,2", "x":2, "y":0}, {"label":"1,0", "x":0, "y":1}, {"label":"1,1", "x":1, "y":1}, {"label":"1,2", "x":2, "y":1}]
diff --git a/keyboards/ungodly/nines/config.h b/keyboards/ungodly/nines/config.h
index 2375d9b63f5..85880e4e637 100644
--- a/keyboards/ungodly/nines/config.h
+++ b/keyboards/ungodly/nines/config.h
@@ -15,18 +15,6 @@
*/
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 3
-#define MATRIX_COLS 3
-
-/* Keyboard Matrix Assignments */
-#define DIRECT_PINS { \
- { F4, F5, F6 }, \
- { F7, B1, B3 }, \
- { B2, B6, B5 } \
-}
-
/* Rotary Encoder Assignments */
#define ENCODERS_PAD_A { C6, E6 }
#define ENCODERS_PAD_B { D7, B4 }
diff --git a/keyboards/ungodly/nines/info.json b/keyboards/ungodly/nines/info.json
index ee71e97cf50..1e7dabe367f 100644
--- a/keyboards/ungodly/nines/info.json
+++ b/keyboards/ungodly/nines/info.json
@@ -10,6 +10,13 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["F4", "F5", "F6"],
+ ["F7", "B1", "B3"],
+ ["B2", "B6", "B5"]
+ ]
+ },
"layouts": {
"LAYOUT_ortho_3x3": {
"layout": [
diff --git a/keyboards/winkeys/mini_winni/config.h b/keyboards/winkeys/mini_winni/config.h
index 05383c05a5f..36fc5c6200f 100644
--- a/keyboards/winkeys/mini_winni/config.h
+++ b/keyboards/winkeys/mini_winni/config.h
@@ -18,14 +18,6 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 2
-#define MATRIX_COLS 4
-
-/* key matrix pins */
-#define DIRECT_PINS { { F4, F5, B4, D7 }, { F6, F7, B6, B5 } }
-
#define RGB_DI_PIN E6
#define RGBLED_NUM 4
#define RGBLIGHT_EFFECT_BREATHING
diff --git a/keyboards/winkeys/mini_winni/info.json b/keyboards/winkeys/mini_winni/info.json
index 10c304db468..b3cba1658c8 100644
--- a/keyboards/winkeys/mini_winni/info.json
+++ b/keyboards/winkeys/mini_winni/info.json
@@ -9,6 +9,12 @@
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
+ "matrix_pins": {
+ "direct": [
+ ["F4", "F5", "B4", "D7"],
+ ["F6", "F7", "B6", "B5"]
+ ]
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}]
diff --git a/keyboards/winry/winry315/config.h b/keyboards/winry/winry315/config.h
index e43016f62b8..5d195be4327 100644
--- a/keyboards/winry/winry315/config.h
+++ b/keyboards/winry/winry315/config.h
@@ -3,18 +3,6 @@
#pragma once
-
-// Key matrix size.
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 24
-
-// Key pins (including encoder press switches).
-// The NO_PIN entries are reserved for encoder rotation mappings.
-#define DIRECT_PINS \
- { \
- { F4, C7, D4, D5, D1, F5, C6, D6, D3, D2, F6, B6, D7, B4, B5, B2, D0, E6, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN } \
- }
-
// clang-format off
// Encoder pins.
diff --git a/keyboards/winry/winry315/info.json b/keyboards/winry/winry315/info.json
index 7740c1a3e8c..5abc92a4557 100644
--- a/keyboards/winry/winry315/info.json
+++ b/keyboards/winry/winry315/info.json
@@ -10,6 +10,11 @@
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
+ "matrix_pins": {
+ "direct": [
+ ["F4", "C7", "D4", "D5", "D1", "F5", "C6", "D6", "D3", "D2", "F6", "B6", "D7", "B4", "B5", "B2", "D0", "E6", null, null, null, null, null, null]
+ ]
+ },
"layout_aliases": {
"LAYOUT_all": "LAYOUT_top"
},
diff --git a/keyboards/xiudi/xd002/config.h b/keyboards/xiudi/xd002/config.h
index fc84c89bf68..19f01664b2c 100644
--- a/keyboards/xiudi/xd002/config.h
+++ b/keyboards/xiudi/xd002/config.h
@@ -15,18 +15,6 @@
*/
#pragma once
-
-/* matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 2
-
-/*
- * Keyboard Matrix Assignments
- *
- * On this board we have direct connection: no diodes.
- */
-#define DIRECT_PINS {{ B0, B1 }}
-
#define RGBLED_NUM 2
#define RGB_DI_PIN B2
diff --git a/keyboards/xiudi/xd002/info.json b/keyboards/xiudi/xd002/info.json
index f06e823a885..4284b0548bc 100644
--- a/keyboards/xiudi/xd002/info.json
+++ b/keyboards/xiudi/xd002/info.json
@@ -8,6 +8,11 @@
"pid": "0x0202",
"device_version": "0.0.1"
},
+ "matrix_pins": {
+ "direct": [
+ ["B0", "B1"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/xiudi/xd004/info.json b/keyboards/xiudi/xd004/info.json
index 2dcbc92637f..77f57ce3221 100644
--- a/keyboards/xiudi/xd004/info.json
+++ b/keyboards/xiudi/xd004/info.json
@@ -9,6 +9,11 @@
},
"processor": "atmega16u2",
"bootloader": "atmel-dfu",
+ "matrix_pins": {
+ "direct": [
+ ["D3", "D0", "C4", "B4"]
+ ]
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"L", "x":0, "y":0}, {"label":"O", "x":1, "y":0}, {"label":"V", "x":2, "y":0}, {"label":"E", "x":3, "y":0}]
diff --git a/keyboards/xiudi/xd004/v1/config.h b/keyboards/xiudi/xd004/v1/config.h
index 9a1e233d327..0b4e44336cd 100644
--- a/keyboards/xiudi/xd004/v1/config.h
+++ b/keyboards/xiudi/xd004/v1/config.h
@@ -23,29 +23,11 @@ where some things are disabled to save space as well.
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 4
-
-/*
- * Keyboard Matrix Assignments
- *
- * On this board we have direct connection: no diodes.
- */
-#define DIRECT_PINS \
- { \
- { D3, D0, C4, B4 } \
- }
-
/* Backlight Setup */
// Looks like each backlight LED is connected to a single output, D5 is the one furtherst away from USB port
#define BACKLIGHT_PIN D5
#define BACKLIGHT_LEVELS 6
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
/* RGB Underglow
This will not be used, as RGBLIGHT_ENABLE is set to 'no' in rules.mk
We do not have enough space in the flash for this at the moment, maybe
diff --git a/keyboards/yatara/drink_me/config.h b/keyboards/yatara/drink_me/config.h
deleted file mode 100644
index 07deaad16ac..00000000000
--- a/keyboards/yatara/drink_me/config.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright 2020 Yatara
- *
- * 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 .
- */
-
-#pragma once
-
-
-/* Key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 4
-
-/* Pinout */
-#define DIRECT_PINS { \
- {B4, B5, B6, B7} \
-}
diff --git a/keyboards/yatara/drink_me/info.json b/keyboards/yatara/drink_me/info.json
index d1d979a4e34..3df62cf378f 100644
--- a/keyboards/yatara/drink_me/info.json
+++ b/keyboards/yatara/drink_me/info.json
@@ -10,6 +10,11 @@
},
"processor": "atmega32u2",
"bootloader": "atmel-dfu",
+ "matrix_pins": {
+ "direct": [
+ ["B4", "B5", "B6", "B7"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/yeehaw/config.h b/keyboards/yeehaw/config.h
index b763558f36e..b14cd03b1b2 100644
--- a/keyboards/yeehaw/config.h
+++ b/keyboards/yeehaw/config.h
@@ -15,16 +15,6 @@
*/
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 14
-
-/* Keyboard Matrix Assignments */
-#define DIRECT_PINS { \
-{ D2, D4, C6, E6, F5, B1, D3, D7, B4, F6, B3, B5, F7, F4 } \
-}
-
#define ENCODERS_PAD_A { D1 }
#define ENCODERS_PAD_B { D0 }
diff --git a/keyboards/yeehaw/info.json b/keyboards/yeehaw/info.json
index 30a0b1f6cbd..98a98cac914 100644
--- a/keyboards/yeehaw/info.json
+++ b/keyboards/yeehaw/info.json
@@ -10,6 +10,11 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["D2", "D4", "C6", "E6", "F5", "B1", "D3", "D7", "B4", "F6", "B3", "B5", "F7", "F4"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"VOLU", "x":1, "y":0}, {"label":"VOLD", "x":1, "y":1}, {"label":"M1", "x":2, "y":1.5}, {"label":"UP", "x":3, "y":1.5}, {"label":"MNXT", "x":1, "y":2}, {"label":"M2", "x":4, "y":2}, {"label":"LEFT", "x":2, "y":2.5}, {"label":"DOWN", "x":3, "y":2.5}, {"label":"MO(1)", "x":0, "y":2.75}, {"label":"MPRV", "x":1, "y":3}, {"label":"RIGHT", "x":4, "y":3}, {"label":"MPLY", "x":2, "y":3.5}, {"label":"CTL S", "x":3, "y":3.5}, {"label":"RGB TOG", "x":2.5, "y":4.5}]
diff --git a/keyboards/yushakobo/quick7/config.h b/keyboards/yushakobo/quick7/config.h
index b4040091be5..061dfb6dc84 100644
--- a/keyboards/yushakobo/quick7/config.h
+++ b/keyboards/yushakobo/quick7/config.h
@@ -17,36 +17,9 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 3
-#define MATRIX_COLS 3
-
-/*
- * 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 DIRECT_PINS { \
- { D2, D4, F4 }, \
- { D7, B1, B3 }, \
- { E6, B4, B2 }, \
-}
-
#define ENCODERS_PAD_A { D1, F5 }
#define ENCODERS_PAD_B { D0, F6 }
-
-
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
#ifdef RGBLIGHT_ENABLE
# define RGB_DI_PIN D3
# define RGBLED_NUM 13
diff --git a/keyboards/yushakobo/quick7/info.json b/keyboards/yushakobo/quick7/info.json
index d81bd07e1b0..6d6d4d6725e 100644
--- a/keyboards/yushakobo/quick7/info.json
+++ b/keyboards/yushakobo/quick7/info.json
@@ -10,6 +10,13 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["D2", "D4", "F4"],
+ ["D7", "B1", "B3"],
+ ["E6", "B4", "B2"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/yynmt/acperience12/rev1/config.h b/keyboards/yynmt/acperience12/rev1/config.h
index fb94abb5da0..65a752a97f5 100644
--- a/keyboards/yynmt/acperience12/rev1/config.h
+++ b/keyboards/yynmt/acperience12/rev1/config.h
@@ -16,12 +16,6 @@
#pragma once
-/* key matrix size */
-#define MATRIX_ROWS 6
-#define MATRIX_COLS 2
-
-#define DIRECT_PINS { { B5, D0 }, { B4, D1 }, { B3, D2 }, { B2, D3 }, { B1, D4 }, { B0, D5 } }
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/yynmt/acperience12/rev1/info.json b/keyboards/yynmt/acperience12/rev1/info.json
index 3d8bf426bac..20d4f249c29 100644
--- a/keyboards/yynmt/acperience12/rev1/info.json
+++ b/keyboards/yynmt/acperience12/rev1/info.json
@@ -10,6 +10,16 @@
},
"processor": "atmega32u2",
"bootloader": "atmel-dfu",
+ "matrix_pins": {
+ "direct": [
+ ["B5", "D0"],
+ ["B4", "D1"],
+ ["B3", "D2"],
+ ["B2", "D3"],
+ ["B1", "D4"],
+ ["B0", "D5"]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/z12/config.h b/keyboards/z12/config.h
index 0f808ca88a7..6ee032f5c86 100644
--- a/keyboards/z12/config.h
+++ b/keyboards/z12/config.h
@@ -20,19 +20,6 @@ along with this program. If not, see .
#define ENCODERS_PAD_A { B5, B6 }
#define ENCODERS_PAD_B { B4, B2 }
-/* key matrix size */
-#define MATRIX_ROWS 4
-#define MATRIX_COLS 4
-
-/*Keyboard Matrix Assignments */
-
-#define DIRECT_PINS { \
- { NO_PIN, E6, C6, NO_PIN }, \
- { D2, D7, D4, D3 }, \
- { F7, B1, B3, NO_PIN }, \
- { F6, F5, F4, NO_PIN } \
-}
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/z12/info.json b/keyboards/z12/info.json
index 1a7c75b12a1..baed03f0fea 100644
--- a/keyboards/z12/info.json
+++ b/keyboards/z12/info.json
@@ -10,6 +10,14 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ [null, "E6", "C6", null],
+ ["D2", "D7", "D4", "D3"],
+ ["F7", "B1", "B3", null],
+ ["F6", "F5", "F4", null]
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/z34/config.h b/keyboards/z34/config.h
index b318b750901..2f46a4a04b8 100644
--- a/keyboards/z34/config.h
+++ b/keyboards/z34/config.h
@@ -16,27 +16,6 @@ along with this program. If not, see .
#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 8
-#define MATRIX_COLS 5
-
-/*Keyboard Matrix Assignments */
-
-#define DIRECT_PINS { \
- { C6, F7, F6, F5, F4 }, \
- { D7, B6, B2, B3, B1 }, \
- { E6, D4, D0, D1, D3 }, \
- { B4, B5, NO_PIN, NO_PIN, NO_PIN } \
-}
-
-#define DIRECT_PINS_RIGHT { \
- { F4, F5, F6, F7, C6 }, \
- { B1, B3, B2, B6, D7 }, \
- { D3, D1, D0, D4, E6 }, \
- { B5, B4, NO_PIN, NO_PIN, NO_PIN } \
-}
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/z34/info.json b/keyboards/z34/info.json
index 00d5e5252fe..0f210d40776 100644
--- a/keyboards/z34/info.json
+++ b/keyboards/z34/info.json
@@ -10,6 +10,26 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "matrix_pins": {
+ "direct": [
+ ["C6", "F7", "F6", "F5", "F4"],
+ ["D7", "B6", "B2", "B3", "B1"],
+ ["E6", "D4", "D0", "D1", "D3"],
+ ["B4", "B5", null, null, null]
+ ]
+ },
+ "split": {
+ "matrix_pins": {
+ "right": {
+ "direct": [
+ ["F4", "F5", "F6", "F7", "C6"],
+ ["B1", "B3", "B2", "B6", "D7"],
+ ["D3", "D1", "D0", "D4", "E6"],
+ ["B5", "B4", null, null, null]
+ ]
+ }
+ }
+ },
"layouts": {
"LAYOUT": {
"layout": [