|
@@ -104,8 +104,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
|
|
|
|
#ifdef RGB_MATRIX_ENABLE
|
|
|
|
|
|
-#define RGB_CONFIRMATION_BLINKING_TIME 2000 // 2 seconds
|
|
|
-
|
|
|
/* Renaming those to make the purpose on this keymap clearer */
|
|
|
#define LED_FLAG_CAPS LED_FLAG_NONE
|
|
|
#define LED_FLAG_EFFECTS LED_FLAG_INDICATOR
|
|
@@ -116,12 +114,18 @@ static uint16_t effect_started_time = 0;
|
|
|
static uint8_t r_effect = 0x0, g_effect = 0x0, b_effect = 0x0;
|
|
|
static void start_effects(void);
|
|
|
|
|
|
-/* The higher this is, the slower the blinking will be */
|
|
|
-#ifndef TIME_SELECTED_BIT
|
|
|
- #define TIME_SELECTED_BIT 8
|
|
|
+/* The interval time in ms */
|
|
|
+#ifndef EFFECTS_TIME
|
|
|
+ #define EFFECTS_TIME 2000
|
|
|
+#endif
|
|
|
+#ifndef EFFECTS_INTERVAL
|
|
|
+ #define EFFECTS_INTERVAL 250
|
|
|
+#endif
|
|
|
+#if EFFECTS_TIME <= 0 || EFFECTS_TIME >= 32767
|
|
|
+ #error "EFFECTS_TIME must be a positive integer smaller than 32767"
|
|
|
#endif
|
|
|
-#if TIME_SELECTED_BIT < 0 || TIME_SELECTED_BIT >= 16
|
|
|
- #error "TIME_SELECTED_BIT must be a positive integer smaller than 16"
|
|
|
+#if EFFECTS_INTERVAL <= 0 || EFFECTS_INTERVAL >= 32767
|
|
|
+ #error "EFFECTS_INTERVAL must be a positive integer smaller than 32767"
|
|
|
#endif
|
|
|
#define effect_red() r_effect = 0xFF, g_effect = 0x0, b_effect = 0x0
|
|
|
#define effect_green() r_effect = 0x0, g_effect = 0xFF, b_effect = 0x0
|
|
@@ -257,8 +261,8 @@ bool rgb_matrix_indicators_user(void) {
|
|
|
if (effect_started_time > 0) {
|
|
|
/* Render blinking EFFECTS */
|
|
|
const uint16_t deltaTime = sync_timer_elapsed(effect_started_time);
|
|
|
- if (deltaTime <= RGB_CONFIRMATION_BLINKING_TIME) {
|
|
|
- const uint8_t led_state = ((~deltaTime) >> TIME_SELECTED_BIT) & 0x01;
|
|
|
+ if (deltaTime <= EFFECTS_TIME) {
|
|
|
+ const uint8_t led_state = ((deltaTime / EFFECTS_INTERVAL) + 1) & 0x01;
|
|
|
const uint8_t val_r = led_state * r_effect;
|
|
|
const uint8_t val_g = led_state * g_effect;
|
|
|
const uint8_t val_b = led_state * b_effect;
|
|
@@ -266,7 +270,7 @@ bool rgb_matrix_indicators_user(void) {
|
|
|
if (host_keyboard_led_state().caps_lock) {
|
|
|
set_rgb_caps_leds();
|
|
|
}
|
|
|
- return;
|
|
|
+ return false;
|
|
|
} else {
|
|
|
/* EFFECTS duration is finished */
|
|
|
effect_started_time = 0;
|
|
@@ -316,6 +320,20 @@ static void start_effects() {
|
|
|
// 91, led 08 92, led 19
|
|
|
|
|
|
static void set_rgb_caps_leds() {
|
|
|
+ rgb_matrix_set_color(0, 0xFF, 0x0, 0x0); // ESC
|
|
|
+ rgb_matrix_set_color(6, 0xFF, 0x0, 0x0); // F1
|
|
|
+ rgb_matrix_set_color(12, 0xFF, 0x0, 0x0); // F2
|
|
|
+ rgb_matrix_set_color(18, 0xFF, 0x0, 0x0); // F3
|
|
|
+ rgb_matrix_set_color(23, 0xFF, 0x0, 0x0); // F4
|
|
|
+ rgb_matrix_set_color(28, 0xFF, 0x0, 0x0); // F5
|
|
|
+ rgb_matrix_set_color(34, 0xFF, 0x0, 0x0); // F6
|
|
|
+ rgb_matrix_set_color(39, 0xFF, 0x0, 0x0); // F7
|
|
|
+ rgb_matrix_set_color(44, 0xFF, 0x0, 0x0); // F8
|
|
|
+ rgb_matrix_set_color(50, 0xFF, 0x0, 0x0); // F9
|
|
|
+ rgb_matrix_set_color(56, 0xFF, 0x0, 0x0); // F10
|
|
|
+ rgb_matrix_set_color(61, 0xFF, 0x0, 0x0); // F11
|
|
|
+ rgb_matrix_set_color(66, 0xFF, 0x0, 0x0); // F12
|
|
|
+ rgb_matrix_set_color(69, 0xFF, 0x0, 0x0); // Prt
|
|
|
rgb_matrix_set_color(67, 0xFF, 0x0, 0x0); // Left side LED 1
|
|
|
rgb_matrix_set_color(68, 0xFF, 0x0, 0x0); // Right side LED 1
|
|
|
rgb_matrix_set_color(70, 0xFF, 0x0, 0x0); // Left side LED 2
|