64 lines
2.5 KiB
C
64 lines
2.5 KiB
C
/* 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.
|