45 lines
		
	
	
	
		
			859 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			859 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #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, (rgb_led_t *)&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
 | 
