Add VIA support for QMK backlight, QMK RGBLight (#7911)
* Add VIA support for QMK backlight, QMK RGBLight * clang-format changes
This commit is contained in:
		
							parent
							
								
									ce81c4f89b
								
							
						
					
					
						commit
						484a9b12bc
					
				
					 37 changed files with 500 additions and 35 deletions
				
			
		| 
						 | 
				
			
			@ -55,6 +55,54 @@ backlight_config_t kb_backlight_config = {
 | 
			
		|||
};
 | 
			
		||||
 | 
			
		||||
#ifdef VIA_ENABLE
 | 
			
		||||
 | 
			
		||||
void backlight_get_value( uint8_t *data )
 | 
			
		||||
{
 | 
			
		||||
	uint8_t *value_id = &(data[0]);
 | 
			
		||||
	uint8_t *value_data = &(data[1]);
 | 
			
		||||
  switch (*value_id)
 | 
			
		||||
  {
 | 
			
		||||
    case id_qmk_backlight_brightness:
 | 
			
		||||
    {
 | 
			
		||||
      // level / BACKLIGHT_LEVELS * 255
 | 
			
		||||
      value_data[0] = ((uint16_t)kb_backlight_config.level) * 255 / BACKLIGHT_LEVELS;
 | 
			
		||||
      break;
 | 
			
		||||
    }
 | 
			
		||||
    case id_qmk_backlight_effect:
 | 
			
		||||
    {
 | 
			
		||||
      value_data[0] = kb_backlight_config.breathing ? 1 : 0;
 | 
			
		||||
      break;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void backlight_set_value( uint8_t *data )
 | 
			
		||||
{
 | 
			
		||||
	uint8_t *value_id = &(data[0]);
 | 
			
		||||
	uint8_t *value_data = &(data[1]);
 | 
			
		||||
  switch (*value_id)
 | 
			
		||||
  {
 | 
			
		||||
    case id_qmk_backlight_brightness:
 | 
			
		||||
    {
 | 
			
		||||
      // level / 255 * BACKLIGHT_LEVELS
 | 
			
		||||
      kb_backlight_config.level = ((uint16_t)value_data[0]) * BACKLIGHT_LEVELS / 255;
 | 
			
		||||
      backlight_set(kb_backlight_config.level);
 | 
			
		||||
      break;
 | 
			
		||||
    }
 | 
			
		||||
    case id_qmk_backlight_effect:
 | 
			
		||||
    {
 | 
			
		||||
      if ( value_data[0] == 0 ) {
 | 
			
		||||
        kb_backlight_config.breathing = false;
 | 
			
		||||
        breathing_disable();
 | 
			
		||||
      } else {
 | 
			
		||||
        kb_backlight_config.breathing = true;
 | 
			
		||||
        breathing_enable();
 | 
			
		||||
      }
 | 
			
		||||
      break;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void raw_hid_receive_kb( uint8_t *data, uint8_t length )
 | 
			
		||||
{
 | 
			
		||||
  uint8_t *command_id = &(data[0]);
 | 
			
		||||
| 
						 | 
				
			
			@ -139,6 +187,21 @@ void raw_hid_receive_kb( uint8_t *data, uint8_t length )
 | 
			
		|||
      }
 | 
			
		||||
      break;
 | 
			
		||||
    }
 | 
			
		||||
    case id_lighting_set_value:
 | 
			
		||||
    {
 | 
			
		||||
      backlight_set_value(command_data);
 | 
			
		||||
      break;
 | 
			
		||||
    }
 | 
			
		||||
    case id_lighting_get_value:
 | 
			
		||||
    {
 | 
			
		||||
      backlight_get_value(command_data);
 | 
			
		||||
      break;
 | 
			
		||||
    }
 | 
			
		||||
    case id_lighting_save:
 | 
			
		||||
    {
 | 
			
		||||
      backlight_config_save();
 | 
			
		||||
      break;
 | 
			
		||||
    }
 | 
			
		||||
    default:
 | 
			
		||||
    {
 | 
			
		||||
      // Unhandled message.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue