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.
		
		
		
		
		
			
		
			
				
					
					
						
							59 lines
						
					
					
						
							1.4 KiB
						
					
					
				
			
		
		
	
	
							59 lines
						
					
					
						
							1.4 KiB
						
					
					
				#include "process_records.h"
 | 
						|
#include "custom_keycodes.h"
 | 
						|
#include "timer_utils.h"
 | 
						|
 | 
						|
#if defined(RGB_MATRIX_ENABLE)
 | 
						|
extern void eeconfig_update_rgb_matrix_default(void);
 | 
						|
#endif
 | 
						|
 | 
						|
#ifdef TRILAYER_ENABLED
 | 
						|
uint32_t layer_state_set_user(uint32_t state)
 | 
						|
{
 | 
						|
    return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
 | 
						|
}
 | 
						|
#endif
 | 
						|
 | 
						|
bool process_record_user(uint16_t keycode, keyrecord_t *record)
 | 
						|
{
 | 
						|
    static uint16_t reset_timer;
 | 
						|
 | 
						|
#ifndef TAP_DANCE_ENABLE
 | 
						|
    if (!process_tap_dance_double(keycode, record))
 | 
						|
        return false;
 | 
						|
#endif
 | 
						|
 | 
						|
    switch (keycode)
 | 
						|
    {
 | 
						|
        case RGBRST:
 | 
						|
            {
 | 
						|
#if defined(RGBLIGHT_ENABLE)
 | 
						|
                if (record->event.pressed)
 | 
						|
                {
 | 
						|
                    eeconfig_update_rgblight_default();
 | 
						|
                    rgblight_enable();
 | 
						|
                }
 | 
						|
#elif defined(RGB_MATRIX_ENABLE)
 | 
						|
                if (record->event.pressed)
 | 
						|
                    eeconfig_update_rgb_matrix_default();
 | 
						|
#endif
 | 
						|
            }
 | 
						|
            return false;
 | 
						|
        case RESET:
 | 
						|
            {
 | 
						|
                if (record->event.pressed)
 | 
						|
                    reset_timer = timer_read() + 500;
 | 
						|
                else if (timer_expired(reset_timer))
 | 
						|
                    reset_keyboard();
 | 
						|
            }
 | 
						|
            return false;
 | 
						|
  }
 | 
						|
 | 
						|
  return process_record_keymap(keycode, record);
 | 
						|
}
 | 
						|
 | 
						|
__attribute__ ((weak))
 | 
						|
bool process_record_keymap(uint16_t keycode, keyrecord_t *record)
 | 
						|
{
 | 
						|
    return true;
 | 
						|
}
 |