~ruther/qmk_firmware

2cdf99ae950a82e233482347651b7689c4896827 — Ryan 2 years ago 0b796b9
Migrate `DIRECT_PINS` to data driven (#19826)

158 files changed, 560 insertions(+), 1197 deletions(-)

M keyboards/0xcb/1337/config.h
M keyboards/0xcb/1337/info.json
M keyboards/0xcb/tutelpad/config.h
M keyboards/0xcb/tutelpad/info.json
M keyboards/1k/config.h
M keyboards/1k/info.json
M keyboards/25keys/cassette42/config.h
M keyboards/25keys/cassette42/info.json
M keyboards/40percentclub/4pack/config.h
M keyboards/40percentclub/4pack/info.json
M keyboards/40percentclub/nano/config.h
M keyboards/40percentclub/nano/info.json
M keyboards/40percentclub/nein/config.h
M keyboards/40percentclub/nein/info.json
M keyboards/40percentclub/sixpack/config.h
M keyboards/40percentclub/sixpack/info.json
M keyboards/8pack/config.h
M keyboards/8pack/info.json
M keyboards/a_dux/config.h
M keyboards/a_dux/info.json
M keyboards/adafruit/macropad/config.h
M keyboards/adafruit/macropad/info.json
M keyboards/anavi/knob1/config.h
M keyboards/anavi/knob1/info.json
M keyboards/anavi/macropad8/config.h
M keyboards/anavi/macropad8/info.json
M keyboards/arrayperipherals/1x4p1/config.h
M keyboards/arrayperipherals/1x4p1/info.json
M keyboards/beekeeb/piantor/config.h
M keyboards/beekeeb/piantor/info.json
D keyboards/botanicalkeyboards/fm2u/config.h
M keyboards/botanicalkeyboards/fm2u/info.json
D keyboards/bpiphany/sixshooter/config.h
M keyboards/bpiphany/sixshooter/info.json
M keyboards/cantor/config.h
M keyboards/cantor/info.json
M keyboards/crypt_macro/config.h
M keyboards/crypt_macro/info.json
M keyboards/dailycraft/owl8/config.h
M keyboards/dailycraft/owl8/info.json
M keyboards/dailycraft/stickey4/config.h
M keyboards/dailycraft/stickey4/info.json
M keyboards/dekunukem/duckypad/config.h
M keyboards/dekunukem/duckypad/info.json
M keyboards/ferris/sweep/config.h
M keyboards/ferris/sweep/info.json
M keyboards/geekboards/macropad_v2/config.h
M keyboards/geekboards/macropad_v2/info.json
M keyboards/handwired/aball/config.h
M keyboards/handwired/aball/info.json
M keyboards/handwired/bdn9_ble/config.h
M keyboards/handwired/bdn9_ble/info.json
M keyboards/handwired/bento/rev1/config.h
M keyboards/handwired/bento/rev1/info.json
M keyboards/handwired/dc/mc/001/config.h
M keyboards/handwired/dc/mc/001/info.json
M keyboards/handwired/lemonpad/config.h
M keyboards/handwired/lemonpad/info.json
M keyboards/handwired/stream_cheap/2x3/config.h
M keyboards/handwired/stream_cheap/2x3/info.json
M keyboards/handwired/stream_cheap/2x4/config.h
M keyboards/handwired/stream_cheap/2x4/info.json
M keyboards/handwired/stream_cheap/2x5/config.h
M keyboards/handwired/stream_cheap/2x5/info.json
M keyboards/ianklug/grooveboard/config.h
M keyboards/ianklug/grooveboard/info.json
M keyboards/kb_elmo/isolation/config.h
M keyboards/kb_elmo/isolation/info.json
M keyboards/keebio/bamfk1/config.h
M keyboards/keebio/bamfk1/info.json
M keyboards/keebio/bdn9/rev1/config.h
M keyboards/keebio/bdn9/rev1/info.json
M keyboards/keebio/bdn9/rev2/config.h
M keyboards/keebio/bdn9/rev2/info.json
M keyboards/keebio/choconum/config.h
M keyboards/keebio/choconum/info.json
M keyboards/keebio/stick/config.h
M keyboards/keebio/stick/info.json
M keyboards/keebio/tukey/config.h
M keyboards/keebio/tukey/info.json
M keyboards/keyhive/uno/rev1/config.h
M keyboards/keyhive/uno/rev1/info.json
M keyboards/keyhive/uno/rev2/config.h
M keyboards/keyhive/uno/rev2/info.json
M keyboards/ktec/staryu/config.h
M keyboards/ktec/staryu/info.json
M keyboards/leafcutterlabs/bigknob/config.h
M keyboards/leafcutterlabs/bigknob/info.json
M keyboards/littlealby/mute/config.h
M keyboards/littlealby/mute/info.json
M keyboards/macro3/config.h
M keyboards/macro3/info.json
M keyboards/makeymakey/config.h
M keyboards/makeymakey/info.json
M keyboards/miniaxe/config.h
M keyboards/miniaxe/info.json
M keyboards/minimacro5/config.h
M keyboards/minimacro5/info.json
M keyboards/mixi/config.h
M keyboards/mixi/info.json
M keyboards/novelkeys/nk1/config.h
M keyboards/novelkeys/nk1/info.json
M keyboards/nullbitsco/scramble/v1/config.h
M keyboards/nullbitsco/scramble/v1/info.json
M keyboards/nullbitsco/scramble/v2/config.h
M keyboards/nullbitsco/scramble/v2/info.json
M keyboards/obosob/steal_this_keyboard/config.h
M keyboards/obosob/steal_this_keyboard/info.json
M keyboards/peranekofactory/tone/rev1/config.h
M keyboards/peranekofactory/tone/rev1/info.json
M keyboards/peranekofactory/tone/rev2/config.h
M keyboards/peranekofactory/tone/rev2/info.json
M keyboards/ploopyco/mouse/config.h
M keyboards/ploopyco/mouse/info.json
M keyboards/ploopyco/trackball/rev1/config.h
M keyboards/ploopyco/trackball/rev1/info.json
M keyboards/ploopyco/trackball/rev1_005/config.h
M keyboards/ploopyco/trackball/rev1_005/info.json
M keyboards/ploopyco/trackball_mini/rev1_001/config.h
A keyboards/ploopyco/trackball_mini/rev1_001/info.json
M keyboards/ploopyco/trackball_mini/rev1_002/config.h
A keyboards/ploopyco/trackball_mini/rev1_002/info.json
M keyboards/ploopyco/trackball_nano/rev1_001/config.h
A keyboards/ploopyco/trackball_nano/rev1_001/info.json
M keyboards/ryanbaekr/rb1/config.h
M keyboards/ryanbaekr/rb1/info.json
M keyboards/sendyyeah/pix/config.h
M keyboards/sendyyeah/pix/info.json
M keyboards/sergiopoverony/creator_pro/config.h
M keyboards/sergiopoverony/creator_pro/info.json
M keyboards/spaceman/2_milk/config.h
M keyboards/spaceman/2_milk/info.json
M keyboards/splitkb/zima/config.h
M keyboards/splitkb/zima/info.json
M keyboards/tominabox1/bigboy/config.h
M keyboards/tominabox1/bigboy/info.json
M keyboards/ungodly/nines/config.h
M keyboards/ungodly/nines/info.json
M keyboards/winkeys/mini_winni/config.h
M keyboards/winkeys/mini_winni/info.json
M keyboards/winry/winry315/config.h
M keyboards/winry/winry315/info.json
M keyboards/xiudi/xd002/config.h
M keyboards/xiudi/xd002/info.json
M keyboards/xiudi/xd004/info.json
M keyboards/xiudi/xd004/v1/config.h
D keyboards/yatara/drink_me/config.h
M keyboards/yatara/drink_me/info.json
M keyboards/yeehaw/config.h
M keyboards/yeehaw/info.json
M keyboards/yushakobo/quick7/config.h
M keyboards/yushakobo/quick7/info.json
M keyboards/yynmt/acperience12/rev1/config.h
M keyboards/yynmt/acperience12/rev1/info.json
M keyboards/z12/config.h
M keyboards/z12/info.json
M keyboards/z34/config.h
M keyboards/z34/info.json
M keyboards/0xcb/1337/config.h => keyboards/0xcb/1337/config.h +0 -10
@@ 18,16 18,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

// 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 }

M keyboards/0xcb/1337/info.json => keyboards/0xcb/1337/info.json +7 -0
@@ 10,6 10,13 @@
  },
  "processor": "atmega32u4",
  "bootloader": "qmk-dfu",
  "matrix_pins": {
    "direct": [
      ["D2", "D4", "F4"],
      ["D7", "B1", "B3"],
      ["E6", "B4", "B2"]
    ]
  },
  "layouts": {
    "LAYOUT": {
      "layout": [

M keyboards/0xcb/tutelpad/config.h => keyboards/0xcb/tutelpad/config.h +0 -21
@@ 16,27 16,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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


M keyboards/0xcb/tutelpad/info.json => keyboards/0xcb/tutelpad/info.json +6 -0
@@ 10,6 10,12 @@
    },
    "processor": "atmega32u4",
    "bootloader": "caterina",
    "matrix_pins": {
        "direct": [
            ["E6", "D7", "B1", "B3"],
            ["B5", "B4", "B2", "B6"]
        ]
    },
    "layouts": {
        "LAYOUT": {
            "layout": [

M keyboards/1k/config.h => keyboards/1k/config.h +0 -12
@@ 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


M keyboards/1k/info.json => keyboards/1k/info.json +5 -0
@@ 8,6 8,11 @@
    "pid": "0x0001",
    "device_version": "0.0.1"
  },
  "matrix_pins": {
    "direct": [
      ["B0"]
    ]
  },
  "layouts": {
    "LAYOUT_ortho_1x1": {
      "layout": [

M keyboards/25keys/cassette42/config.h => keyboards/25keys/cassette42/config.h +0 -7
@@ 17,13 17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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

M keyboards/25keys/cassette42/info.json => keyboards/25keys/cassette42/info.json +5 -0
@@ 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}]

M keyboards/40percentclub/4pack/config.h => keyboards/40percentclub/4pack/config.h +0 -24
@@ 17,30 17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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 }

M keyboards/40percentclub/4pack/info.json => keyboards/40percentclub/4pack/info.json +5 -0
@@ 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}]

M keyboards/40percentclub/nano/config.h => keyboards/40percentclub/nano/config.h +0 -23
@@ 17,29 17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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

M keyboards/40percentclub/nano/info.json => keyboards/40percentclub/nano/info.json +6 -0
@@ 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}]

M keyboards/40percentclub/nein/config.h => keyboards/40percentclub/nein/config.h +0 -12
@@ 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

M keyboards/40percentclub/nein/info.json => keyboards/40percentclub/nein/info.json +7 -0
@@ 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": [

M keyboards/40percentclub/sixpack/config.h => keyboards/40percentclub/sixpack/config.h +0 -23
@@ 17,29 17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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

M keyboards/40percentclub/sixpack/info.json => keyboards/40percentclub/sixpack/info.json +6 -0
@@ 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": {

M keyboards/8pack/config.h => keyboards/8pack/config.h +0 -12
@@ 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 }

M keyboards/8pack/info.json => keyboards/8pack/info.json +6 -0
@@ 9,6 9,12 @@
  },
  "processor": "atmega32u4",
  "bootloader": "caterina",
  "matrix_pins": {
    "direct": [
      ["F4", "F5", "F6", "F7"],
      ["B1", "B3", "B2", "B6"]
    ]
  },
  "layouts": {
    "LAYOUT": {
      "layout": [

M keyboards/a_dux/config.h => keyboards/a_dux/config.h +0 -30
@@ 16,36 16,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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


M keyboards/a_dux/info.json => keyboards/a_dux/info.json +20 -0
@@ 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": {

M keyboards/adafruit/macropad/config.h => keyboards/adafruit/macropad/config.h +0 -16
@@ 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

M keyboards/adafruit/macropad/info.json => keyboards/adafruit/macropad/info.json +9 -0
@@ 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": [

M keyboards/anavi/knob1/config.h => keyboards/anavi/knob1/config.h +0 -11
@@ 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 */

M keyboards/anavi/knob1/info.json => keyboards/anavi/knob1/info.json +5 -0
@@ 44,6 44,11 @@
	    }
        ]
    },
    "matrix_pins": {
        "direct": [
            ["GP26"]
        ]
    },
    "layouts": {
        "LAYOUT_k1": {
            "layout": [

M keyboards/anavi/macropad8/config.h => keyboards/anavi/macropad8/config.h +0 -21
@@ 17,27 17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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

M keyboards/anavi/macropad8/info.json => keyboards/anavi/macropad8/info.json +6 -0
@@ 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}]

M keyboards/arrayperipherals/1x4p1/config.h => keyboards/arrayperipherals/1x4p1/config.h +0 -10
@@ 17,16 17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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}

M keyboards/arrayperipherals/1x4p1/info.json => keyboards/arrayperipherals/1x4p1/info.json +5 -0
@@ 10,6 10,11 @@
    },
  "processor": "atmega32u4",
  "bootloader": "caterina",
  "matrix_pins": {
    "direct": [
      ["C7", "B7", "D6", "F5", "F7"]
    ]
  },
  "layouts": {
    "LAYOUT_ortho_1x5": {
      "layout": [

M keyboards/beekeeb/piantor/config.h => keyboards/beekeeb/piantor/config.h +0 -18
@@ 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

M keyboards/beekeeb/piantor/info.json => keyboards/beekeeb/piantor/info.json +19 -1
@@ 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": {

D keyboards/botanicalkeyboards/fm2u/config.h => keyboards/botanicalkeyboards/fm2u/config.h +0 -45
@@ 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 <http://www.gnu.org/licenses/>.
*/

#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




M keyboards/botanicalkeyboards/fm2u/info.json => keyboards/botanicalkeyboards/fm2u/info.json +5 -0
@@ 10,6 10,11 @@
    },
    "processor": "atmega32u2",
    "bootloader": "atmel-dfu",
    "matrix_pins": {
        "direct": [
            ["C4"]
        ]
    },
    "layouts": {
        "LAYOUT_1u": {
            "layout": [

D keyboards/bpiphany/sixshooter/config.h => keyboards/bpiphany/sixshooter/config.h +0 -28
@@ 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

M keyboards/bpiphany/sixshooter/info.json => keyboards/bpiphany/sixshooter/info.json +6 -0
@@ 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}]

M keyboards/cantor/config.h => keyboards/cantor/config.h +0 -14
@@ 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

M keyboards/cantor/info.json => keyboards/cantor/info.json +20 -0
@@ 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": {

M keyboards/crypt_macro/config.h => keyboards/crypt_macro/config.h +0 -9
@@ 17,15 17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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


M keyboards/crypt_macro/info.json => keyboards/crypt_macro/info.json +6 -0
@@ 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}]

M keyboards/dailycraft/owl8/config.h => keyboards/dailycraft/owl8/config.h +0 -22
@@ 17,28 17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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

M keyboards/dailycraft/owl8/info.json => keyboards/dailycraft/owl8/info.json +5 -0
@@ 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": [

M keyboards/dailycraft/stickey4/config.h => keyboards/dailycraft/stickey4/config.h +0 -22
@@ 17,28 17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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

M keyboards/dailycraft/stickey4/info.json => keyboards/dailycraft/stickey4/info.json +5 -0
@@ 10,6 10,11 @@
    },
    "processor": "atmega32u4",
    "bootloader": "atmel-dfu",
    "matrix_pins": {
        "direct": [
            ["D4", "C6", "D7", "E6", null, null, null, null]
        ]
    },
    "layouts": {
        "LAYOUT": {
            "layout": [

M keyboards/dekunukem/duckypad/config.h => keyboards/dekunukem/duckypad/config.h +0 -6
@@ 20,12 20,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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

M keyboards/dekunukem/duckypad/info.json => keyboards/dekunukem/duckypad/info.json +5 -0
@@ 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": [

M keyboards/ferris/sweep/config.h => keyboards/ferris/sweep/config.h +0 -19
@@ 19,25 19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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


M keyboards/ferris/sweep/info.json => keyboards/ferris/sweep/info.json +21 -1
@@ 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]
                ]
            }
        }
    }
}

M keyboards/geekboards/macropad_v2/config.h => keyboards/geekboards/macropad_v2/config.h +0 -6
@@ 14,12 14,6 @@
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

/* 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

M keyboards/geekboards/macropad_v2/info.json => keyboards/geekboards/macropad_v2/info.json +6 -0
@@ 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": {

M keyboards/handwired/aball/config.h => keyboards/handwired/aball/config.h +0 -7
@@ 17,12 17,5 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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

M keyboards/handwired/aball/info.json => keyboards/handwired/aball/info.json +5 -0
@@ 10,6 10,11 @@
    },
    "processor": "atmega32u4",
    "bootloader": "atmel-dfu",
    "matrix_pins": {
        "direct": [
            [null]
        ]
    },
    "layouts": {
        "LAYOUT": {
            "layout": [

M keyboards/handwired/bdn9_ble/config.h => keyboards/handwired/bdn9_ble/config.h +0 -12
@@ 17,18 17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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


M keyboards/handwired/bdn9_ble/info.json => keyboards/handwired/bdn9_ble/info.json +7 -0
@@ 10,6 10,13 @@
  },
  "processor": "atmega32u4",
  "bootloader": "caterina",
  "matrix_pins": {
    "direct": [
      ["D1", "D0", "C6"],
      ["D7", "B5", "B6"],
      ["B7", "D6", "F7"]
    ]
  },
  "layouts": {
    "LAYOUT": {
      "layout": [

M keyboards/handwired/bento/rev1/config.h => keyboards/handwired/bento/rev1/config.h +0 -11
@@ 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 }


M keyboards/handwired/bento/rev1/info.json => keyboards/handwired/bento/rev1/info.json +6 -0
@@ 10,6 10,12 @@
  },
  "processor": "atmega32u4",
  "bootloader": "caterina",
  "matrix_pins": {
    "direct": [
      ["D7", "B1", "D2"],
      ["E6", "B4", "B2"]
    ]
  },
  "layouts": {
    "LAYOUT": {
      "layout": [

M keyboards/handwired/dc/mc/001/config.h => keyboards/handwired/dc/mc/001/config.h +0 -13
@@ 17,19 17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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),

M keyboards/handwired/dc/mc/001/info.json => keyboards/handwired/dc/mc/001/info.json +5 -0
@@ 10,6 10,11 @@
    },
    "processor": "atmega32u4",
    "bootloader": "caterina",
    "matrix_pins": {
        "direct": [
            ["B4", "B0", "B1", "B2", "B3"]
        ]
    },
    "debounce": 50,
    "layouts": {
        "LAYOUT": {

M keyboards/handwired/lemonpad/config.h => keyboards/handwired/lemonpad/config.h +0 -21
@@ 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

M keyboards/handwired/lemonpad/info.json => keyboards/handwired/lemonpad/info.json +6 -0
@@ 10,6 10,12 @@
    },
    "processor": "atmega32u4",
    "bootloader": "caterina",
    "matrix_pins": {
        "direct": [
            ["E6", "D7", "C6"],
            ["B4", "B5", "D4"]
        ]
    },
    "layouts": {
        "LAYOUT": {
            "layout": [

M keyboards/handwired/stream_cheap/2x3/config.h => keyboards/handwired/stream_cheap/2x3/config.h +0 -8
@@ 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


M keyboards/handwired/stream_cheap/2x3/info.json => keyboards/handwired/stream_cheap/2x3/info.json +6 -0
@@ 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": {

M keyboards/handwired/stream_cheap/2x4/config.h => keyboards/handwired/stream_cheap/2x4/config.h +0 -11
@@ 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


M keyboards/handwired/stream_cheap/2x4/info.json => keyboards/handwired/stream_cheap/2x4/info.json +6 -0
@@ 10,6 10,12 @@
    },
    "processor": "atmega32u4",
    "bootloader": "caterina",
    "matrix_pins": {
        "direct": [
            ["D1", "D0", "D4", "C6"],
            ["D7", "E6", "B4", "B5"]
        ]
    },
    "layouts": {
        "LAYOUT_ortho_2x4": {
            "layout": [

M keyboards/handwired/stream_cheap/2x5/config.h => keyboards/handwired/stream_cheap/2x5/config.h +0 -8
@@ 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


M keyboards/handwired/stream_cheap/2x5/info.json => keyboards/handwired/stream_cheap/2x5/info.json +6 -0
@@ 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": [

M keyboards/ianklug/grooveboard/config.h => keyboards/ianklug/grooveboard/config.h +0 -24
@@ 17,30 17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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

M keyboards/ianklug/grooveboard/info.json => keyboards/ianklug/grooveboard/info.json +5 -0
@@ 10,6 10,11 @@
    },
    "processor": "atmega32u4",
    "bootloader": "atmel-dfu",
    "matrix_pins": {
        "direct": [
            ["F7", "F6", "D1", "D2"]
        ]
    },
    "layouts": {
        "LAYOUT": {
            "layout": [

M keyboards/kb_elmo/isolation/config.h => keyboards/kb_elmo/isolation/config.h +0 -8
@@ 17,14 17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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

M keyboards/kb_elmo/isolation/info.json => keyboards/kb_elmo/isolation/info.json +5 -0
@@ 10,6 10,11 @@
    },
    "processor": "atmega328p",
    "bootloader": "usbasploader",
    "matrix_pins": {
        "direct": [
            ["B0"]
        ]
    },
    "layouts": {
        "LAYOUT": {
            "layout": [

M keyboards/keebio/bamfk1/config.h => keyboards/keebio/bamfk1/config.h +0 -13
@@ 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)

M keyboards/keebio/bamfk1/info.json => keyboards/keebio/bamfk1/info.json +6 -0
@@ 10,6 10,12 @@
    },
    "processor": "atmega32u4",
    "bootloader": "atmel-dfu",
    "matrix_pins": {
        "direct": [
            ["E6", "B6", "D6", null],
            [null, null, null, null]
        ]
    },
    "layouts": {
        "LAYOUT": {
            "layout": [

M keyboards/keebio/bdn9/rev1/config.h => keyboards/keebio/bdn9/rev1/config.h +0 -12
@@ 17,18 17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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 }


M keyboards/keebio/bdn9/rev1/info.json => keyboards/keebio/bdn9/rev1/info.json +8 -1
@@ 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"]
        ]
    }
}

M keyboards/keebio/bdn9/rev2/config.h => keyboards/keebio/bdn9/rev2/config.h +0 -12
@@ 17,18 17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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 }

M keyboards/keebio/bdn9/rev2/info.json => keyboards/keebio/bdn9/rev2/info.json +8 -1
@@ 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"]
        ]
    }
}

M keyboards/keebio/choconum/config.h => keyboards/keebio/choconum/config.h +0 -15
@@ 17,21 17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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 */

M keyboards/keebio/choconum/info.json => keyboards/keebio/choconum/info.json +9 -0
@@ 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": {

M keyboards/keebio/stick/config.h => keyboards/keebio/stick/config.h +0 -13
@@ 17,16 17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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 <http://www.gnu.org/licenses/>.
#    endif
#endif

/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW

#define TAPPING_TERM 200

M keyboards/keebio/stick/info.json => keyboards/keebio/stick/info.json +5 -0
@@ 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": [

M keyboards/keebio/tukey/config.h => keyboards/keebio/tukey/config.h +0 -11
@@ 17,17 17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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

M keyboards/keebio/tukey/info.json => keyboards/keebio/tukey/info.json +5 -0
@@ 10,6 10,11 @@
    },
    "processor": "atmega32u4",
    "bootloader": "caterina",
    "matrix_pins": {
      "direct": [
        ["D4", "F6"]
      ]
    },
    "layouts": {
      "LAYOUT": {
        "layout": [

M keyboards/keyhive/uno/rev1/config.h => keyboards/keyhive/uno/rev1/config.h +0 -9
@@ 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

M keyboards/keyhive/uno/rev1/info.json => keyboards/keyhive/uno/rev1/info.json +6 -1
@@ 4,5 4,10 @@
        "device_version": "0.0.1"
    },
    "processor": "atmega32u4",
    "bootloader": "caterina"
    "bootloader": "caterina",
    "matrix_pins": {
        "direct": [
            ["B6"]
        ]
    }
}

M keyboards/keyhive/uno/rev2/config.h => keyboards/keyhive/uno/rev2/config.h +0 -9
@@ 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

M keyboards/keyhive/uno/rev2/info.json => keyboards/keyhive/uno/rev2/info.json +6 -1
@@ 4,5 4,10 @@
        "device_version": "0.0.2"
    },
    "processor": "atmega32u4",
    "bootloader": "caterina"
    "bootloader": "caterina",
    "matrix_pins": {
        "direct": [
            ["D0"]
        ]
    }
}

M keyboards/ktec/staryu/config.h => keyboards/ktec/staryu/config.h +0 -11
@@ 16,17 16,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
#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

M keyboards/ktec/staryu/info.json => keyboards/ktec/staryu/info.json +6 -0
@@ 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}]

M keyboards/leafcutterlabs/bigknob/config.h => keyboards/leafcutterlabs/bigknob/config.h +0 -22
@@ 17,28 17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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}

M keyboards/leafcutterlabs/bigknob/info.json => keyboards/leafcutterlabs/bigknob/info.json +5 -0
@@ 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}]

M keyboards/littlealby/mute/config.h => keyboards/littlealby/mute/config.h +0 -13
@@ 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

M keyboards/littlealby/mute/info.json => keyboards/littlealby/mute/info.json +5 -0
@@ 10,6 10,11 @@
  },
  "processor": "atmega32u4",
  "bootloader": "caterina",
  "matrix_pins": {
    "direct": [
      ["B5"]
    ]
  },
  "layouts": {
    "LAYOUT": {
      "layout": [ {"x": 0, "y": 0 }]

M keyboards/macro3/config.h => keyboards/macro3/config.h +0 -10
@@ 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 }

M keyboards/macro3/info.json => keyboards/macro3/info.json +6 -0
@@ 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"
    },

M keyboards/makeymakey/config.h => keyboards/makeymakey/config.h +0 -12
@@ 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}

M keyboards/makeymakey/info.json => keyboards/makeymakey/info.json +7 -0
@@ 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": {

M keyboards/miniaxe/config.h => keyboards/miniaxe/config.h +0 -28
@@ 17,34 17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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

M keyboards/miniaxe/info.json => keyboards/miniaxe/info.json +8 -0
@@ 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": {

M keyboards/minimacro5/config.h => keyboards/minimacro5/config.h +0 -21
@@ 17,27 17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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


M keyboards/minimacro5/info.json => keyboards/minimacro5/info.json +5 -0
@@ 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}]

M keyboards/mixi/config.h => keyboards/mixi/config.h +0 -12
@@ 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 }


M keyboards/mixi/info.json => keyboards/mixi/info.json +7 -0
@@ 10,6 10,13 @@
    },
    "processor": "atmega32u4",
    "bootloader": "caterina",
    "matrix_pins": {
        "direct": [
            ["D1", "D4", "F4"],
            ["D0", "B4", "F5"],
            ["C6", "F7", "B6"]
        ]
    },
    "layouts": {
        "LAYOUT": {
            "layout": [

M keyboards/novelkeys/nk1/config.h => keyboards/novelkeys/nk1/config.h +0 -10
@@ 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

M keyboards/novelkeys/nk1/info.json => keyboards/novelkeys/nk1/info.json +5 -0
@@ 10,6 10,11 @@
    },
    "processor": "atmega32u4",
    "bootloader": "atmel-dfu",
    "matrix_pins": {
        "direct": [
            ["D4"]
        ]
    },
    "community_layouts": ["ortho_1x1"],
    "layouts": {
        "LAYOUT_ortho_1x1": {

M keyboards/nullbitsco/scramble/v1/config.h => keyboards/nullbitsco/scramble/v1/config.h +0 -7
@@ 19,13 19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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 }

M keyboards/nullbitsco/scramble/v1/info.json => keyboards/nullbitsco/scramble/v1/info.json +7 -1
@@ 1,4 1,10 @@
{
    "processor": "atmega328p",
    "bootloader": "usbasploader"
    "bootloader": "usbasploader",
    "matrix_pins": {
        "direct": [
            ["D4", "D5", "B1"],
            ["C3", "C2", "C1"]
        ]
    }
}

M keyboards/nullbitsco/scramble/v2/config.h => keyboards/nullbitsco/scramble/v2/config.h +0 -6
@@ 19,12 19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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 }

M keyboards/nullbitsco/scramble/v2/info.json => keyboards/nullbitsco/scramble/v2/info.json +7 -1
@@ 1,4 1,10 @@
{
    "processor": "RP2040",
    "bootloader": "rp2040"
    "bootloader": "rp2040",
    "matrix_pins": {
        "direct": [
            ["GP6", "GP8", "GP10"],
            ["GP29", "GP28", "GP22"]
        ]
    }
}

M keyboards/obosob/steal_this_keyboard/config.h => keyboards/obosob/steal_this_keyboard/config.h +0 -30
@@ 16,36 16,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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


M keyboards/obosob/steal_this_keyboard/info.json => keyboards/obosob/steal_this_keyboard/info.json +20 -0
@@ 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"
    ],

M keyboards/peranekofactory/tone/rev1/config.h => keyboards/peranekofactory/tone/rev1/config.h +0 -23
@@ 17,29 17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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 }

M keyboards/peranekofactory/tone/rev1/info.json => keyboards/peranekofactory/tone/rev1/info.json +5 -0
@@ 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}]

M keyboards/peranekofactory/tone/rev2/config.h => keyboards/peranekofactory/tone/rev2/config.h +0 -23
@@ 17,29 17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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 }

M keyboards/peranekofactory/tone/rev2/info.json => keyboards/peranekofactory/tone/rev2/info.json +5 -0
@@ 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}]

M keyboards/ploopyco/mouse/config.h => keyboards/ploopyco/mouse/config.h +0 -20
@@ 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 \

M keyboards/ploopyco/mouse/info.json => keyboards/ploopyco/mouse/info.json +5 -0
@@ 10,6 10,11 @@
    },
    "processor": "atmega32u4",
    "bootloader": "atmel-dfu",
    "matrix_pins": {
        "direct": [
            ["D4", "D2", "E6", "B6", "D7", "C6", "C7", "B7"]
        ]
    },
    "layouts": {
        "LAYOUT": {
            "layout": [

M keyboards/ploopyco/trackball/rev1/config.h => keyboards/ploopyco/trackball/rev1/config.h +0 -15
@@ 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 \

M keyboards/ploopyco/trackball/rev1/info.json => keyboards/ploopyco/trackball/rev1/info.json +6 -1
@@ 1,4 1,9 @@
{
    "processor": "atmega32u4",
    "bootloader": "caterina"
    "bootloader": "caterina",
    "matrix_pins": {
        "direct": [
            ["D4", "D2", "E6", "B5", "D7"]
        ]
    }
}

M keyboards/ploopyco/trackball/rev1_005/config.h => keyboards/ploopyco/trackball/rev1_005/config.h +0 -15
@@ 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 \

M keyboards/ploopyco/trackball/rev1_005/info.json => keyboards/ploopyco/trackball/rev1_005/info.json +6 -1
@@ 1,4 1,9 @@
{
    "processor": "atmega32u4",
    "bootloader": "atmel-dfu"
    "bootloader": "atmel-dfu",
    "matrix_pins": {
        "direct": [
            ["D4", "D2", "E6", "B6", "D7"]
        ]
    }
}

M keyboards/ploopyco/trackball_mini/rev1_001/config.h => keyboards/ploopyco/trackball_mini/rev1_001/config.h +0 -15
@@ 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 \

A keyboards/ploopyco/trackball_mini/rev1_001/info.json => keyboards/ploopyco/trackball_mini/rev1_001/info.json +7 -0
@@ 0,0 1,7 @@
{
    "matrix_pins": {
        "direct": [
            ["D4", "D2", "E6", "B6", "D7"]
        ]
    }
}

M keyboards/ploopyco/trackball_mini/rev1_002/config.h => keyboards/ploopyco/trackball_mini/rev1_002/config.h +0 -15
@@ 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 \

A keyboards/ploopyco/trackball_mini/rev1_002/info.json => keyboards/ploopyco/trackball_mini/rev1_002/info.json +7 -0
@@ 0,0 1,7 @@
{
    "matrix_pins": {
        "direct": [
            ["D4", "D2", "E6", "B6", "D7"]
        ]
    }
}

M keyboards/ploopyco/trackball_nano/rev1_001/config.h => keyboards/ploopyco/trackball_nano/rev1_001/config.h +0 -12
@@ 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 \

A keyboards/ploopyco/trackball_nano/rev1_001/info.json => keyboards/ploopyco/trackball_nano/rev1_001/info.json +7 -0
@@ 0,0 1,7 @@
{
    "matrix_pins": {
        "direct": [
            [null]
        ]
    }
}

M keyboards/ryanbaekr/rb1/config.h => keyboards/ryanbaekr/rb1/config.h +0 -10
@@ 17,16 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
 * 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 */

M keyboards/ryanbaekr/rb1/info.json => keyboards/ryanbaekr/rb1/info.json +5 -0
@@ 10,6 10,11 @@
    },
    "processor": "atmega32u4",
    "bootloader": "caterina",
    "matrix_pins": {
        "direct": [
            ["B1"]
        ]
    },
    "layouts": {
        "LAYOUT": {
            "layout": [

M keyboards/sendyyeah/pix/config.h => keyboards/sendyyeah/pix/config.h +0 -10
@@ 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 }


M keyboards/sendyyeah/pix/info.json => keyboards/sendyyeah/pix/info.json +5 -0
@@ 10,6 10,11 @@
    },
    "processor": "atmega32u4",
    "bootloader": "caterina",
    "matrix_pins": {
        "direct": [
            ["C6", "D7", "E6", "B4", "F6"]
        ]
    },
    "layouts": {
        "LAYOUT": {
            "layout": [

M keyboards/sergiopoverony/creator_pro/config.h => keyboards/sergiopoverony/creator_pro/config.h +0 -10
@@ 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

M keyboards/sergiopoverony/creator_pro/info.json => keyboards/sergiopoverony/creator_pro/info.json +5 -0
@@ 10,6 10,11 @@
  },
  "processor": "atmega32u4",
  "bootloader": "caterina",
  "matrix_pins": {
    "direct": [
      ["D1", "D4", "C6", "D7", "E6", "B2", "B3", "B1", "F7"]
    ]
  },
  "layouts": {
    "LAYOUT": {
      "layout": [

M keyboards/spaceman/2_milk/config.h => keyboards/spaceman/2_milk/config.h +0 -10
@@ 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

M keyboards/spaceman/2_milk/info.json => keyboards/spaceman/2_milk/info.json +6 -0
@@ 10,6 10,12 @@
  },
  "processor": "atmega32u4",
  "bootloader": "caterina",
  "matrix_pins": {
    "direct": [
      ["D4"],
      ["C6"]
    ]
  },
  "layouts": {
    "LAYOUT": {
      "layout": [ {"x": 0, "y": 0 }, {"x": 0, "y": 1 }]

M keyboards/splitkb/zima/config.h => keyboards/splitkb/zima/config.h +0 -15
@@ 17,21 17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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 }


M keyboards/splitkb/zima/info.json => keyboards/splitkb/zima/info.json +8 -0
@@ 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": [

M keyboards/tominabox1/bigboy/config.h => keyboards/tominabox1/bigboy/config.h +0 -8
@@ 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

M keyboards/tominabox1/bigboy/info.json => keyboards/tominabox1/bigboy/info.json +6 -0
@@ 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}]

M keyboards/ungodly/nines/config.h => keyboards/ungodly/nines/config.h +0 -12
@@ 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 }

M keyboards/ungodly/nines/info.json => keyboards/ungodly/nines/info.json +7 -0
@@ 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": [

M keyboards/winkeys/mini_winni/config.h => keyboards/winkeys/mini_winni/config.h +0 -8
@@ 18,14 18,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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

M keyboards/winkeys/mini_winni/info.json => keyboards/winkeys/mini_winni/info.json +6 -0
@@ 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}]

M keyboards/winry/winry315/config.h => keyboards/winry/winry315/config.h +0 -12
@@ 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.

M keyboards/winry/winry315/info.json => keyboards/winry/winry315/info.json +5 -0
@@ 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"
    },

M keyboards/xiudi/xd002/config.h => keyboards/xiudi/xd002/config.h +0 -12
@@ 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


M keyboards/xiudi/xd002/info.json => keyboards/xiudi/xd002/info.json +5 -0
@@ 8,6 8,11 @@
    "pid": "0x0202",
    "device_version": "0.0.1"
  },
  "matrix_pins": {
    "direct": [
      ["B0", "B1"]
    ]
  },
  "layouts": {
    "LAYOUT": {
      "layout": [

M keyboards/xiudi/xd004/info.json => keyboards/xiudi/xd004/info.json +5 -0
@@ 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}]

M keyboards/xiudi/xd004/v1/config.h => keyboards/xiudi/xd004/v1/config.h +0 -18
@@ 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

D keyboards/yatara/drink_me/config.h => keyboards/yatara/drink_me/config.h +0 -27
@@ 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 <http://www.gnu.org/licenses/>.
 */

#pragma once


/* Key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 4

/* Pinout */
#define DIRECT_PINS { \
    {B4, B5, B6, B7} \
}

M keyboards/yatara/drink_me/info.json => keyboards/yatara/drink_me/info.json +5 -0
@@ 10,6 10,11 @@
  },
  "processor": "atmega32u2",
  "bootloader": "atmel-dfu",
  "matrix_pins": {
    "direct": [
      ["B4", "B5", "B6", "B7"]
    ]
  },
  "layouts": {
    "LAYOUT": {
      "layout": [

M keyboards/yeehaw/config.h => keyboards/yeehaw/config.h +0 -10
@@ 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 }


M keyboards/yeehaw/info.json => keyboards/yeehaw/info.json +5 -0
@@ 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}]

M keyboards/yushakobo/quick7/config.h => keyboards/yushakobo/quick7/config.h +0 -27
@@ 17,36 17,9 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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

M keyboards/yushakobo/quick7/info.json => keyboards/yushakobo/quick7/info.json +7 -0
@@ 10,6 10,13 @@
    },
    "processor": "atmega32u4",
    "bootloader": "caterina",
    "matrix_pins": {
        "direct": [
            ["D2", "D4", "F4"],
            ["D7", "B1", "B3"],
            ["E6", "B4", "B2"]
        ]
    },
    "layouts": {
        "LAYOUT": {
            "layout": [

M keyboards/yynmt/acperience12/rev1/config.h => keyboards/yynmt/acperience12/rev1/config.h +0 -6
@@ 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 */

M keyboards/yynmt/acperience12/rev1/info.json => keyboards/yynmt/acperience12/rev1/info.json +10 -0
@@ 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": [

M keyboards/z12/config.h => keyboards/z12/config.h +0 -13
@@ 20,19 20,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#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 */

M keyboards/z12/info.json => keyboards/z12/info.json +8 -0
@@ 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": [

M keyboards/z34/config.h => keyboards/z34/config.h +0 -21
@@ 16,27 16,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#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 */

M keyboards/z34/info.json => keyboards/z34/info.json +20 -0
@@ 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": [