~ruther/qmk_firmware

eb5d267e637db4c2c639932b8c8176bf47dff78f — fauxpark 5 years ago eaed517
Enforce definition of `DIODE_DIRECTION` for non-custom matrix boards (#7915)

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

* Define diode direction for failing boards

* Matching parentheses

* Put onekey diode directions in top level config
54 files changed, 120 insertions(+), 6 deletions(-)

M keyboards/40percentclub/luddite/config.h
M keyboards/7skb/rev1/config.h
M keyboards/adkb96/rev1/config.h
M keyboards/alps64/config.h
M keyboards/blackplum/config.h
M keyboards/db/db63/config.h
M keyboards/ergodash/mini/config.h
M keyboards/ergodash/rev1/config.h
M keyboards/handwired/aek64/config.h
M keyboards/handwired/dactyl_manuform/4x5/config.h
M keyboards/handwired/dactyl_manuform/5x6/config.h
M keyboards/handwired/dactyl_manuform/5x7/config.h
M keyboards/handwired/dactyl_manuform/6x6/config.h
M keyboards/handwired/dactyl_manuform/dmote/62key/config.h
M keyboards/handwired/dactyl_promicro/config.h
M keyboards/handwired/hacked_motospeed/config.h
M keyboards/handwired/lovelive9/config.h
M keyboards/handwired/nicekey/config.h
M keyboards/handwired/onekey/config.h
M keyboards/handwired/splittest/config.h
M keyboards/handwired/wulkan/config.h
M keyboards/keebio/bfo9000/config.h
M keyboards/keebio/fourier/config.h
M keyboards/keebio/levinson/rev1/config.h
M keyboards/keebio/levinson/rev2/config.h
M keyboards/keebio/levinson/rev3/config.h
M keyboards/keebio/quefrency/rev1/config.h
M keyboards/keebio/wavelet/config.h
M keyboards/lets_split/rev1/config.h
M keyboards/lets_split/rev2/config.h
M keyboards/lets_split/sockets/config.h
M keyboards/nafuda/config.h
M keyboards/naked48/rev1/config.h
M keyboards/naked60/rev1/config.h
M keyboards/naked64/rev1/config.h
M keyboards/rgbkb/sol/config.h
M keyboards/rgbkb/zygomorph/rev1/config.h
M keyboards/runner3680/3x6/config.h
M keyboards/runner3680/3x7/config.h
M keyboards/runner3680/3x8/config.h
M keyboards/runner3680/4x6/config.h
M keyboards/runner3680/4x7/config.h
M keyboards/runner3680/4x8/config.h
M keyboards/runner3680/5x6/config.h
M keyboards/runner3680/5x7/config.h
M keyboards/runner3680/5x8/config.h
M keyboards/setta21/rev1/config.h
M keyboards/signum/3_0/elitec/config.h
M keyboards/tanuki/config.h
M keyboards/uzu42/rev1/config.h
M keyboards/vitamins_included/rev1/config.h
M keyboards/vitamins_included/rev2/config.h
M quantum/matrix.c
M quantum/split_common/matrix.c
M keyboards/40percentclub/luddite/config.h => keyboards/40percentclub/luddite/config.h +2 -0
@@ 19,6 19,8 @@
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6 }
#define UNUSED_PINS

#define DIODE_DIRECTION COL2ROW

/* number of backlight levels */
#define BACKLIGHT_PIN B5
#ifdef BACKLIGHT_PIN

M keyboards/7skb/rev1/config.h => keyboards/7skb/rev1/config.h +2 -0
@@ 34,6 34,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B5 }

#define DIODE_DIRECTION COL2ROW

/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5


M keyboards/adkb96/rev1/config.h => keyboards/adkb96/rev1/config.h +2 -0
@@ 33,6 33,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4, B5 }
#define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4 }

#define DIODE_DIRECTION COL2ROW

#define SOFT_SERIAL_PIN D0

/* define tapping term */

M keyboards/alps64/config.h => keyboards/alps64/config.h +2 -0
@@ 35,6 35,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS {  D0, D1, D2, D3, D4, D5, D6, C2 }
#define UNUSED_PINS

#define DIODE_DIRECTION COL2ROW

/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST


M keyboards/blackplum/config.h => keyboards/blackplum/config.h +2 -0
@@ 19,6 19,8 @@
#define MATRIX_COL_PINS { D0, D1, D2, F7, F6, F5, F4, F1 }
#define UNUSED_PINS

#define DIODE_DIRECTION COL2ROW

/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5


M keyboards/db/db63/config.h => keyboards/db/db63/config.h +2 -0
@@ 32,6 32,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C3, C2 }
#define UNUSED_PINS

#define DIODE_DIRECTION COL2ROW

#define RGBLED_NUM 18
#define RGBLIGHT_ANIMATIONS


M keyboards/ergodash/mini/config.h => keyboards/ergodash/mini/config.h +2 -0
@@ 38,6 38,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 }
// #define MATRIX_COL_PINS { B2, B3, B1, F7, F6, F5, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order

#define DIODE_DIRECTION COL2ROW

/* define tapping term */
#define TAPPING_TERM 120


M keyboards/ergodash/rev1/config.h => keyboards/ergodash/rev1/config.h +2 -0
@@ 38,6 38,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 }
// #define MATRIX_COL_PINS { B2, B3, B1, F7, F6, F5, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order

#define DIODE_DIRECTION COL2ROW

/* define tapping term */
#define TAPPING_TERM 120


M keyboards/handwired/aek64/config.h => keyboards/handwired/aek64/config.h +2 -0
@@ 39,6 39,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { E0, E1, C0, C1, C2 }
#define UNUSED_PINS

#define DIODE_DIRECTION COL2ROW

/* Set 0 if debouncing isn't needed */
#define DEBOUNCE    5


M keyboards/handwired/dactyl_manuform/4x5/config.h => keyboards/handwired/dactyl_manuform/4x5/config.h +2 -0
@@ 37,6 37,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
// #define MATRIX_COL_PINS { B5, B4, E6, D7, C6 }
#define MATRIX_COL_PINS { C6, D7, E6, B4, B5 }

#define DIODE_DIRECTION COL2ROW

/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST


M keyboards/handwired/dactyl_manuform/5x6/config.h => keyboards/handwired/dactyl_manuform/5x6/config.h +2 -0
@@ 32,6 32,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
#define MATRIX_ROW_PINS { F6, F7, B1, B3, B2, B6 }

#define DIODE_DIRECTION COL2ROW

// WS2812 RGB LED strip input and number of LEDs
#define RGB_DI_PIN D3
#define RGBLED_NUM 12

M keyboards/handwired/dactyl_manuform/5x7/config.h => keyboards/handwired/dactyl_manuform/5x7/config.h +2 -0
@@ 32,6 32,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4, B5 }
#define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B2, B6 }

#define DIODE_DIRECTION COL2ROW

// WS2812 RGB LED strip input and number of LEDs
#define RGB_DI_PIN D3
#define RGBLED_NUM 12

M keyboards/handwired/dactyl_manuform/6x6/config.h => keyboards/handwired/dactyl_manuform/6x6/config.h +2 -0
@@ 32,6 32,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
#define MATRIX_ROW_PINS { F5, F6, F7, B1, B3, B2, B6 }

#define DIODE_DIRECTION COL2ROW

// WS2812 RGB LED strip input and number of LEDs
#define RGB_DI_PIN D3
#define RGBLED_NUM 12

M keyboards/handwired/dactyl_manuform/dmote/62key/config.h => keyboards/handwired/dactyl_manuform/dmote/62key/config.h +2 -0
@@ 37,6 37,8 @@
#define MATRIX_ROW_PINS { F6, F7, B1, B3, B2, B6 }
#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }

#define DIODE_DIRECTION COL2ROW

// WS2812 RGB LED, normally used to indicate keyboard state:
#define RGBLIGHT_EFFECT_KNIGHT
#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2

M keyboards/handwired/dactyl_promicro/config.h => keyboards/handwired/dactyl_promicro/config.h +2 -0
@@ 30,6 30,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
#define MATRIX_ROW_PINS { F6, F7, B1, B3, B2, B6 }

#define DIODE_DIRECTION COL2ROW

/* USB Device descriptor parameter */
#define VENDOR_ID       0xFEED
#define PRODUCT_ID      0x3060

M keyboards/handwired/hacked_motospeed/config.h => keyboards/handwired/hacked_motospeed/config.h +2 -2
@@ 50,7 50,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define UNUSED_PINS

/* COL2ROW, ROW2COL*/
//#define DIODE_DIRECTION COL2ROW
#define DIODE_DIRECTION COL2ROW

/*
 * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.


@@ 245,4 245,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

/* Bootmagic Lite key configuration */
// #define BOOTMAGIC_LITE_ROW 0
// #define BOOTMAGIC_LITE_COLUMN 0
\ No newline at end of file
// #define BOOTMAGIC_LITE_COLUMN 0

M keyboards/handwired/lovelive9/config.h => keyboards/handwired/lovelive9/config.h +2 -0
@@ 19,6 19,8 @@
#define MATRIX_ROW_PINS { NO_PIN }
#define MATRIX_COL_PINS { B4, B6, B2, D7, B1, F7, F6, F5, F4 }

#define DIODE_DIRECTION COL2ROW

#define UNUSED_PINS

/* ws2812 RGB LED */

M keyboards/handwired/nicekey/config.h => keyboards/handwired/nicekey/config.h +2 -0
@@ 36,6 36,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { B6 }
#define UNUSED_PINS

#define DIODE_DIRECTION COL2ROW

/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST


M keyboards/handwired/onekey/config.h => keyboards/handwired/onekey/config.h +2 -0
@@ 29,6 29,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROWS 1
#define MATRIX_COLS 1

#define DIODE_DIRECTION COL2ROW

/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST


M keyboards/handwired/splittest/config.h => keyboards/handwired/splittest/config.h +2 -0
@@ 33,6 33,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROWS 2
#define MATRIX_COLS 1

#define DIODE_DIRECTION COL2ROW

/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST


M keyboards/handwired/wulkan/config.h => keyboards/handwired/wulkan/config.h +2 -0
@@ 17,6 17,8 @@
#define MATRIX_ROW_PINS { B8, A0, A1, A2 }
#define MATRIX_COL_PINS { B13, B14, B15, B9, B7, B6, B5, B4, B3, B2, B1, B0 }

#define DIODE_DIRECTION COL2ROW

/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5


M keyboards/keebio/bfo9000/config.h => keyboards/keebio/bfo9000/config.h +2 -0
@@ 37,6 37,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { D3, D2, D4, C6, D7, E6 }
#define MATRIX_COL_PINS { B5, B6, B2, B3, B1, F7, F6, F5, F4 }

#define DIODE_DIRECTION COL2ROW

/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5


M keyboards/keebio/fourier/config.h => keyboards/keebio/fourier/config.h +2 -0
@@ 37,6 37,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { F4, D7, E6, B4 }
#define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B2, B6 }

#define DIODE_DIRECTION COL2ROW

#define QMK_ESC_OUTPUT F5
#define QMK_ESC_INPUT F4
#define QMK_LED B0

M keyboards/keebio/levinson/rev1/config.h => keyboards/keebio/levinson/rev1/config.h +2 -0
@@ 36,6 36,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { D7, E6, B4, B5 }
#define MATRIX_COL_PINS { F6, F7, B1, B3, B2, B6 }

#define DIODE_DIRECTION COL2ROW

/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5


M keyboards/keebio/levinson/rev2/config.h => keyboards/keebio/levinson/rev2/config.h +2 -0
@@ 36,6 36,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { D4, D7, E6, B4 }
#define MATRIX_COL_PINS { F6, F7, B1, B3, B2, B6 }

#define DIODE_DIRECTION COL2ROW

/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5


M keyboards/keebio/levinson/rev3/config.h => keyboards/keebio/levinson/rev3/config.h +2 -0
@@ 40,6 40,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COL_PINS_RIGHT { F4, F7, D3, B5, B4, E6 }
#define SPLIT_HAND_PIN D2

#define DIODE_DIRECTION COL2ROW

/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5


M keyboards/keebio/quefrency/rev1/config.h => keyboards/keebio/quefrency/rev1/config.h +2 -0
@@ 38,6 38,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COL_PINS_RIGHT { F5, F6, F7, B1, B3, B2, B6, C6 }
#define SPLIT_HAND_PIN D2

#define DIODE_DIRECTION COL2ROW

/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5


M keyboards/keebio/wavelet/config.h => keyboards/keebio/wavelet/config.h +2 -0
@@ 37,6 37,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { F4, F5, F7, B3, D2, D1, D4, D7 }
#define MATRIX_COL_PINS { F6, B1, B2, B6, B4, E6 }

#define DIODE_DIRECTION COL2ROW

/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5


M keyboards/lets_split/rev1/config.h => keyboards/lets_split/rev1/config.h +2 -0
@@ 36,6 36,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3 }
// #define MATRIX_COL_PINS { B3, B1, F7, F6, F5, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order

#define DIODE_DIRECTION COL2ROW

/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST


M keyboards/lets_split/rev2/config.h => keyboards/lets_split/rev2/config.h +2 -0
@@ 36,6 36,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COL_PINS { F6, F7, B1, B3, B2, B6 }
// #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6 } //uncomment this line and comment line above if you need to reverse left-to-right key order

#define DIODE_DIRECTION COL2ROW

/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST


M keyboards/lets_split/sockets/config.h => keyboards/lets_split/sockets/config.h +2 -0
@@ 36,6 36,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COL_PINS { F4, F7, D7, B3, B2, B6}
// #define MATRIX_COL_PINS { B6, B2, B3, D7, F7, F4} //uncomment this line and comment line above if you need to reverse left-to-right key order

#define DIODE_DIRECTION COL2ROW

/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST


M keyboards/nafuda/config.h => keyboards/nafuda/config.h +2 -0
@@ 36,6 36,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { D1, D0, D4 }
#define MATRIX_COL_PINS { F4, F5, F6 }

#define DIODE_DIRECTION COL2ROW

/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5


M keyboards/naked48/rev1/config.h => keyboards/naked48/rev1/config.h +2 -0
@@ 37,6 37,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS_RIGHT { D4, C6, D7, E6 }
#define MATRIX_COL_PINS_RIGHT { F4, F5, F6, F7, B1, B3, B2, B6, B4, B5, B2, B2 }

#define DIODE_DIRECTION COL2ROW

/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5


M keyboards/naked60/rev1/config.h => keyboards/naked60/rev1/config.h +2 -0
@@ 41,6 41,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
//#define MATRIX_ROW_PINS_RIGHT { D1, D0, D4, C6, B6 }
//#define MATRIX_COL_PINS_RIGHT { F4, F5, F6, F7, B1, B3, B2, D7, E6, B4, B5, D3 }

#define DIODE_DIRECTION COL2ROW

/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5


M keyboards/naked64/rev1/config.h => keyboards/naked64/rev1/config.h +2 -0
@@ 36,6 36,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS_RIGHT { D4, C6, D7, E6, B4, B5, B2, B2 }
#define MATRIX_COL_PINS_RIGHT { F4, F5, F6, F7, B1, B3, B2, B6 }

#define DIODE_DIRECTION COL2ROW

/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5


M keyboards/rgbkb/sol/config.h => keyboards/rgbkb/sol/config.h +2 -0
@@ 35,6 35,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COLS 7
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7 }

#define DIODE_DIRECTION COL2ROW

/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5


M keyboards/rgbkb/zygomorph/rev1/config.h => keyboards/rgbkb/zygomorph/rev1/config.h +2 -0
@@ 38,6 38,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COLS 6
#define MATRIX_COL_PINS { F4, F6, C7, C6, B6, D4 }

#define DIODE_DIRECTION COL2ROW

#define SOFT_SERIAL_PIN D3

#define ENCODERS_PAD_A  { D2 }

M keyboards/runner3680/3x6/config.h => keyboards/runner3680/3x6/config.h +2 -0
@@ 34,6 34,8 @@
#define MATRIX_COL_PINS { F6, F7, B1, B3, B2 ,B6 }
// #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6} //uncomment this line and comment line above if you need to reverse left-to-right key order

#define DIODE_DIRECTION COL2ROW

/* define tapping term */
#define TAPPING_TERM 120


M keyboards/runner3680/3x7/config.h => keyboards/runner3680/3x7/config.h +2 -0
@@ 34,6 34,8 @@
#define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B2 ,B6 }
// #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5 } //uncomment this line and comment line above if you need to reverse left-to-right key order

#define DIODE_DIRECTION COL2ROW

/* define tapping term */
#define TAPPING_TERM 120


M keyboards/runner3680/3x8/config.h => keyboards/runner3680/3x8/config.h +2 -0
@@ 34,6 34,8 @@
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 ,B6 }
// #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order

#define DIODE_DIRECTION COL2ROW

/* define tapping term */
#define TAPPING_TERM 120


M keyboards/runner3680/4x6/config.h => keyboards/runner3680/4x6/config.h +2 -0
@@ 34,6 34,8 @@
#define MATRIX_COL_PINS { F6, F7, B1, B3, B2 ,B6 }
// #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6} //uncomment this line and comment line above if you need to reverse left-to-right key order

#define DIODE_DIRECTION COL2ROW

/* define tapping term */
#define TAPPING_TERM 120


M keyboards/runner3680/4x7/config.h => keyboards/runner3680/4x7/config.h +2 -0
@@ 34,6 34,8 @@
#define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B2 ,B6 }
// #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5 } //uncomment this line and comment line above if you need to reverse left-to-right key order

#define DIODE_DIRECTION COL2ROW

/* define tapping term */
#define TAPPING_TERM 120


M keyboards/runner3680/4x8/config.h => keyboards/runner3680/4x8/config.h +2 -0
@@ 34,6 34,8 @@
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 ,B6 }
// #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order

#define DIODE_DIRECTION COL2ROW

/* define tapping term */
#define TAPPING_TERM 120


M keyboards/runner3680/5x6/config.h => keyboards/runner3680/5x6/config.h +2 -0
@@ 34,6 34,8 @@
#define MATRIX_COL_PINS { F6, F7, B1, B3, B2 ,B6 }
// #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6} //uncomment this line and comment line above if you need to reverse left-to-right key order

#define DIODE_DIRECTION COL2ROW

/* define tapping term */
#define TAPPING_TERM 120


M keyboards/runner3680/5x7/config.h => keyboards/runner3680/5x7/config.h +2 -0
@@ 34,6 34,8 @@
#define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B2 ,B6 }
// #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5 } //uncomment this line and comment line above if you need to reverse left-to-right key order

#define DIODE_DIRECTION COL2ROW

/* define tapping term */
#define TAPPING_TERM 120


M keyboards/runner3680/5x8/config.h => keyboards/runner3680/5x8/config.h +2 -0
@@ 34,6 34,8 @@
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 ,B6 }
// #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order

#define DIODE_DIRECTION COL2ROW

/* define tapping term */
#define TAPPING_TERM 120


M keyboards/setta21/rev1/config.h => keyboards/setta21/rev1/config.h +2 -0
@@ 34,6 34,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { D4, C6, D7, E6 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3 }

#define DIODE_DIRECTION COL2ROW

/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5


M keyboards/signum/3_0/elitec/config.h => keyboards/signum/3_0/elitec/config.h +2 -0
@@ 22,6 22,8 @@
#define MATRIX_COL_PINS { B4, D7, D0, E6, D4, F6, F4, F7, B1, B3, C6, B2 }
#define UNUSED_PINS

#define DIODE_DIRECTION COL2ROW

/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5


M keyboards/tanuki/config.h => keyboards/tanuki/config.h +2 -0
@@ 36,6 36,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS {  F7 , B1 , D4 , D0 }
#define UNUSED_PINS

#define DIODE_DIRECTION COL2ROW

/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST


M keyboards/uzu42/rev1/config.h => keyboards/uzu42/rev1/config.h +2 -0
@@ 36,6 36,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3 }
// #define MATRIX_COL_PINS { B2, B3, B1, F7, F6, F5, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order

#define DIODE_DIRECTION COL2ROW

/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST


M keyboards/vitamins_included/rev1/config.h => keyboards/vitamins_included/rev1/config.h +2 -0
@@ 38,6 38,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { F5, F6, C7, F7 }
#define MATRIX_COL_PINS { F1, F4, E2, B6, D7, D6}

#define DIODE_DIRECTION COL2ROW

/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST


M keyboards/vitamins_included/rev2/config.h => keyboards/vitamins_included/rev2/config.h +2 -0
@@ 37,6 37,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { F5, F6, C7, F7 }
#define MATRIX_COL_PINS { F1, F4, E2, B6, D7, D6}

#define DIODE_DIRECTION COL2ROW

/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST


M quantum/matrix.c => quantum/matrix.c +8 -2
@@ 62,7 62,8 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
    return (last_row_value != current_matrix[current_row]);
}

#elif (DIODE_DIRECTION == COL2ROW)
#elif defined(DIODE_DIRECTION)
#    if (DIODE_DIRECTION == COL2ROW)

static void select_row(uint8_t row) {
    setPinOutput(row_pins[row]);


@@ 110,7 111,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
    return (last_row_value != current_matrix[current_row]);
}

#elif (DIODE_DIRECTION == ROW2COL)
#    elif (DIODE_DIRECTION == ROW2COL)

static void select_col(uint8_t col) {
    setPinOutput(col_pins[col]);


@@ 165,6 166,11 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col)
    return matrix_changed;
}

#    else
#        error DIODE_DIRECTION must be one of COL2ROW or ROW2COL!
#    endif
#else
#    error DIODE_DIRECTION is not defined!
#endif

void matrix_init(void) {

M quantum/split_common/matrix.c => quantum/split_common/matrix.c +8 -2
@@ 79,7 79,8 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
    return (last_row_value != current_matrix[current_row]);
}

#elif (DIODE_DIRECTION == COL2ROW)
#elif defined(DIODE_DIRECTION)
#    if (DIODE_DIRECTION == COL2ROW)

static void select_row(uint8_t row) {
    setPinOutput(row_pins[row]);


@@ 124,7 125,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
    return (last_row_value != current_matrix[current_row]);
}

#elif (DIODE_DIRECTION == ROW2COL)
#    elif (DIODE_DIRECTION == ROW2COL)

static void select_col(uint8_t col) {
    setPinOutput(col_pins[col]);


@@ 179,6 180,11 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col)
    return matrix_changed;
}

#    else
#        error DIODE_DIRECTION must be one of COL2ROW or ROW2COL!
#    endif
#else
#    error DIODE_DIRECTION is not defined!
#endif

void matrix_init(void) {