diff options
Diffstat (limited to 'keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait')
4 files changed, 32 insertions, 28 deletions
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/config.h index 1438d317fb..5dda6f15bc 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/config.h +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/config.h @@ -1,4 +1,4 @@ -/* Copyright 2021 Andre Brait +/* Copyright 2022 Andre Brait * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -17,6 +17,6 @@ #pragma once #ifdef RGB_MATRIX_ENABLE - #define RGB_DISABLE_TIMEOUT 1200000 // 20 minutes (20 * 60 * 1000ms) + #define RGB_MATRIX_TIMEOUT 1200000 // 20 minutes (20 * 60 * 1000ms) #define RGB_DISABLE_WHEN_USB_SUSPENDED #endif diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c index e5599a787d..8d34d82f64 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c @@ -102,21 +102,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; // clang-format on -#ifdef ENCODER_ENABLE -bool encoder_update_user(uint8_t index, bool clockwise) { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - return true; -} -#endif // ENCODER_ENABLE - #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 @@ -127,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 @@ -264,12 +257,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } #ifdef RGB_MATRIX_ENABLE -void rgb_matrix_indicators_user() { +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; @@ -277,7 +270,7 @@ void rgb_matrix_indicators_user() { if (host_keyboard_led_state().caps_lock) { set_rgb_caps_leds(); } - return; + return false; } else { /* EFFECTS duration is finished */ effect_started_time = 0; @@ -300,6 +293,7 @@ void rgb_matrix_indicators_user() { if (host_keyboard_led_state().caps_lock) { set_rgb_caps_leds(); } + return false; } static void start_effects() { @@ -326,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 diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/readme.md b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/readme.md index 99d0a36721..b080f02c6b 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/readme.md +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/readme.md @@ -8,8 +8,6 @@ The differences are as follows: - Dedicated MacOS and Windows/Linux layers - Switching between them by pressing Fn + CAPS LOCK - Disabled Mouse Keys (to fix issues with KVM switches and also because they're not used here anyway) -- Short DEBOUNCE time (5 ms) -- Per-key debounce algorithm (sym_defer_pk) - RGB turns off after 20 minutes of inactivity - RGB turns off when USB is suspended - Layer 0: diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/rules.mk b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/rules.mk index 057e9a9541..8983ba87c3 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/rules.mk +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/rules.mk @@ -1,6 +1,4 @@ # Enable additional features. -DEBOUNCE_TYPE = sym_defer_pk - # Disabling MouseKey because it breaks my KVM switch MOUSEKEY_ENABLE = no |