63 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#include "process_records.h"
 | 
						|
#include "custom_keycodes.h"
 | 
						|
 | 
						|
#ifdef RGB_ENABLE
 | 
						|
#include "custom_rgb.h"
 | 
						|
#endif
 | 
						|
 | 
						|
#ifdef TRILAYER_ENABLED
 | 
						|
layer_state_t layer_state_set_user(layer_state_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_custom_tap_dance(keycode, record))
 | 
						|
        return false;
 | 
						|
#endif
 | 
						|
 | 
						|
    switch (keycode)
 | 
						|
    {
 | 
						|
        case RGBRST:
 | 
						|
#ifdef RGB_ENABLE
 | 
						|
            if (record->event.pressed)
 | 
						|
                rgb_reset();
 | 
						|
#endif
 | 
						|
            return false;
 | 
						|
        case RESET:
 | 
						|
            {
 | 
						|
                if (record->event.pressed)
 | 
						|
                    reset_timer = timer_read() + 500;
 | 
						|
                else if (timer_expired(timer_read(), reset_timer))
 | 
						|
                    reset_keyboard();
 | 
						|
            }
 | 
						|
            return false;
 | 
						|
#if defined(RGB_MATRIX_TOG_LAYERS) && defined(RGB_ENABLE)
 | 
						|
        case RGB_TOG:
 | 
						|
            if (record->event.pressed) {
 | 
						|
              rgb_matrix_increase_flags();
 | 
						|
            }
 | 
						|
            return false;
 | 
						|
#endif
 | 
						|
  }
 | 
						|
 | 
						|
  return process_record_encoder(keycode, record) && process_record_keymap(keycode, record);
 | 
						|
}
 | 
						|
 | 
						|
__attribute__ ((weak))
 | 
						|
bool process_record_keymap(uint16_t keycode, keyrecord_t *record)
 | 
						|
{
 | 
						|
    return true;
 | 
						|
}
 | 
						|
 | 
						|
__attribute__ ((weak))
 | 
						|
bool process_record_encoder(uint16_t keycode, keyrecord_t *record)
 | 
						|
{
 | 
						|
    return true;
 | 
						|
}
 |