From 4e077250d56f7e786af0cdef00f4b41d77e2b85c Mon Sep 17 00:00:00 2001 From: 3araht <69518343+3araht@users.noreply.github.com> Date: Mon, 27 Dec 2021 19:27:15 +0900 Subject: 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. --- keyboards/bandominedoni/bandominedoni.c | 72 +++++++----- keyboards/bandominedoni/bandominedoni.h | 4 + keyboards/bandominedoni/config.h | 159 ++++++++------------------- keyboards/bandominedoni/keymaps/led/keymap.c | 32 +++--- keyboards/bandominedoni/keymaps/led/rules.mk | 4 +- keyboards/bandominedoni/keymaps/via/config.h | 2 +- keyboards/bandominedoni/keymaps/via/keymap.c | 32 +++--- keyboards/bandominedoni/keymaps/via/rules.mk | 3 +- keyboards/bandominedoni/rgb_matrix_kb.inc | 16 +++ keyboards/bandominedoni/rgb_matrix_user.inc | 16 --- 10 files changed, 157 insertions(+), 183 deletions(-) create mode 100644 keyboards/bandominedoni/rgb_matrix_kb.inc delete mode 100644 keyboards/bandominedoni/rgb_matrix_user.inc (limited to 'keyboards') diff --git a/keyboards/bandominedoni/bandominedoni.c b/keyboards/bandominedoni/bandominedoni.c index 1b0365ac6a..eacbb40fa0 100644 --- a/keyboards/bandominedoni/bandominedoni.c +++ b/keyboards/bandominedoni/bandominedoni.c @@ -119,33 +119,53 @@ static enum { UNKNOWN, LEFT, RIGHT } hand_side = UNKNOWN; } #ifdef ENCODER_ENABLE -const uint16_t rt_matrix[2][2] = { - {5, 5}, {5, 6} -}; - -bool encoder_update_kb(uint8_t index, bool clockwise) { - if (index == 1) { /* An encoder on the right side */ - keypos_t key; - int cw = 0; - cw = clockwise ? 1 : 0; - key.row = rt_matrix[cw][0]; - key.col = rt_matrix[cw][1]; - uint8_t layer = layer_switch_get_layer(key); - uint16_t keycode = keymap_key_to_keycode(layer, key); - keyrecord_t record; - record.event.key = key; +# ifdef ENCODERS +static uint8_t encoder_state[ENCODERS] = {0}; +static keypos_t encoder_cw[ENCODERS] = ENCODERS_CW_KEY; +static keypos_t encoder_ccw[ENCODERS] = ENCODERS_CCW_KEY; +# endif - if (keycode < MI_ON){ - tap_code16(keycode); - } else { - record.event.pressed = true; - process_midi(keycode, &record); - wait_ms(TAP_CODE_DELAY); - record.event.pressed = false; - process_midi(keycode, &record); +void encoder_action_unregister(void) { +# ifdef ENCODERS + for (int index = 0; index < ENCODERS; ++index) { + if (encoder_state[index]) { + keyevent_t encoder_event = (keyevent_t) { + .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], + .pressed = false, + .time = (timer_read() | 1) + }; + encoder_state[index] = 0; + action_exec(encoder_event); } - } - return true; +# endif +} + +void encoder_action_register(uint8_t index, bool clockwise) { +# ifdef ENCODERS + keyevent_t encoder_event = (keyevent_t) { + .key = clockwise ? encoder_cw[index] : encoder_ccw[index], + .pressed = true, + .time = (timer_read() | 1) + }; + encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); +# ifdef CONSOLE_ENABLE + uprintf("encoder_action_register index = %u, clockwise = %u, row = %u, col = %u\n", index, clockwise, encoder_event.key.row, encoder_event.key.col); +# endif + action_exec(encoder_event); +# endif } -#endif // ENCODER_ENABLE + +void matrix_scan_kb(void) { + encoder_action_unregister(); + matrix_scan_user(); +} + +bool encoder_update_kb(uint8_t index, bool clockwise) { + encoder_action_register(index, clockwise); + // don't return user actions, because they are in the keymap + // encoder_update_user(index, clockwise); + return true; +}; + +#endif diff --git a/keyboards/bandominedoni/bandominedoni.h b/keyboards/bandominedoni/bandominedoni.h index 8e2470826c..1eca4f8d98 100644 --- a/keyboards/bandominedoni/bandominedoni.h +++ b/keyboards/bandominedoni/bandominedoni.h @@ -82,3 +82,7 @@ // reason: bandoMIneDonI has no space on right hand side to use "SPLIT_HAND_MATRIX_GRID". // However, It enables to decide the handedness by the HW by adding one condition: "not to press any keys (especially r30) dusing startup." bool is_keyboard_left(void); + +void encoder_action_unregister(void); + +void encoder_action_register(uint8_t index, bool clockwise); diff --git a/keyboards/bandominedoni/config.h b/keyboards/bandominedoni/config.h index 629c6af884..e1e4d87405 100644 --- a/keyboards/bandominedoni/config.h +++ b/keyboards/bandominedoni/config.h @@ -133,120 +133,54 @@ // Enable suspend mode. # define RGB_DISABLE_WHEN_USB_SUSPENDED true -// // enable below to shrink the firmware size ( -1974 bytes ) -// # define REDUCE_RGB_MATRIX_EFFECTS - -// enable below to shrink the firmware size ( -1574 bytes ) -// # define REDUCE_RGB_MATRIX_EFFECTS_2 - -// # ifdef AUDIO_ENABLE -# ifdef CONSOLE_ENABLE -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -# else +# ifdef CONSOLE_ENABLE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +# else // #define ENABLE_RGB_MATRIX_ALPHAS_MODS -// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT -// #define ENABLE_RGB_MATRIX_BREATHING -// #define ENABLE_RGB_MATRIX_BAND_SAT -// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT -// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT -// #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS -// #define ENABLE_RGB_MATRIX_RAINDROPS -// #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS -# define ENABLE_RGB_MATRIX_HUE_BREATHING -# define ENABLE_RGB_MATRIX_HUE_PENDULUM -# define ENABLE_RGB_MATRIX_HUE_WAVE -# define ENABLE_RGB_MATRIX_FRACTAL -# define ENABLE_RGB_MATRIX_PIXEL_RAIN - -# if !defined(REDUCE_RGB_MATRIX_EFFECTS) && !defined(VIA_ENABLE) -// # ifdef REDUCE_RGB_MATRIX_EFFECTS -# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL -# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL -# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN -# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL -# define ENABLE_RGB_MATRIX_DUAL_BEACON -# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL -# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL -# endif - -// #define ENABLE_RGB_MATRIX_HUE_BREATHING -// #define ENABLE_RGB_MATRIX_HUE_PENDULUM -// #define ENABLE_RGB_MATRIX_HUE_WAVE -// #define ENABLE_RGB_MATRIX_FRACTAL -// #define ENABLE_RGB_MATRIX_PIXEL_RAIN -// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE -// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS - -# if !defined(REDUCE_RGB_MATRIX_EFFECTS_2) && !defined(VIA_ENABLE) -// # ifdef REDUCE_RGB_MATRIX_EFFECTS_2 -# define ENABLE_RGB_MATRIX_BAND_VAL -# define ENABLE_RGB_MATRIX_CYCLE_ALL -# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN -# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -# define ENABLE_RGB_MATRIX_RAINBOW_BEACON -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -# define ENABLE_RGB_MATRIX_MULTISPLASH -# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH - -# endif -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE -// #define ENABLE_RGB_MATRIX_SPLASH -// #define ENABLE_RGB_MATRIX_SOLID_SPLASH -# endif // AUDIO_ENABLE - -// #define ENABLE_RGB_MATRIX_ALPHAS_MODS -// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT -// #define ENABLE_RGB_MATRIX_BREATHING -// #define ENABLE_RGB_MATRIX_BAND_SAT -// #define ENABLE_RGB_MATRIX_BAND_VAL -// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT -// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL -// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT -// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL -// #define ENABLE_RGB_MATRIX_CYCLE_ALL -// #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -// #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN -// #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -// #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN -// #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL -// #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL -// #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL -// #define ENABLE_RGB_MATRIX_DUAL_BEACON -// #define ENABLE_RGB_MATRIX_RAINBOW_BEACON -// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS +# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN +# define ENABLE_RGB_MATRIX_BREATHING +# define ENABLE_RGB_MATRIX_BAND_SAT +# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT +# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS +// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP +# define ENABLE_RGB_MATRIX_DIGITAL_RAIN +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +# define ENABLE_RGB_MATRIX_SPLASH +# define ENABLE_RGB_MATRIX_SOLID_SPLASH +// RAINDROPS don't match well with layer LED indicator (oc) using rgb_matrix_set_color(). // #define ENABLE_RGB_MATRIX_RAINDROPS // #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS -// #define ENABLE_RGB_MATRIX_HUE_BREATHING -// #define ENABLE_RGB_MATRIX_HUE_PENDULUM -// #define ENABLE_RGB_MATRIX_HUE_WAVE -// #define ENABLE_RGB_MATRIX_FRACTAL -// #define ENABLE_RGB_MATRIX_PIXEL_RAIN - -// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP -// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN - -// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE -// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -// #define ENABLE_RGB_MATRIX_SPLASH -// #define ENABLE_RGB_MATRIX_MULTISPLASH -// #define ENABLE_RGB_MATRIX_SOLID_SPLASH -// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH - +// Recommendend not to use these. +# ifndef VIA_ENABLE +# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +# define ENABLE_RGB_MATRIX_BAND_VAL +# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL +# define ENABLE_RGB_MATRIX_CYCLE_ALL +# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN +# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN +# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL +# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL +# define ENABLE_RGB_MATRIX_DUAL_BEACON +# define ENABLE_RGB_MATRIX_RAINBOW_BEACON +# define ENABLE_RGB_MATRIX_HUE_BREATHING +# define ENABLE_RGB_MATRIX_HUE_PENDULUM +# define ENABLE_RGB_MATRIX_HUE_WAVE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +# define ENABLE_RGB_MATRIX_MULTISPLASH +# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +# endif +# endif // CONSOLE_ENABLE #endif // RGB_MATRIX_ENABLE /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ @@ -330,4 +264,7 @@ # define ENCODERS_PAD_B_RIGHT { F4 } # define ENCODER_RESOLUTION 4 # define TAP_CODE_DELAY 10 +# define ENCODERS 2 +# define ENCODERS_CW_KEY { {4, 5}, {6, 5} } +# define ENCODERS_CCW_KEY { {3, 5}, {5, 5} } #endif // ENCODER_ENABLE diff --git a/keyboards/bandominedoni/keymaps/led/keymap.c b/keyboards/bandominedoni/keymaps/led/keymap.c index 7693557df3..305756b5b1 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] = { XXXXXXX, XXXXXXX, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, MI_OCTD, MI_OCTU, MI_VELD, MI_VELU, _______, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 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] = { ) }; -void eeconfig_init_user(void) { // EEPROM is getting reset! - #ifdef RGB_MATRIX_ENABLE - rgb_matrix_enable(); - rgb_matrix_set_speed(RGB_MATRIX_STARTUP_SPD); - rgb_matrix_sethsv(HSV_BLUE); - - rgb_matrix_mode(RGB_MATRIX_SOLID_REACTIVE); - // rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON); - #endif -} - -void keyboard_post_init_user(void) { +void my_init(void){ // Set octave to MI_OCT_0 midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN; // avoid using 127 since it is used as a special number in some sound sources. midi_config.velocity = MIDI_INITIAL_VELOCITY; +} + +void eeconfig_init_user(void) { // EEPROM is getting reset! + midi_init(); + my_init(); +#ifdef RGB_MATRIX_ENABLE + rgb_matrix_enable(); + rgb_matrix_set_speed(RGB_MATRIX_STARTUP_SPD); + rgb_matrix_sethsv(HSV_BLUE); + + rgb_matrix_mode(RGB_MATRIX_SOLID_REACTIVE); + // rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON); +#endif +} + +void keyboard_post_init_user(void) { + my_init(); // party mode (for LED soldering test. Enable rainbow color effect, and disable led_indicator to check all LEDs) 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 a7583d38c8..08ed472ad6 100644 --- a/keyboards/bandominedoni/keymaps/led/rules.mk +++ b/keyboards/bandominedoni/keymaps/led/rules.mk @@ -1,2 +1,2 @@ -RGB_MATRIX_ENABLE = yes # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.) -RGB_MATRIX_CUSTOM_USER = yes # +RGB_MATRIX_ENABLE = yes # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.) +RGB_MATRIX_CUSTOM_KB = yes # diff --git a/keyboards/bandominedoni/keymaps/via/config.h b/keyboards/bandominedoni/keymaps/via/config.h index 99e39626ce..4dcac5104f 100644 --- a/keyboards/bandominedoni/keymaps/via/config.h +++ b/keyboards/bandominedoni/keymaps/via/config.h @@ -15,4 +15,4 @@ */ #pragma once -#define DYNAMIC_KEYMAP_LAYER_COUNT 5 +#define DYNAMIC_KEYMAP_LAYER_COUNT 4 diff --git a/keyboards/bandominedoni/keymaps/via/keymap.c b/keyboards/bandominedoni/keymaps/via/keymap.c index 59e074228b..ad6833d692 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] = { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, MI_OCTD, MI_OCTU, MI_VELD, MI_VELU, _______, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 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] = { ) }; -void eeconfig_init_user(void) { // EEPROM is getting reset! - #ifdef RGB_MATRIX_ENABLE - rgb_matrix_enable(); - rgb_matrix_set_speed(RGB_MATRIX_STARTUP_SPD); - rgb_matrix_sethsv(HSV_BLUE); - - rgb_matrix_mode(RGB_MATRIX_SOLID_REACTIVE); - // rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON); - #endif -} - -void keyboard_post_init_user(void) { +void my_init(void){ // Set octave to MI_OCT_0 midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN; // avoid using 127 since it is used as a special number in some sound sources. midi_config.velocity = MIDI_INITIAL_VELOCITY; +} + +void eeconfig_init_user(void) { // EEPROM is getting reset! + midi_init(); + my_init(); +#ifdef RGB_MATRIX_ENABLE + rgb_matrix_enable(); + rgb_matrix_set_speed(RGB_MATRIX_STARTUP_SPD); + rgb_matrix_sethsv(HSV_BLUE); + + rgb_matrix_mode(RGB_MATRIX_SOLID_REACTIVE); + // rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON); +#endif +} + +void keyboard_post_init_user(void) { + my_init(); }; #ifdef RGB_MATRIX_ENABLE diff --git a/keyboards/bandominedoni/keymaps/via/rules.mk b/keyboards/bandominedoni/keymaps/via/rules.mk index 925056c3dc..95d7690567 100644 --- a/keyboards/bandominedoni/keymaps/via/rules.mk +++ b/keyboards/bandominedoni/keymaps/via/rules.mk @@ -1,3 +1,4 @@ -RGB_MATRIX_ENABLE = yes # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.) +RGB_MATRIX_ENABLE = yes # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.) +RGB_MATRIX_CUSTOM_KB = yes # VIA_ENABLE = yes MOUSEKEY_ENABLE = yes # Mouse keys diff --git a/keyboards/bandominedoni/rgb_matrix_kb.inc b/keyboards/bandominedoni/rgb_matrix_kb.inc new file mode 100644 index 0000000000..77ad22c1ce --- /dev/null +++ b/keyboards/bandominedoni/rgb_matrix_kb.inc @@ -0,0 +1,16 @@ +#ifdef RGB_MATRIX_KEYREACTIVE_ENABLED +RGB_MATRIX_EFFECT(my_party_rocks) + +# ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS + +bool my_party_rocks(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + HSV hsv = {rand() & 0xFF, rand() & 0xFF, rgb_matrix_config.hsv.v}; + RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + // rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + rgb_matrix_set_color_all(rgb.r, rgb.g, rgb.b); + return rgb_matrix_check_finished_leds(led_max); +} + +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // RGB_MATRIX_KEYREACTIVE_ENABLED diff --git a/keyboards/bandominedoni/rgb_matrix_user.inc b/keyboards/bandominedoni/rgb_matrix_user.inc deleted file mode 100644 index 77ad22c1ce..0000000000 --- a/keyboards/bandominedoni/rgb_matrix_user.inc +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef RGB_MATRIX_KEYREACTIVE_ENABLED -RGB_MATRIX_EFFECT(my_party_rocks) - -# ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS - -bool my_party_rocks(effect_params_t* params) { - RGB_MATRIX_USE_LIMITS(led_min, led_max); - HSV hsv = {rand() & 0xFF, rand() & 0xFF, rgb_matrix_config.hsv.v}; - RGB rgb = rgb_matrix_hsv_to_rgb(hsv); - // rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); - rgb_matrix_set_color_all(rgb.r, rgb.g, rgb.b); - return rgb_matrix_check_finished_leds(led_max); -} - -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // RGB_MATRIX_KEYREACTIVE_ENABLED -- cgit v1.2.1