diff options
Diffstat (limited to 'qmk/keyboards')
| -rw-r--r-- | qmk/keyboards/sofle_choc/keymaps/custom/config.h | 3 | ||||
| -rw-r--r-- | qmk/keyboards/sofle_choc/keymaps/custom/keymap.c | 4 | ||||
| -rw-r--r-- | qmk/keyboards/sofle_choc/keymaps/custom/lighting.c | 44 |
3 files changed, 21 insertions, 30 deletions
diff --git a/qmk/keyboards/sofle_choc/keymaps/custom/config.h b/qmk/keyboards/sofle_choc/keymaps/custom/config.h index 310c993..6b9c31c 100644 --- a/qmk/keyboards/sofle_choc/keymaps/custom/config.h +++ b/qmk/keyboards/sofle_choc/keymaps/custom/config.h @@ -26,7 +26,8 @@ #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended #define SPLIT_TRANSPORT_MIRROR // If LED_MATRIX_KEYPRESSES or LED_MATRIX_KEYRELEASES is enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR -#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 100 // limits maximum brightness of LEDs (max 255). Higher may cause the controller to crash. +#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs (max 255). Higher may cause the controller to crash. +#define RGB_MATRIX_DEFAULT_VAL 100 // Sets the default enabled state, if none has been set #define RGB_MATRIX_DEFAULT_ON true diff --git a/qmk/keyboards/sofle_choc/keymaps/custom/keymap.c b/qmk/keyboards/sofle_choc/keymaps/custom/keymap.c index 1755428..6b0c714 100644 --- a/qmk/keyboards/sofle_choc/keymaps/custom/keymap.c +++ b/qmk/keyboards/sofle_choc/keymaps/custom/keymap.c @@ -73,8 +73,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [LAYER_SYMBOLS] = LAYOUT( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_BSPC, KC_HOME, KC_UP, KC_END, KC_TRNS, KC_TRNS, S(BP_EQL), - KC_TRNS, KC_TRNS, KC_P4, KC_P5, KEY_6, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT,KC_TRNS, KC_TRNS, KC_PGUP, - KC_LSFT, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_TRNS, KC_MUTE, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KEY_PGDN, + KC_TRNS, QK_RGB_MATRIX_VALUE_UP, KC_P4, KC_P5, KEY_6, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT,KC_TRNS, KC_TRNS, KC_PGUP, + KC_LSFT, QK_RGB_MATRIX_VALUE_DOWN, KC_P1, KC_P2, KC_P3, KC_TRNS, KC_MUTE, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KEY_PGDN, KC_P0, KC_PDOT, KC_TRNS, KC_TRNS, AL_SPC, AL_ENT, KC_TRNS, KC_TRNS, KC_RGUI, KC_TRNS ), diff --git a/qmk/keyboards/sofle_choc/keymaps/custom/lighting.c b/qmk/keyboards/sofle_choc/keymaps/custom/lighting.c index 5617837..d8e0b6e 100644 --- a/qmk/keyboards/sofle_choc/keymaps/custom/lighting.c +++ b/qmk/keyboards/sofle_choc/keymaps/custom/lighting.c @@ -9,14 +9,16 @@ extern bool is_star; // Set the color at the given position, but limit the intensity -void set_color(uint8_t index, uint8_t h, uint8_t s, uint8_t _) { - HSV hsv = {h, s, RGB_MATRIX_MAXIMUM_BRIGHTNESS}; +void set_color(uint8_t index, uint8_t h, uint8_t s, uint8_t v) { + if (v > 20 + rgb_matrix_get_val()) + v = 20 + rgb_matrix_get_val(); + HSV hsv = {h, s, v}; RGB rgb = hsv_to_rgb(hsv); rgb_matrix_set_color(index, rgb.r, rgb.g, rgb.b); } HSV hsv_of_color(uint8_t h, uint8_t s, uint8_t v) { - return (HSV){h, s, v > 100 ? 100:v}; + return (HSV){h, s, v > rgb_matrix_get_val() ? rgb_matrix_get_val():v}; } void lighting_init(void) { @@ -46,19 +48,15 @@ void housekeeping_task_lighting(void) { hsv_of_color(HSV_WHITE), // 111 }; - uint8_t counter = 0; uint8_t flags = 0; if (get_mods() & MOD_MASK_CTRL) { flags |= 0b001; - counter += 1; } if (one_shot_alt_flag || (get_mods() & MOD_MASK_ALT)) { flags |= 0b010; - counter += 1; } if ((get_mods() & MOD_MASK_SHIFT) || host_keyboard_led_state().caps_lock) { flags |= 0b100; - counter += 1; } uint8_t matrix_mode = rgb_matrix_get_mode(); @@ -75,12 +73,9 @@ void housekeeping_task_lighting(void) { if (matrix_mode != RGB_MATRIX_SOLID_COLOR) { rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR); } - uint8_t v = colors[flags].v; - if (counter >= 2) - v *= 2; - rgb_matrix_sethsv_noeeprom(colors[flags].h, colors[flags].s, v); + rgb_matrix_sethsv_noeeprom(colors[flags].h, colors[flags].s, rgb_matrix_get_val()); } else if (matrix_mode != RGB_MATRIX_SOLID_REACTIVE_SIMPLE) { - rgb_matrix_sethsv_noeeprom(HSV_WHITE); + rgb_matrix_sethsv_noeeprom(0, 0, rgb_matrix_get_val()); rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_REACTIVE_SIMPLE); } } @@ -90,14 +85,6 @@ void housekeeping_task_lighting(void) { bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { // Activate effects depending of mods - if (is_caps_word_on()) { - if (rgb_matrix_get_mode() != RGB_MATRIX_BREATHING) { - rgb_matrix_mode_noeeprom(RGB_MATRIX_BREATHING); - } - rgb_matrix_sethsv_noeeprom(HSV_SPRINGGREEN); - return false; - } - for (uint8_t row = 0; row < MATRIX_ROWS; ++row) { for (uint8_t col = 0; col < MATRIX_COLS; ++col) { uint8_t index = g_led_config.matrix_co[row][col]; @@ -109,26 +96,25 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { uint16_t keycode = keymap_key_to_keycode(layer, (keypos_t){col,row}); if (keycode == KC_O && is_star) { - rgb_matrix_set_color(index, 100, 100, 0); + set_color(index, 42, 255, 255); } if (layer == 0) continue; - switch (keycode) { case KC_F1 ... KC_F11: - rgb_matrix_set_color(index, 128, 128, 128); + set_color(index, 0, 0, 128); break; case KC_P1 ... KC_P0: case KEY_6: - rgb_matrix_set_color(index, 100, 100, 0); + set_color(index, 42, 255, 255); break; case BP_CCED: case BP_PERC: case KC_PDOT: // Add a bit of red for the punction symbol - rgb_matrix_set_color(index, 150, 50, 0); + set_color(index, 20, 255, 255); break; case KC_RIGHT: case KEY_DOWN: @@ -136,17 +122,21 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { case KC_PGUP: case KC_PGDN: case KEY_PGDN: - rgb_matrix_set_color(index, 32, 32, 128); + set_color(index, 170, 255, 223); break; case KC_HOME: case KC_END: - rgb_matrix_set_color(index, RGB_SPRINGGREEN); + set_color(index, HSV_SPRINGGREEN); break; case KC_BSPC: case AL_SPC: case AL_ENT: set_color(index, HSV_BLUE); break; + case QK_RGB_MATRIX_VALUE_UP: + case QK_RGB_MATRIX_VALUE_DOWN: + set_color(index, HSV_GREEN); + break; } } |
