diff options
Diffstat (limited to 'keyboards/bandominedoni/config.h')
-rw-r--r-- | keyboards/bandominedoni/config.h | 270 |
1 files changed, 270 insertions, 0 deletions
diff --git a/keyboards/bandominedoni/config.h b/keyboards/bandominedoni/config.h new file mode 100644 index 000000000..e1e4d8740 --- /dev/null +++ b/keyboards/bandominedoni/config.h | |||
@@ -0,0 +1,270 @@ | |||
1 | /* Copyright 2021 3araht | ||
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 0xFEED | ||
22 | #define PRODUCT_ID 0xF4B5 | ||
23 | #define DEVICE_VER 0x0001 | ||
24 | #define MANUFACTURER 3araht | ||
25 | #define PRODUCT bandominedoni | ||
26 | |||
27 | /* key matrix size */ | ||
28 | #define MATRIX_ROWS 12 | ||
29 | #define MATRIX_COLS 7 | ||
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 { B5, B4, D7, F6, C6, D4 } | ||
42 | #define MATRIX_COL_PINS { D1, E6, F7, B1, B3, B2, D0 } | ||
43 | #define UNUSED_PINS | ||
44 | |||
45 | #define MASTER_RIGHT | ||
46 | #ifndef MASTER_RIGHT | ||
47 | // SPLIT_HAND_MATRIX_GRID was initially designed to use with left hand side diode D35 mounted and not pressing K7 on the right hand side during boot. However when a USB cable is reconnected immediately, it fails. Decided to use "MASTER_RIGHT" to make it more reliable. | ||
48 | # define SPLIT_HAND_MATRIX_GRID B5, D0 | ||
49 | #endif | ||
50 | |||
51 | /* COL2ROW, ROW2COL */ | ||
52 | #define DIODE_DIRECTION COL2ROW | ||
53 | |||
54 | /* | ||
55 | * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. | ||
56 | */ | ||
57 | #define SOFT_SERIAL_PIN D2 // or D1, D2, D3, E6 | ||
58 | |||
59 | //#define LED_NUM_LOCK_PIN B0 | ||
60 | //#define LED_CAPS_LOCK_PIN B1 | ||
61 | //#define LED_SCROLL_LOCK_PIN B2 | ||
62 | //#define LED_COMPOSE_PIN B3 | ||
63 | //#define LED_KANA_PIN B4 | ||
64 | |||
65 | //#define BACKLIGHT_PIN B7 | ||
66 | //#define BACKLIGHT_LEVELS 3 | ||
67 | //#define BACKLIGHT_BREATHING | ||
68 | |||
69 | #define RGB_DI_PIN D3 | ||
70 | //#ifdef RGB_DI_PIN | ||
71 | //# define RGBLED_NUM 16 | ||
72 | //# define RGBLIGHT_HUE_STEP 8 | ||
73 | //# define RGBLIGHT_SAT_STEP 8 | ||
74 | //# define RGBLIGHT_VAL_STEP 8 | ||
75 | //# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ | ||
76 | //# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ | ||
77 | /*== all animations enable ==*/ | ||
78 | //# define RGBLIGHT_ANIMATIONS | ||
79 | /*== or choose animations ==*/ | ||
80 | //# define RGBLIGHT_EFFECT_BREATHING | ||
81 | //# define RGBLIGHT_EFFECT_RAINBOW_MOOD | ||
82 | //# define RGBLIGHT_EFFECT_RAINBOW_SWIRL | ||
83 | //# define RGBLIGHT_EFFECT_SNAKE | ||
84 | //# define RGBLIGHT_EFFECT_KNIGHT | ||
85 | //# define RGBLIGHT_EFFECT_CHRISTMAS | ||
86 | //# define RGBLIGHT_EFFECT_STATIC_GRADIENT | ||
87 | //# define RGBLIGHT_EFFECT_RGB_TEST | ||
88 | //# define RGBLIGHT_EFFECT_ALTERNATING | ||
89 | /*== customize breathing effect ==*/ | ||
90 | /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ | ||
91 | //# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 | ||
92 | /*==== use exp() and sin() ====*/ | ||
93 | //# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 | ||
94 | //# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 | ||
95 | //#endif | ||
96 | |||
97 | #ifdef RGB_MATRIX_ENABLE | ||
98 | |||
99 | /* ws2812 RGB MATRIX */ | ||
100 | # define DRIVER_LED_TOTAL 76 | ||
101 | |||
102 | // reacts to keypresses | ||
103 | # define RGB_MATRIX_KEYPRESSES | ||
104 | |||
105 | // for all fingers used at once. | ||
106 | # define LED_HITS_TO_REMEMBER 10 | ||
107 | |||
108 | # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50 | ||
109 | # define RGB_MATRIX_STARTUP_SPD 127 | ||
110 | // the above brighness setting has no effect on rgb_matrix_set_color(). | ||
111 | // Use darker colors instead. | ||
112 | /* RGB darker COLORS */ | ||
113 | # define RGB_DARKWHITE 0x33, 0x33, 0x33 | ||
114 | # define RGB_DARKRED 0x33, 0x0, 0x0 | ||
115 | # define RGB_DARKCORAL 0x33, 0x18, 0xF | ||
116 | # define RGB_DARKORANGE 0x33, 0x19, 0x0 | ||
117 | # define RGB_DARKGOLDENROD 0x2B, 0x21, 0x6 | ||
118 | # define RGB_DARKGOLD 0x33, 0x2B, 0x0 | ||
119 | # define RGB_DARKYELLOW 0x33, 0x33, 0x0 | ||
120 | # define RGB_DARKCHARTREUSE 0x19, 0x33, 0x0 | ||
121 | # define RGB_DARKGREEN 0x0, 0x33, 0x0 | ||
122 | # define RGB_DARKSPRINGGREEN 0x0, 0x33, 0x19 | ||
123 | # define RGB_DARKTURQUOISE 0xE, 0x16, 0x15 | ||
124 | # define RGB_DARKTEAL 0x0, 0x19, 0x19 | ||
125 | # define RGB_DARKCYAN 0x0, 0x33, 0x33 | ||
126 | # define RGB_DARKAZURE 0x1E, 0x31, 0x33 | ||
127 | # define RGB_DARKBLUE 0x0, 0x0, 0x33 | ||
128 | # define RGB_DARKPURPLE 0x18, 0x0, 0x33 | ||
129 | # define RGB_DARKMAGENTA 0x33, 0x0, 0x33 | ||
130 | # define RGB_DARKPINK 0x33, 0x19, 0x26 | ||
131 | |||
132 | // https://docs.qmk.fm/#/feature_rgb_matrix | ||
133 | // Enable suspend mode. | ||
134 | # define RGB_DISABLE_WHEN_USB_SUSPENDED true | ||
135 | |||
136 | # ifdef CONSOLE_ENABLE | ||
137 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE | ||
138 | # else | ||
139 | // #define ENABLE_RGB_MATRIX_ALPHAS_MODS | ||
140 | # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN | ||
141 | # define ENABLE_RGB_MATRIX_BREATHING | ||
142 | # define ENABLE_RGB_MATRIX_BAND_SAT | ||
143 | # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT | ||
144 | # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT | ||
145 | # define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT | ||
146 | # define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS | ||
147 | // #define ENABLE_RGB_MATRIX_TYPING_HEATMAP | ||
148 | # define ENABLE_RGB_MATRIX_DIGITAL_RAIN | ||
149 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE | ||
150 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE | ||
151 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE | ||
152 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS | ||
153 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS | ||
154 | # define ENABLE_RGB_MATRIX_SPLASH | ||
155 | # define ENABLE_RGB_MATRIX_SOLID_SPLASH | ||
156 | // RAINDROPS don't match well with layer LED indicator (oc) using rgb_matrix_set_color(). | ||
157 | // #define ENABLE_RGB_MATRIX_RAINDROPS | ||
158 | // #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS | ||
159 | // Recommendend not to use these. | ||
160 | # ifndef VIA_ENABLE | ||
161 | # define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT | ||
162 | # define ENABLE_RGB_MATRIX_BAND_VAL | ||
163 | # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL | ||
164 | # define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL | ||
165 | # define ENABLE_RGB_MATRIX_CYCLE_ALL | ||
166 | # define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN | ||
167 | # define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON | ||
168 | # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN | ||
169 | # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL | ||
170 | # define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL | ||
171 | # define ENABLE_RGB_MATRIX_CYCLE_SPIRAL | ||
172 | # define ENABLE_RGB_MATRIX_DUAL_BEACON | ||
173 | # define ENABLE_RGB_MATRIX_RAINBOW_BEACON | ||
174 | # define ENABLE_RGB_MATRIX_HUE_BREATHING | ||
175 | # define ENABLE_RGB_MATRIX_HUE_PENDULUM | ||
176 | # define ENABLE_RGB_MATRIX_HUE_WAVE | ||
177 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE | ||
178 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS | ||
179 | # define ENABLE_RGB_MATRIX_MULTISPLASH | ||
180 | # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH | ||
181 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS | ||
182 | # endif | ||
183 | # endif // CONSOLE_ENABLE | ||
184 | #endif // RGB_MATRIX_ENABLE | ||
185 | |||
186 | /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | ||
187 | #define DEBOUNCE 5 | ||
188 | |||
189 | /* define if matrix has ghost (lacks anti-ghosting diodes) */ | ||
190 | //#define MATRIX_HAS_GHOST | ||
191 | |||
192 | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||
193 | // #define LOCKING_SUPPORT_ENABLE | ||
194 | /* Locking resynchronize hack */ | ||
195 | // #define LOCKING_RESYNC_ENABLE | ||
196 | |||
197 | /* If defined, GRAVE_ESC will always act as ESC when CTRL is held. | ||
198 | * This is useful for the Windows task manager shortcut (ctrl+shift+esc). | ||
199 | */ | ||
200 | //#define GRAVE_ESC_CTRL_OVERRIDE | ||
201 | |||
202 | /* | ||
203 | * Force NKRO | ||
204 | * | ||
205 | * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved | ||
206 | * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the | ||
207 | * makefile for this to work.) | ||
208 | * | ||
209 | * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) | ||
210 | * until the next keyboard reset. | ||
211 | * | ||
212 | * NKRO may prevent your keystrokes from being detected in the BIOS, but it is | ||
213 | * fully operational during normal computer usage. | ||
214 | * | ||
215 | * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) | ||
216 | * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by | ||
217 | * bootmagic, NKRO mode will always be enabled until it is toggled again during a | ||
218 | * power-up. | ||
219 | * | ||
220 | */ | ||
221 | //#define FORCE_NKRO | ||
222 | |||
223 | /* | ||
224 | * Feature disable options | ||
225 | * These options are also useful to firmware size reduction. | ||
226 | */ | ||
227 | |||
228 | /* disable debug print */ | ||
229 | //#define NO_DEBUG | ||
230 | |||
231 | /* disable print */ | ||
232 | //#define NO_PRINT | ||
233 | |||
234 | /* disable action features */ | ||
235 | //#define NO_ACTION_LAYER | ||
236 | |||
237 | /* 2021/01/22 added to shrink firmware size */ | ||
238 | // NO_ACTION_TAPPING -1964 bytes, however, this disables Layer mods... | ||
239 | // #define NO_ACTION_TAPPING | ||
240 | // NO_ACTION_ONESHOT -388 bytes | ||
241 | #define NO_ACTION_ONESHOT | ||
242 | |||
243 | /* disable these deprecated features by default */ | ||
244 | #define NO_ACTION_MACRO | ||
245 | #define NO_ACTION_FUNCTION | ||
246 | |||
247 | /* Bootmagic Lite key configuration */ | ||
248 | //#define BOOTMAGIC_LITE_ROW 0 | ||
249 | //#define BOOTMAGIC_LITE_COLUMN 0 | ||
250 | |||
251 | #ifdef MIDI_ENABLE | ||
252 | # define MIDI_ADVANCED | ||
253 | // Initial velocity value (avoid using 127 since it is used as a special number in some sound sources.) | ||
254 | # define MIDI_INITIAL_VELOCITY 117 | ||
255 | #endif // MIDI_ENABLE | ||
256 | |||
257 | /* | ||
258 | * Encoder options | ||
259 | */ | ||
260 | #ifdef ENCODER_ENABLE | ||
261 | # define ENCODERS_PAD_A { C7 } // dummy | ||
262 | # define ENCODERS_PAD_B { B7 } // dummy | ||
263 | # define ENCODERS_PAD_A_RIGHT { F5 } | ||
264 | # define ENCODERS_PAD_B_RIGHT { F4 } | ||
265 | # define ENCODER_RESOLUTION 4 | ||
266 | # define TAP_CODE_DELAY 10 | ||
267 | # define ENCODERS 2 | ||
268 | # define ENCODERS_CW_KEY { {4, 5}, {6, 5} } | ||
269 | # define ENCODERS_CCW_KEY { {3, 5}, {5, 5} } | ||
270 | #endif // ENCODER_ENABLE | ||