/* Copyright 2019 ash0x0 2021 peepeetee * * 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 * the Free Software Foundation, either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include QMK_KEYBOARD_H #include "print.h" #include <string.h> // HID has not yet been implemented for this keyboard // #include "raw_hid.h" #define MILLISECONDS_IN_SECOND 1000 // These are just to make it neater to use builtin HSV values in the keymap #define RED {HSV_RED} #define CORAL {HSV_CORAL} #define ORANGE {HSV_ORANGE} #define GOLDEN {HSV_GOLDENROD} #define GOLD {HSV_GOLD} #define YELLOW {HSV_YELLOW} #define CHART {HSV_CHARTREUSE} #define GREEN {HSV_GREEN} #define SPRING {HSV_SPRINGGREEN} #define TURQ {HSV_TURQUOISE} #define TEAL {HSV_TEAL} #define CYAN {HSV_CYAN} #define AZURE {HSV_AZURE} #define BLUE {HSV_BLUE} #define PURPLE {HSV_PURPLE} #define MAGENT {HSV_MAGENTA} #define PINK {HSV_PINK} //========================================================== CONFIGURABLE DEFAULTS ========================================================== #define RGB_DEFAULT_TIME_OUT 30 #define RGB_FAST_MODE_TIME_OUT 3 #define RGB_TIME_OUT_MAX 600 #define RGB_TIME_OUT_MIN 10 #define RGB_TIME_OUT_STEP 10 extern bool g_suspend_state; bool disable_layer_color; uint8_t dfa_state; //state for my language switching DFA bool rgb_enabled_flag; // Current LED state flag. If false then LED is off. bool rgb_time_out_enable; // Idle LED toggle enable. If false then LED will not turn off after idle timeout. bool rgb_time_out_fast_mode_enabled; // Enable flag for RGB timeout fast mode bool rgb_time_out_user_value; // This holds the toggle value set by user with ROUT_TG. It's necessary as RGB_TOG changes timeout enable. uint16_t rgb_time_out_seconds; // Idle LED timeout value, in seconds not milliseconds uint16_t rgb_time_out_saved_seconds; // The saved user config for RGB timeout period led_flags_t rgb_time_out_saved_flag; // Store LED flag before timeout so it can be restored when LED is turned on again.