aboutsummaryrefslogtreecommitdiff
path: root/keyboards/kprepublic/bm80/config.h
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/kprepublic/bm80/config.h')
-rw-r--r--keyboards/kprepublic/bm80/config.h99
1 files changed, 99 insertions, 0 deletions
diff --git a/keyboards/kprepublic/bm80/config.h b/keyboards/kprepublic/bm80/config.h
new file mode 100644
index 000000000..584fdec98
--- /dev/null
+++ b/keyboards/kprepublic/bm80/config.h
@@ -0,0 +1,99 @@
1/*
2Copyright 2021 peepeetee
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "config_common.h"
21
22/* USB Device descriptor parameter */
23#define VENDOR_ID 0x4B50 //KP
24#define PRODUCT_ID 0xEF83
25#define DEVICE_VER 0x0001
26#define MANUFACTURER KPRepublic
27#define PRODUCT BM80HSRGB
28
29/* key matrix size */
30#define MATRIX_ROWS 6
31#define MATRIX_COLS 17
32
33/*
34 * Keyboard Matrix Assignments
35 *
36 * Change this to how you wired your keyboard
37 * COLS: AVR pins used for columns, left to right
38 * ROWS: AVR pins used for rows, top to bottom
39 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
40 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
41 *
42 */
43#define MATRIX_ROW_PINS { B3, B2, B1, B0, C6, C7 }
44#define MATRIX_COL_PINS { F0, F1, F4, D7, D6, D4, D5, D3, D2, F5, F6, F7, D1, D0, B4, B5, B6 }
45#define UNUSED_PINS
46
47/* COL2ROW, ROW2COL */
48#define DIODE_DIRECTION COL2ROW
49
50
51
52
53#define LED_CAPS_LOCK_PIN E6
54#define LED_PIN_ON_STATE 0
55
56
57#define RGB_DI_PIN E2
58// The number of LEDs connected
59#define DRIVER_LED_TOTAL 87
60
61#ifdef RGB_DI_PIN
62#define RGBLED_NUM 87
63#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
64//#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
65#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
66#define RGB_DISABLE_TIMEOUT 0 // number of milliseconds to wait until rgb automatically turns off
67//#define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
68#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
69// #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
70#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set
71#define RGB_MATRIX_STARTUP_HUE 0 // Sets the default hue value, if none has been set
72#define RGB_MATRIX_STARTUP_SAT 255 // Sets the default saturation value, if none has been set
73#define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set
74#define RGB_MATRIX_STARTUP_SPD 127 // Sets the default animation speed, if none has been set
75// #define RGB_MATRIX_DISABLE_KEYCODES // disables control of rgb matrix by keycodes (must use code functions to control the feature)
76
77
78
79// # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
80// does not work for some reason, might revisit
81
82
83
84#endif
85
86/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
87#define DEBOUNCE 5
88
89/* define if matrix has ghost (lacks anti-ghosting diodes) */
90//#define MATRIX_HAS_GHOST
91
92/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
93#define LOCKING_SUPPORT_ENABLE
94/* Locking resynchronize hack */
95#define LOCKING_RESYNC_ENABLE
96
97/* disable these deprecated features by default */
98#define NO_ACTION_MACRO
99#define NO_ACTION_FUNCTION