aboutsummaryrefslogtreecommitdiff
path: root/keyboards/kprepublic/bm60hsrgb/rev2/config.h
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/kprepublic/bm60hsrgb/rev2/config.h')
-rw-r--r--keyboards/kprepublic/bm60hsrgb/rev2/config.h139
1 files changed, 139 insertions, 0 deletions
diff --git a/keyboards/kprepublic/bm60hsrgb/rev2/config.h b/keyboards/kprepublic/bm60hsrgb/rev2/config.h
new file mode 100644
index 000000000..e25f0ad48
--- /dev/null
+++ b/keyboards/kprepublic/bm60hsrgb/rev2/config.h
@@ -0,0 +1,139 @@
1/* Copyright 2021 bdtc123
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#include "config_common.h"
19
20/* USB Device descriptor parameter */
21#define VENDOR_ID 0x4B50
22#define PRODUCT_ID 0x1121
23#define DEVICE_VER 0x0002
24#define MANUFACTURER KP Republic
25#define PRODUCT BM60V2
26
27/* key matrix size */
28#define MATRIX_ROWS 5
29#define MATRIX_COLS 14
30
31/*
32 * Keyboard Matrix Assignments
33 *
34 * Change this to how you wired your keyboard
35 * COLS: AVR pins used for columns, left to right
36 * ROWS: AVR pins used for rows, top to bottom
37 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
38 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
39 *
40 */
41#define MATRIX_ROW_PINS { E6, D2, D3, D5, F6 }
42#define MATRIX_COL_PINS { B2, B3, B7, B0, B1, F7, D4, D6, D7, B4, B5, B6, C6, C7 }
43#define UNUSED_PINS
44
45/* COL2ROW, ROW2COL*/
46#define DIODE_DIRECTION ROW2COL
47#define USB_POLLING_INTERVAL_MS 1
48
49/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
50#define DEBOUNCE 3
51
52/* disable these deprecated features by default */
53#define NO_ACTION_MACRO
54#define NO_ACTION_FUNCTION
55//rgb light setting
56#define RGBLIGHT_LIMIT_VAL 150
57#define RGBLED_NUM 6
58#define RGB_DI_PIN F0
59#define RGBLIGHT_ANIMATIONS
60#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD
61#define RGBLIGHT_HUE_STEP 8
62#define RGBLIGHT_SAT_STEP 8
63#define RGBLIGHT_VAL_STEP 8
64
65#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
66#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
67#define DRIVER_ADDR_1 0b1010000
68
69#define RGB_MATRIX_KEYPRESSES
70// RGB Matrix Animation modes. Explicitly enabled
71// For full list of effects, see:
72// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
73#define ENABLE_RGB_MATRIX_ALPHAS_MODS
74#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
75#define ENABLE_RGB_MATRIX_BREATHING
76#define ENABLE_RGB_MATRIX_BAND_VAL
77#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
78#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
79#define ENABLE_RGB_MATRIX_CYCLE_ALL
80#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
81#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
82#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
83#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
84#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
85#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
86#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
87#define ENABLE_RGB_MATRIX_DUAL_BEACON
88#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
89#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
90#define ENABLE_RGB_MATRIX_HUE_BREATHING
91#define ENABLE_RGB_MATRIX_HUE_PENDULUM
92#define ENABLE_RGB_MATRIX_HUE_WAVE
93#define ENABLE_RGB_MATRIX_PIXEL_RAIN
94#define ENABLE_RGB_MATRIX_PIXEL_FLOW
95#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
96// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
97#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
98#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
99// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
100#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
101#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
102#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
103#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
104#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
105#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
106#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
107#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
108#define ENABLE_RGB_MATRIX_SPLASH
109#define ENABLE_RGB_MATRIX_MULTISPLASH
110#define ENABLE_RGB_MATRIX_SOLID_SPLASH
111#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
112
113#define DRIVER_COUNT 2
114#define DRIVER_1_LED_TOTAL 63
115//#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
116
117#if defined(RGB_MATRIX_ENABLE) && defined(RGBLIGHT_ENABLE)
118 #define RGB_MATRIX_DISABLE_KEYCODES
119#endif
120
121#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
122
123#define ISSI_LED_TOTAL DRIVER_1_LED_TOTAL
124
125// Underglow LEDs are WS2812, but someone might want to use RGBLIGHT for them;
126// don't use those LEDs in RGB Matrix in that case.
127#ifdef RGBLIGHT_ENABLE
128# define WS2812_LED_TOTAL 0
129#else
130# define WS2812_LED_TOTAL 6
131#endif
132
133#define DRIVER_LED_TOTAL (ISSI_LED_TOTAL + WS2812_LED_TOTAL)
134
135#ifdef RGB_MATRIX_ENABLE
136# define RGB_MATRIX_KEYPRESSES
137# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
138#endif
139