Improve layer mask handling (#13065)
This commit is contained in:
		
							parent
							
								
									03807c2c6e
								
							
						
					
					
						commit
						8da8aabbe5
					
				
					 4 changed files with 38 additions and 13 deletions
				
			
		| 
						 | 
				
			
			@ -340,13 +340,13 @@ void set_single_persistent_default_layer(uint8_t default_layer) {
 | 
			
		|||
#if defined(AUDIO_ENABLE) && defined(DEFAULT_LAYER_SONGS)
 | 
			
		||||
    PLAY_SONG(default_layer_songs[default_layer]);
 | 
			
		||||
#endif
 | 
			
		||||
    eeconfig_update_default_layer(1U << default_layer);
 | 
			
		||||
    default_layer_set(1U << default_layer);
 | 
			
		||||
    eeconfig_update_default_layer((layer_state_t)1 << default_layer);
 | 
			
		||||
    default_layer_set((layer_state_t)1 << default_layer);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
layer_state_t update_tri_layer_state(layer_state_t state, uint8_t layer1, uint8_t layer2, uint8_t layer3) {
 | 
			
		||||
    layer_state_t mask12 = (1UL << layer1) | (1UL << layer2);
 | 
			
		||||
    layer_state_t mask3  = 1UL << layer3;
 | 
			
		||||
    layer_state_t mask12 = ((layer_state_t)1 << layer1) | ((layer_state_t)1 << layer2);
 | 
			
		||||
    layer_state_t mask3  = (layer_state_t)1 << layer3;
 | 
			
		||||
    return (state & mask12) == mask12 ? (state | mask3) : (state & ~mask3);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue