You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					46 lines
				
				858 B
			
		
		
			
		
	
	
					46 lines
				
				858 B
			| 
								 
											8 years ago
										 
									 | 
							
								#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
							 |