aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author3araht <69518343+3araht@users.noreply.github.com>2021-12-27 19:27:15 +0900
committerGitHub <noreply@github.com>2021-12-27 21:27:15 +1100
commit4e077250d56f7e786af0cdef00f4b41d77e2b85c (patch)
treeac9e7c62f60d0ede6cddc733a3627b3d01308a03
parent07465c0ebbabf35079fed70a58e73da1e9419444 (diff)
downloadqmk_firmware-4e077250d56f7e786af0cdef00f4b41d77e2b85c.tar.gz
qmk_firmware-4e077250d56f7e786af0cdef00f4b41d77e2b85c.zip
bandominedoni, Drashna's method is applied to encoder_update_kb. (#15287)
* Drashna's method is applied to rotary encoder rotation detection. rgb_matrix_user.inc -> rgb_matrix_kb.inc. * Disabled some RGB MATRIX effects to shrink the firmware size. * via # of layers changed from 5 to 4.
-rw-r--r--keyboards/bandominedoni/bandominedoni.c72
-rw-r--r--keyboards/bandominedoni/bandominedoni.h4
-rw-r--r--keyboards/bandominedoni/config.h159
-rw-r--r--keyboards/bandominedoni/keymaps/led/keymap.c32
-rw-r--r--keyboards/bandominedoni/keymaps/led/rules.mk4
-rw-r--r--keyboards/bandominedoni/keymaps/via/config.h2
-rw-r--r--keyboards/bandominedoni/keymaps/via/keymap.c32
-rw-r--r--keyboards/bandominedoni/keymaps/via/rules.mk3
-rw-r--r--keyboards/bandominedoni/rgb_matrix_kb.inc (renamed from keyboards/bandominedoni/rgb_matrix_user.inc)0
9 files changed, 141 insertions, 167 deletions
diff --git a/keyboards/bandominedoni/bandominedoni.c b/keyboards/bandominedoni/bandominedoni.c
index 1b0365ac6..eacbb40fa 100644
--- a/keyboards/bandominedoni/bandominedoni.c
+++ b/keyboards/bandominedoni/bandominedoni.c
@@ -119,33 +119,53 @@ static enum { UNKNOWN, LEFT, RIGHT } hand_side = UNKNOWN;
119} 119}
120 120
121#ifdef ENCODER_ENABLE 121#ifdef ENCODER_ENABLE
122const uint16_t rt_matrix[2][2] = { 122# ifdef ENCODERS
123 {5, 5}, {5, 6} 123static uint8_t encoder_state[ENCODERS] = {0};
124}; 124static keypos_t encoder_cw[ENCODERS] = ENCODERS_CW_KEY;
125 125static keypos_t encoder_ccw[ENCODERS] = ENCODERS_CCW_KEY;
126bool encoder_update_kb(uint8_t index, bool clockwise) { 126# endif
127 if (index == 1) { /* An encoder on the right side */
128 keypos_t key;
129 int cw = 0;
130 cw = clockwise ? 1 : 0;
131 key.row = rt_matrix[cw][0];
132 key.col = rt_matrix[cw][1];
133 uint8_t layer = layer_switch_get_layer(key);
134 uint16_t keycode = keymap_key_to_keycode(layer, key);
135 keyrecord_t record;
136 record.event.key = key;
137 127
138 if (keycode < MI_ON){ 128void encoder_action_unregister(void) {
139 tap_code16(keycode); 129# ifdef ENCODERS
140 } else { 130 for (int index = 0; index < ENCODERS; ++index) {
141 record.event.pressed = true; 131 if (encoder_state[index]) {
142 process_midi(keycode, &record); 132 keyevent_t encoder_event = (keyevent_t) {
143 wait_ms(TAP_CODE_DELAY); 133 .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index],
144 record.event.pressed = false; 134 .pressed = false,
145 process_midi(keycode, &record); 135 .time = (timer_read() | 1)
136 };
137 encoder_state[index] = 0;
138 action_exec(encoder_event);
146 } 139 }
147
148 } 140 }
149 return true; 141# endif
142}
143
144void encoder_action_register(uint8_t index, bool clockwise) {
145# ifdef ENCODERS
146 keyevent_t encoder_event = (keyevent_t) {
147 .key = clockwise ? encoder_cw[index] : encoder_ccw[index],
148 .pressed = true,
149 .time = (timer_read() | 1)
150 };
151 encoder_state[index] = (clockwise ^ 1) | (clockwise << 1);
152# ifdef CONSOLE_ENABLE
153 uprintf("encoder_action_register index = %u, clockwise = %u, row = %u, col = %u\n", index, clockwise, encoder_event.key.row, encoder_event.key.col);
154# endif
155 action_exec(encoder_event);
156# endif
150} 157}
151#endif // ENCODER_ENABLE 158
159void matrix_scan_kb(void) {
160 encoder_action_unregister();
161 matrix_scan_user();
162}
163
164bool encoder_update_kb(uint8_t index, bool clockwise) {
165 encoder_action_register(index, clockwise);
166 // don't return user actions, because they are in the keymap
167 // encoder_update_user(index, clockwise);
168 return true;
169};
170
171#endif
diff --git a/keyboards/bandominedoni/bandominedoni.h b/keyboards/bandominedoni/bandominedoni.h
index 8e2470826..1eca4f8d9 100644
--- a/keyboards/bandominedoni/bandominedoni.h
+++ b/keyboards/bandominedoni/bandominedoni.h
@@ -82,3 +82,7 @@
82// reason: bandoMIneDonI has no space on right hand side to use "SPLIT_HAND_MATRIX_GRID". 82// reason: bandoMIneDonI has no space on right hand side to use "SPLIT_HAND_MATRIX_GRID".
83// However, It enables to decide the handedness by the HW by adding one condition: "not to press any keys (especially r30) dusing startup." 83// However, It enables to decide the handedness by the HW by adding one condition: "not to press any keys (especially r30) dusing startup."
84bool is_keyboard_left(void); 84bool is_keyboard_left(void);
85
86void encoder_action_unregister(void);
87
88void encoder_action_register(uint8_t index, bool clockwise);
diff --git a/keyboards/bandominedoni/config.h b/keyboards/bandominedoni/config.h
index 629c6af88..e1e4d8740 100644
--- a/keyboards/bandominedoni/config.h
+++ b/keyboards/bandominedoni/config.h
@@ -133,120 +133,54 @@
133// Enable suspend mode. 133// Enable suspend mode.
134# define RGB_DISABLE_WHEN_USB_SUSPENDED true 134# define RGB_DISABLE_WHEN_USB_SUSPENDED true
135 135
136// // enable below to shrink the firmware size ( -1974 bytes ) 136# ifdef CONSOLE_ENABLE
137// # define REDUCE_RGB_MATRIX_EFFECTS 137# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
138 138# else
139// enable below to shrink the firmware size ( -1574 bytes )
140// # define REDUCE_RGB_MATRIX_EFFECTS_2
141
142// # ifdef AUDIO_ENABLE
143# ifdef CONSOLE_ENABLE
144# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
145# else
146// #define ENABLE_RGB_MATRIX_ALPHAS_MODS 139// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
147// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN 140# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
148// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT 141# define ENABLE_RGB_MATRIX_BREATHING
149// #define ENABLE_RGB_MATRIX_BREATHING 142# define ENABLE_RGB_MATRIX_BAND_SAT
150// #define ENABLE_RGB_MATRIX_BAND_SAT 143# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
151// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT 144# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
152// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT 145# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
153// #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT 146# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
154// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS 147// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
155// #define ENABLE_RGB_MATRIX_RAINDROPS 148# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
156// #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS 149# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
157# define ENABLE_RGB_MATRIX_HUE_BREATHING 150# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
158# define ENABLE_RGB_MATRIX_HUE_PENDULUM 151# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
159# define ENABLE_RGB_MATRIX_HUE_WAVE 152# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
160# define ENABLE_RGB_MATRIX_FRACTAL 153# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
161# define ENABLE_RGB_MATRIX_PIXEL_RAIN 154# define ENABLE_RGB_MATRIX_SPLASH
162 155# define ENABLE_RGB_MATRIX_SOLID_SPLASH
163# if !defined(REDUCE_RGB_MATRIX_EFFECTS) && !defined(VIA_ENABLE) 156// RAINDROPS don't match well with layer LED indicator (oc) using rgb_matrix_set_color().
164// # ifdef REDUCE_RGB_MATRIX_EFFECTS
165# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
166# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
167# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
168# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
169# define ENABLE_RGB_MATRIX_DUAL_BEACON
170# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
171# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
172# endif
173
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_FRACTAL
178// #define ENABLE_RGB_MATRIX_PIXEL_RAIN
179// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
180// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
181// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
182// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
183// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
184// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
185// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
186
187# if !defined(REDUCE_RGB_MATRIX_EFFECTS_2) && !defined(VIA_ENABLE)
188// # ifdef REDUCE_RGB_MATRIX_EFFECTS_2
189# define ENABLE_RGB_MATRIX_BAND_VAL
190# define ENABLE_RGB_MATRIX_CYCLE_ALL
191# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
192# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
193# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
194# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
195# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
196# define ENABLE_RGB_MATRIX_MULTISPLASH
197# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
198
199# endif
200# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
201// #define ENABLE_RGB_MATRIX_SPLASH
202// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
203# endif // AUDIO_ENABLE
204
205// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
206// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
207// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
208// #define ENABLE_RGB_MATRIX_BREATHING
209// #define ENABLE_RGB_MATRIX_BAND_SAT
210// #define ENABLE_RGB_MATRIX_BAND_VAL
211// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
212// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
213// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
214// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
215// #define ENABLE_RGB_MATRIX_CYCLE_ALL
216// #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
217// #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
218// #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
219// #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
220// #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
221// #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
222// #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
223// #define ENABLE_RGB_MATRIX_DUAL_BEACON
224// #define ENABLE_RGB_MATRIX_RAINBOW_BEACON
225// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
226// #define ENABLE_RGB_MATRIX_RAINDROPS 157// #define ENABLE_RGB_MATRIX_RAINDROPS
227// #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS 158// #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
228// #define ENABLE_RGB_MATRIX_HUE_BREATHING 159// Recommendend not to use these.
229// #define ENABLE_RGB_MATRIX_HUE_PENDULUM 160# ifndef VIA_ENABLE
230// #define ENABLE_RGB_MATRIX_HUE_WAVE 161# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
231// #define ENABLE_RGB_MATRIX_FRACTAL 162# define ENABLE_RGB_MATRIX_BAND_VAL
232// #define ENABLE_RGB_MATRIX_PIXEL_RAIN 163# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
233 164# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
234// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP 165# define ENABLE_RGB_MATRIX_CYCLE_ALL
235// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN 166# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
236 167# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
237// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE 168# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
238// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE 169# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
239// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE 170# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
240// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE 171# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
241// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS 172# define ENABLE_RGB_MATRIX_DUAL_BEACON
242// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS 173# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
243// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS 174# define ENABLE_RGB_MATRIX_HUE_BREATHING
244// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS 175# define ENABLE_RGB_MATRIX_HUE_PENDULUM
245// #define ENABLE_RGB_MATRIX_SPLASH 176# define ENABLE_RGB_MATRIX_HUE_WAVE
246// #define ENABLE_RGB_MATRIX_MULTISPLASH 177# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
247// #define ENABLE_RGB_MATRIX_SOLID_SPLASH 178# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
248// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH 179# define ENABLE_RGB_MATRIX_MULTISPLASH
249 180# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
181# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
182# endif
183# endif // CONSOLE_ENABLE
250#endif // RGB_MATRIX_ENABLE 184#endif // RGB_MATRIX_ENABLE
251 185
252/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ 186/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
@@ -330,4 +264,7 @@
330# define ENCODERS_PAD_B_RIGHT { F4 } 264# define ENCODERS_PAD_B_RIGHT { F4 }
331# define ENCODER_RESOLUTION 4 265# define ENCODER_RESOLUTION 4
332# define TAP_CODE_DELAY 10 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} }
333#endif // ENCODER_ENABLE 270#endif // ENCODER_ENABLE
diff --git a/keyboards/bandominedoni/keymaps/led/keymap.c b/keyboards/bandominedoni/keymaps/led/keymap.c
index 7693557df..305756b5b 100644
--- a/keyboards/bandominedoni/keymaps/led/keymap.c
+++ b/keyboards/bandominedoni/keymaps/led/keymap.c
@@ -141,7 +141,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
141 XXXXXXX, XXXXXXX, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 141 XXXXXXX, XXXXXXX, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
142 142
143 _______, MI_OCTD, MI_OCTU, MI_VELD, MI_VELU, _______, 143 _______, MI_OCTD, MI_OCTU, MI_VELD, MI_VELU, _______,
144 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 144 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_MOD,
145 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 145 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
146 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 146 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
147 RGB_SAD, RGB_SAI, RGB_HUD, RGB_HUI, RGB_SPD, RGB_SPI, RGB_VAD, RGB_VAI, 147 RGB_SAD, RGB_SAI, RGB_HUD, RGB_HUI, RGB_SPD, RGB_SPI, RGB_VAD, RGB_VAI,
@@ -149,23 +149,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
149 ) 149 )
150}; 150};
151 151
152void eeconfig_init_user(void) { // EEPROM is getting reset! 152void my_init(void){
153 #ifdef RGB_MATRIX_ENABLE
154 rgb_matrix_enable();
155 rgb_matrix_set_speed(RGB_MATRIX_STARTUP_SPD);
156 rgb_matrix_sethsv(HSV_BLUE);
157
158 rgb_matrix_mode(RGB_MATRIX_SOLID_REACTIVE);
159 // rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON);
160 #endif
161}
162
163void keyboard_post_init_user(void) {
164 // Set octave to MI_OCT_0 153 // Set octave to MI_OCT_0
165 midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN; 154 midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
166 155
167 // avoid using 127 since it is used as a special number in some sound sources. 156 // avoid using 127 since it is used as a special number in some sound sources.
168 midi_config.velocity = MIDI_INITIAL_VELOCITY; 157 midi_config.velocity = MIDI_INITIAL_VELOCITY;
158}
159
160void eeconfig_init_user(void) { // EEPROM is getting reset!
161 midi_init();
162 my_init();
163#ifdef RGB_MATRIX_ENABLE
164 rgb_matrix_enable();
165 rgb_matrix_set_speed(RGB_MATRIX_STARTUP_SPD);
166 rgb_matrix_sethsv(HSV_BLUE);
167
168 rgb_matrix_mode(RGB_MATRIX_SOLID_REACTIVE);
169 // rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON);
170#endif
171}
172
173void keyboard_post_init_user(void) {
174 my_init();
169 175
170 // party mode (for LED soldering test. Enable rainbow color effect, and disable led_indicator to check all LEDs) 176 // party mode (for LED soldering test. Enable rainbow color effect, and disable led_indicator to check all LEDs)
171 rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON); 177 rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON);
diff --git a/keyboards/bandominedoni/keymaps/led/rules.mk b/keyboards/bandominedoni/keymaps/led/rules.mk
index a7583d38c..08ed472ad 100644
--- a/keyboards/bandominedoni/keymaps/led/rules.mk
+++ b/keyboards/bandominedoni/keymaps/led/rules.mk
@@ -1,2 +1,2 @@
1RGB_MATRIX_ENABLE = yes # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.) 1RGB_MATRIX_ENABLE = yes # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.)
2RGB_MATRIX_CUSTOM_USER = yes # 2RGB_MATRIX_CUSTOM_KB = yes #
diff --git a/keyboards/bandominedoni/keymaps/via/config.h b/keyboards/bandominedoni/keymaps/via/config.h
index 99e39626c..4dcac5104 100644
--- a/keyboards/bandominedoni/keymaps/via/config.h
+++ b/keyboards/bandominedoni/keymaps/via/config.h
@@ -15,4 +15,4 @@
15 */ 15 */
16 #pragma once 16 #pragma once
17 17
18#define DYNAMIC_KEYMAP_LAYER_COUNT 5 18#define DYNAMIC_KEYMAP_LAYER_COUNT 4
diff --git a/keyboards/bandominedoni/keymaps/via/keymap.c b/keyboards/bandominedoni/keymaps/via/keymap.c
index 59e074228..ad6833d69 100644
--- a/keyboards/bandominedoni/keymaps/via/keymap.c
+++ b/keyboards/bandominedoni/keymaps/via/keymap.c
@@ -82,7 +82,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
82 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 82 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
83 83
84 _______, MI_OCTD, MI_OCTU, MI_VELD, MI_VELU, _______, 84 _______, MI_OCTD, MI_OCTU, MI_VELD, MI_VELU, _______,
85 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 85 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_MOD,
86 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 86 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
87 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 87 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
88 RGB_SAD, RGB_SAI, RGB_HUD, RGB_HUI, RGB_SPD, RGB_SPI, RGB_VAD, RGB_VAI, 88 RGB_SAD, RGB_SAI, RGB_HUD, RGB_HUI, RGB_SPD, RGB_SPI, RGB_VAD, RGB_VAI,
@@ -90,23 +90,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
90 ) 90 )
91}; 91};
92 92
93void eeconfig_init_user(void) { // EEPROM is getting reset! 93void my_init(void){
94 #ifdef RGB_MATRIX_ENABLE
95 rgb_matrix_enable();
96 rgb_matrix_set_speed(RGB_MATRIX_STARTUP_SPD);
97 rgb_matrix_sethsv(HSV_BLUE);
98
99 rgb_matrix_mode(RGB_MATRIX_SOLID_REACTIVE);
100 // rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON);
101 #endif
102}
103
104void keyboard_post_init_user(void) {
105 // Set octave to MI_OCT_0 94 // Set octave to MI_OCT_0
106 midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN; 95 midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
107 96
108 // avoid using 127 since it is used as a special number in some sound sources. 97 // avoid using 127 since it is used as a special number in some sound sources.
109 midi_config.velocity = MIDI_INITIAL_VELOCITY; 98 midi_config.velocity = MIDI_INITIAL_VELOCITY;
99}
100
101void eeconfig_init_user(void) { // EEPROM is getting reset!
102 midi_init();
103 my_init();
104#ifdef RGB_MATRIX_ENABLE
105 rgb_matrix_enable();
106 rgb_matrix_set_speed(RGB_MATRIX_STARTUP_SPD);
107 rgb_matrix_sethsv(HSV_BLUE);
108
109 rgb_matrix_mode(RGB_MATRIX_SOLID_REACTIVE);
110 // rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON);
111#endif
112}
113
114void keyboard_post_init_user(void) {
115 my_init();
110}; 116};
111 117
112#ifdef RGB_MATRIX_ENABLE 118#ifdef RGB_MATRIX_ENABLE
diff --git a/keyboards/bandominedoni/keymaps/via/rules.mk b/keyboards/bandominedoni/keymaps/via/rules.mk
index 925056c3d..95d769056 100644
--- a/keyboards/bandominedoni/keymaps/via/rules.mk
+++ b/keyboards/bandominedoni/keymaps/via/rules.mk
@@ -1,3 +1,4 @@
1RGB_MATRIX_ENABLE = yes # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.) 1RGB_MATRIX_ENABLE = yes # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.)
2RGB_MATRIX_CUSTOM_KB = yes #
2VIA_ENABLE = yes 3VIA_ENABLE = yes
3MOUSEKEY_ENABLE = yes # Mouse keys 4MOUSEKEY_ENABLE = yes # Mouse keys
diff --git a/keyboards/bandominedoni/rgb_matrix_user.inc b/keyboards/bandominedoni/rgb_matrix_kb.inc
index 77ad22c1c..77ad22c1c 100644
--- a/keyboards/bandominedoni/rgb_matrix_user.inc
+++ b/keyboards/bandominedoni/rgb_matrix_kb.inc