50 lines
1.8 KiB
C
Raw Normal View History

2025-06-27 20:53:56 +02:00
// Copyright 2022 Philip Gaber (@qhga)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 7
/*
* 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 { GP4, GP5, GP6, GP7, GP8, GP9 }
#define MATRIX_COL_PINS { GP28, GP27, GP26, GP22, GP20, GP23, GP21 }
#define BOOTMAGIC_ROW 0
#define BOOTMAGIC_COLUMN 6
#define BOOTMAGIC_ROW_RIGHT 6
#define BOOTMAGIC_COLUMN_RIGHT 6
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
// Set the handedness by writing it to EEPROM
#define EE_HANDS
// Used in ChibiOS/ARM boards that do not support VBUS detection (r2040 promicro, not liatris)
#define SPLIT_USB_DETECT
// ATTENTION: This has to be enabled on both halves so make sure you have a button on each
// half (independently) to get the half into bootloader mode. (e.g. BOOTMAGIC keys for both halves)
#define SPLIT_WATCHDOG_ENABLE
#define SPLIT_WATCHDOG_TIMEOUT 3000
// https://github.com/qmk/qmk_firmware/blob/master/docs/serial_driver.md#usart-full-duplex
#define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode.
#define SERIAL_USART_TX_PIN GP0 // USART TX pin
#define SERIAL_USART_RX_PIN GP1 // USART RX pin
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 20
#define USB_POLLING_INTERVAL_MS 1
/* 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