2022-02-06 12:00:50 -08:00
|
|
|
#pragma once
|
2022-06-16 11:12:10 -07:00
|
|
|
|
|
|
|
|
|
|
|
// USB parameters
|
|
|
|
#define USB_MAX_POWER_CONSUMPTION 500
|
|
|
|
#define USB_SUSPEND_WAKEUP_DELAY 0
|
2022-02-06 12:00:50 -08:00
|
|
|
|
2022-07-08 10:50:17 -07:00
|
|
|
// raw HID params
|
|
|
|
#define RAW_USAGE_PAGE 0xFF60
|
|
|
|
#define RAW_USAGE_ID 0x61
|
|
|
|
|
|
|
|
|
2022-06-16 11:12:10 -07:00
|
|
|
// Key matrix info
|
2022-02-06 12:00:50 -08:00
|
|
|
#define MATRIX_ROWS 14
|
|
|
|
#define MATRIX_ROWS_PER_SIDE (MATRIX_ROWS / 2)
|
|
|
|
#define MATRIX_COLS 6
|
|
|
|
#define COL_EXPANDED { true, true, true, true, true, true, true, false, false, false, false, false, false, false }
|
|
|
|
#define MATRIX_ONBOARD_ROW_PINS { 0, 0, 0, 0, 0, 0, 0, B0, B1, B2, B3, D2, D3, C6 }
|
|
|
|
#define MATRIX_ONBOARD_COL_PINS { F0, F1, F4, F5, F6, F7 }
|
|
|
|
#define DIODE_DIRECTION COL2ROW
|
|
|
|
#define EXPANDER_COL_REGISTER GPIOB
|
|
|
|
#define EXPANDER_ROW_REGISTER GPIOA
|
|
|
|
#define MATRIX_EXPANDER_COL_PINS { 5, 4, 3, 2, 1, 0 }
|
|
|
|
#define MATRIX_EXPANDER_ROW_PINS { 0, 1, 2, 3, 4, 5, 6 }
|
|
|
|
|
|
|
|
|
2022-06-16 11:12:10 -07:00
|
|
|
// The debounce filtering reports a key/switch change directly,
|
|
|
|
// without any extra delay. After that the debounce logic will filter
|
|
|
|
// all further changes, until the key/switch reports the same
|
|
|
|
// state for the given count of scans.
|
|
|
|
//
|
|
|
|
// A perfect switch will get a short debounce period and
|
|
|
|
// bad key will get a much longer debounce period.
|
|
|
|
//
|
|
|
|
// The result is an adaptive debouncing period for each switch.
|
|
|
|
// If you don't define it here, the matrix code will default to
|
|
|
|
// 5, which is now closer to 10ms, but still plenty according to
|
|
|
|
// manufacturer specs.
|
|
|
|
#define DEBOUNCE 30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Feature parameters
|
|
|
|
#define TAPPING_TOGGLE 1
|
|
|
|
#define TAPPING_TERM 200
|
|
|
|
|
|
|
|
// This makes it possible to do rolling combos (zx)
|
|
|
|
// with keys that convert to other keys on hold
|
|
|
|
// (z becomes ctrl when you hold it, and when this option isn't
|
|
|
|
// enabled, z rapidly followed by x actually sends Ctrl-x)
|
2023-12-19 12:04:38 -08:00
|
|
|
//#define IGNORE_MOD_TAP_INTERRUPT
|
2022-06-16 11:12:10 -07:00
|
|
|
|
2022-02-06 12:00:50 -08:00
|
|
|
#define MOUSEKEY_INTERVAL 20
|
|
|
|
#define MOUSEKEY_DELAY 0
|
2022-06-16 11:12:10 -07:00
|
|
|
#define MOUSEKEY_TIME_TO_MAX 100
|
|
|
|
#define MOUSEKEY_MAX_SPEED 5
|
2022-02-06 12:00:50 -08:00
|
|
|
#define MOUSEKEY_WHEEL_DELAY 400
|
|
|
|
#define MOUSEKEY_WHEEL_INTERVAL MOUSEKEY_INTERVAL
|
|
|
|
#define MOUSEKEY_WHEEL_MAX_SPEED MOUSEKEY_MAX_SPEED
|
|
|
|
#define MOUSEKEY_WHEEL_TIME_TO_MAX MOUSEKEY_TIME_TO_MAX
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-06-16 11:12:10 -07:00
|
|
|
// Ergodox indicator LEDs
|
2022-06-16 11:26:20 -07:00
|
|
|
#define LED_BRIGHTNESS_LO 5
|
|
|
|
#define LED_BRIGHTNESS_HI 100
|
2022-06-15 16:29:22 -07:00
|
|
|
#define LED_BRIGHTNESS_DEFAULT (LED_BRIGHTNESS_LO)
|
2022-02-06 12:00:50 -08:00
|
|
|
|
2022-06-15 16:29:22 -07:00
|
|
|
|
2022-06-16 11:12:10 -07:00
|
|
|
// RGBLight (Underglow) config
|
2022-06-15 16:29:22 -07:00
|
|
|
#define RGBLED_NUM 8
|
2023-12-19 12:04:38 -08:00
|
|
|
#define WS2812_DI_PIN D7
|
2022-06-15 16:29:22 -07:00
|
|
|
|
2022-06-16 11:12:10 -07:00
|
|
|
#define RGBLIGHT_HUE_STEP 10
|
|
|
|
#define RGBLIGHT_SAT_STEP 16
|
|
|
|
#define RGBLIGHT_VAL_STEP 10
|
|
|
|
// Max brightness
|
|
|
|
#define RGBLIGHT_LIMIT_VAL 200
|
2022-06-15 16:29:22 -07:00
|
|
|
|
2022-12-27 13:22:07 -08:00
|
|
|
#define RGBLIGHT_OFF_AT_START
|
2022-06-16 12:32:42 -07:00
|
|
|
//#define RGBLIGHT_NO_EEPROM
|
|
|
|
|
2022-06-16 11:12:10 -07:00
|
|
|
// Prevents RGB keycodes from affecting underglow.
|
2022-06-17 12:06:53 -07:00
|
|
|
// This allows us to control RGBMatrix and RGBLight seperately
|
|
|
|
// with custom macros defined in betalupi_ergodox.c
|
2022-06-15 16:29:22 -07:00
|
|
|
#define RGBLIGHT_DISABLE_KEYCODES
|
2022-02-06 12:00:50 -08:00
|
|
|
|
2022-06-15 16:29:22 -07:00
|
|
|
// The underglow LEDs I used for the backlight mod aren't RGBW,
|
|
|
|
// undef this just to be sure.
|
|
|
|
#undef RGBW
|
2022-02-06 12:00:50 -08:00
|
|
|
#define RGBLIGHT_SLEEP
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-06-16 11:12:10 -07:00
|
|
|
// RGBMatrix (Key light) config
|
2022-02-06 12:00:50 -08:00
|
|
|
#define DRIVER_ADDR_1 0b1110100
|
|
|
|
#define DRIVER_ADDR_2 0b1110111
|
|
|
|
#define DRIVER_COUNT 2
|
|
|
|
#define DRIVER_1_LED_TOTAL 24
|
|
|
|
#define DRIVER_2_LED_TOTAL 24
|
2022-12-27 13:22:07 -08:00
|
|
|
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
|
2022-02-06 12:00:50 -08:00
|
|
|
|
2022-06-16 11:12:10 -07:00
|
|
|
#define RGB_MATRIX_HUE_STEP 10
|
|
|
|
#define RGB_MATRIX_SAT_STEP 16
|
|
|
|
#define RGB_MATRIX_VAL_STEP 16
|
|
|
|
#define RGB_MATRIX_STARTUP_SPD 60
|
|
|
|
|
|
|
|
// limits the number of LEDs to process in an animation per task run
|
|
|
|
// (increases keyboard responsiveness)
|
2022-02-06 12:00:50 -08:00
|
|
|
#define RGB_MATRIX_LED_PROCESS_LIMIT 5
|
2022-06-16 11:12:10 -07:00
|
|
|
|
|
|
|
// limits in milliseconds how frequently an animation will update the LEDs.
|
|
|
|
// 16 (16ms) is equivalent to limiting to 60fps
|
|
|
|
// (increases keyboard responsiveness)
|
2022-07-20 21:19:31 -07:00
|
|
|
#define RGB_MATRIX_LED_FLUSH_LIMIT 16
|
2022-06-16 11:12:10 -07:00
|
|
|
|
|
|
|
// turn off effects when suspended
|
2022-02-06 12:00:50 -08:00
|
|
|
#define RGB_DISABLE_WHEN_USB_SUSPENDED true
|
|
|
|
|
2022-06-16 11:12:10 -07:00
|
|
|
// Not sure what this does.
|
|
|
|
// ZSA says: "fixes space cadet rollover issue"
|
|
|
|
#define DISABLE_SPACE_CADET_ROLLOVER
|
|
|
|
|