#ifndef LIGHTS_H #define LIGHTS_H #include "eeprom.h" #include "tap_dance.h" #include "zer09.h" /* Will hold the RGB brightness level */ #define EECONFIG_LED_DIM_LVL (uint8_t *)15 #define SET_LED_RGB(r, g, b, led_dim, pos) \ setrgb(r >> led_dim, g >> led_dim, b >> led_dim, (LED_TYPE *)&led[pos]) typedef enum { DEFAULT, ENABLED, DISABLED, } led_status; typedef struct { led_status status; uint8_t pos; bool forced; } led_key; enum rbw_keys { RBW_LCTL, RBW_LCAP, RBW_LSPR, RBW_RCTL, RBW_RCAP, RBW_RALT, RBW_SCRL, RBW }; extern volatile led_key rbw_led_keys[RBW]; void set_key_led(keyrecord_t *record, uint8_t lyr); bool set_layer_led(uint8_t lyr); bool rainbow_loop(uint8_t lyr); bool led_brightness(uint16_t keycode, keyrecord_t *record); void eeprom_read_led_dim_lvl(void); #endif