aboutsummaryrefslogtreecommitdiff
path: root/keyboards/idobao/id75/v2/config.h
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/idobao/id75/v2/config.h')
-rw-r--r--keyboards/idobao/id75/v2/config.h152
1 files changed, 152 insertions, 0 deletions
diff --git a/keyboards/idobao/id75/v2/config.h b/keyboards/idobao/id75/v2/config.h
new file mode 100644
index 000000000..c2b64649c
--- /dev/null
+++ b/keyboards/idobao/id75/v2/config.h
@@ -0,0 +1,152 @@
1/* Copyright 2022 peepeetee
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
17#pragma once
18
19#include "config_common.h"
20
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0x6964 // ID
23#define PRODUCT_ID 0x0075
24#define DEVICE_VER 0x0002
25#define MANUFACTURER IDOBAO
26#define PRODUCT ID75
27
28/* key matrix size */
29#define MATRIX_ROWS 5
30#define MATRIX_COLS 15
31
32/*
33 * Keyboard Matrix Assignments
34 *
35 * Change this to how you wired your keyboard
36 * COLS: AVR pins used for columns, left to right
37 * ROWS: AVR pins used for rows, top to bottom
38 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
39 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
40 *
41*/
42#define MATRIX_ROW_PINS { B0, B3, C7, B6, C6 }
43#define MATRIX_COL_PINS { F6, F5, F4, F1, E6, D5, D3, D2, D1, D0, D4, D6, D7, B4, B5 }
44#define UNUSED_PINS
45
46/* COL2ROW, ROW2COL*/
47#define DIODE_DIRECTION COL2ROW
48
49#undef RGB_DI_PIN
50#define RGB_DI_PIN F0
51#ifdef RGB_MATRIX_ENABLE
52# define DRIVER_LED_TOTAL 85 /* 10 Bottom 75 top*/
53// RGB Matrix Animation modes. Explicitly enabled
54// For full list of effects, see:
55// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
56# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
57# define RGB_MATRIX_KEYPRESSES
58# define ENABLE_RGB_MATRIX_ALPHAS_MODS
59# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
60# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
61# define ENABLE_RGB_MATRIX_BREATHING
62# define ENABLE_RGB_MATRIX_BAND_SAT
63# define ENABLE_RGB_MATRIX_BAND_VAL
64# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
65# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
66# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
67# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
68# define ENABLE_RGB_MATRIX_CYCLE_ALL
69# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
70# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
71# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
72# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
73# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
74# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
75// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
76# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
77# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
78// enabled only if RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
79# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
80# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
81# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
82# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
83# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
84# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
85# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
86# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
87# define ENABLE_RGB_MATRIX_SPLASH
88# define ENABLE_RGB_MATRIX_MULTISPLASH
89# define ENABLE_RGB_MATRIX_SOLID_SPLASH
90# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
91#endif
92
93/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
94#define DEBOUNCE 5
95
96/* define if matrix has ghost (lacks anti-ghosting diodes) */
97//#define MATRIX_HAS_GHOST
98
99/* number of backlight levels */
100
101/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
102#define LOCKING_SUPPORT_ENABLE
103/* Locking resynchronize hack */
104#define LOCKING_RESYNC_ENABLE
105
106/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
107 * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
108 */
109// #define GRAVE_ESC_CTRL_OVERRIDE
110
111/*
112 * Force NKRO
113 *
114 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
115 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
116 * makefile for this to work.)
117 *
118 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
119 * until the next keyboard reset.
120 *
121 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
122 * fully operational during normal computer usage.
123 *
124 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
125 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
126 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
127 * power-up.
128 *
129 */
130//#define FORCE_NKRO
131
132/*
133 * Feature disable options
134 * These options are also useful to firmware size reduction.
135 */
136
137/* disable debug print */
138//#define NO_DEBUG
139
140/* disable print */
141//#define NO_PRINT
142
143/* disable action features */
144//#define NO_ACTION_LAYER
145//#define NO_ACTION_TAPPING
146//#define NO_ACTION_ONESHOT
147//#define NO_ACTION_MACRO
148//#define NO_ACTION_FUNCTION
149
150/* Bootmagic Lite key configuration */
151#define BOOTMAGIC_LITE_ROW 0
152#define BOOTMAGIC_LITE_COLUMN 0