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.
		
		
		
		
		
			
		
			
				
					390 lines
				
				8.7 KiB
			
		
		
			
		
	
	
					390 lines
				
				8.7 KiB
			| 
								 
											8 years ago
										 
									 | 
							
								/* Copyright 2017 @TurboMech /u/TurboMech <discord> @A9entOran9e#6134
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * This program is free software: you can redistribute it and/or modify
							 | 
						||
| 
								 | 
							
								 * it under the terms of the GNU General Public License as published by
							 | 
						||
| 
								 | 
							
								 * the Free Software Foundation, either version 2 of the License, or
							 | 
						||
| 
								 | 
							
								 * (at your option) any later version.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * This program is distributed in the hope that it will be useful,
							 | 
						||
| 
								 | 
							
								 * but WITHOUT ANY WARRANTY; without even the implied warranty of
							 | 
						||
| 
								 | 
							
								 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
							 | 
						||
| 
								 | 
							
								 * GNU General Public License for more details.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * You should have received a copy of the GNU General Public License
							 | 
						||
| 
								 | 
							
								 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include "turbomech.h"
							 | 
						||
| 
								 | 
							
								#include "quantum.h"
							 | 
						||
| 
								 | 
							
								//#include "action_layer.h"
							 | 
						||
| 
								 | 
							
								#include "action.h"
							 | 
						||
| 
								 | 
							
								//#include "rgblight.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								__attribute__ ((weak))
							 | 
						||
| 
								 | 
							
								void matrix_init_keymap(void) {}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								__attribute__ ((weak))
							 | 
						||
| 
								 | 
							
								void matrix_scan_keymap(void) {}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								__attribute__ ((weak))
							 | 
						||
| 
								 | 
							
								bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
							 | 
						||
| 
								 | 
							
								  return true;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								__attribute__ ((weak))
							 | 
						||
| 
								 | 
							
								uint32_t layer_state_set_keymap (uint32_t state) {
							 | 
						||
| 
								 | 
							
								  return state;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								__attribute__ ((weak))
							 | 
						||
| 
								 | 
							
								void led_set_keymap(uint8_t usb_led) {}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								//#define default_layer _QWERTY (0)
							 | 
						||
| 
								 | 
							
								//extern keymap_config_t keymap_config;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								extern rgblight_config_t rgblight_config;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								//#ifdef RGBLIGHT_ENABLE
							 | 
						||
| 
								 | 
							
								/*change the rgblight_setrgb(#, #, #) to what you want CAPS lock - currenlty red*/
							 | 
						||
| 
								 | 
							
								 //#define rgblight_set_caps       rgblight_setrgb(255, 0, 0)
							 | 
						||
| 
								 | 
							
								 //#define rgblight_base           rgblight_mode(RGB_current_mode)
							 | 
						||
| 
								 | 
							
								//#endif
							 | 
						||
| 
								 | 
							
								//
							 | 
						||
| 
								 | 
							
								//bool rgb_layer_change = true;
							 | 
						||
| 
								 | 
							
								//bool RGB_INIT = false;
							 | 
						||
| 
								 | 
							
								//bool TOG_STATUS = false;
							 | 
						||
| 
								 | 
							
								#ifdef RGBLIGHT_ENABLE
							 | 
						||
| 
								 | 
							
								bool rgb_layer_change = true;
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								int RGB_current_mode;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*void matrix_init_user(void) {
							 | 
						||
| 
								 | 
							
								  #ifdef RGBLIGHT_ENABLE
							 | 
						||
| 
								 | 
							
								  rgblight_enable();
							 | 
						||
| 
								 | 
							
								  if (true) {
							 | 
						||
| 
								 | 
							
								  eeconfig_read_rgblight();
							 | 
						||
| 
								 | 
							
								  rgblight_get_mode();
							 | 
						||
| 
								 | 
							
								  eeconfig_update_rgblight_default();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								 // eeconfig_debug_rgblight();
							 | 
						||
| 
								 | 
							
								  //rgblight_init();
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  #endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*void matrix_init_user(void) {
							 | 
						||
| 
								 | 
							
								  #ifdef RGBLIGHT_ENABLE
							 | 
						||
| 
								 | 
							
								  eeconfig_read_rgblight();
							 | 
						||
| 
								 | 
							
								  eeconfig_update_rgblight_default();
							 | 
						||
| 
								 | 
							
								  //rgblight_init();
							 | 
						||
| 
								 | 
							
								  //rgblight_mode(RGB_current_mode);
							 | 
						||
| 
								 | 
							
								  //rgblight_mode(RGB_current_mode);
							 | 
						||
| 
								 | 
							
								  //RGB_current_mode = rgblight_config.mode;
							 | 
						||
| 
								 | 
							
								  #endif
							 | 
						||
| 
								 | 
							
								}*/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void persistent_default_layer_set(uint16_t default_layer) {
							 | 
						||
| 
								 | 
							
								  eeconfig_update_default_layer(default_layer);
							 | 
						||
| 
								 | 
							
								  default_layer_set(default_layer);
							 | 
						||
| 
								 | 
							
								  default_layer = _QWERTY;
							 | 
						||
| 
								 | 
							
								 // eeconfig_update_rgblight(rgblight_config.raw);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								 //Setting ADJUST layer RGB back to default
							 | 
						||
| 
								 | 
							
								/*void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) {
							 | 
						||
| 
								 | 
							
								  if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) {
							 | 
						||
| 
								 | 
							
								    rgblight_mode(RGB_current_mode);
							 | 
						||
| 
								 | 
							
								    layer_on(layer1);
							 | 
						||
| 
								 | 
							
								  } else {
							 | 
						||
| 
								 | 
							
								    layer_off(layer2);
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								}*/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void matrix_init_user(void) {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  uint8_t default_layer = eeconfig_read_default_layer();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  rgblight_enable();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if(true) {
							 | 
						||
| 
								 | 
							
								   if (default_layer & (1UL << _QWERTY)) {
							 | 
						||
| 
								 | 
							
								      //RGB_current_mode = rgblight_config.mode;
							 | 
						||
| 
								 | 
							
								      rgblight_mode(11);
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								 else {
							 | 
						||
| 
								 | 
							
								      rgblight_mode (12);
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /*else if (default_layer & (1UL << _DVORAK)) {
							 | 
						||
| 
								 | 
							
								      rgblight_set_green;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    //else if (default_layer & (1UL << _WORKMAN)) {
							 | 
						||
| 
								 | 
							
								      rgblight_set_purple;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    else {
							 | 
						||
| 
								 | 
							
								      rgblight_set_teal;*/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								static bool is_capslocked = false;
							 | 
						||
| 
								 | 
							
								void led_set_user(uint8_t usb_led) {
							 | 
						||
| 
								 | 
							
								  if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
							 | 
						||
| 
								 | 
							
								    is_capslocked = true;
							 | 
						||
| 
								 | 
							
								   //     DDRB |= (1 << 2); PORTB &= ~(1 << 2);
							 | 
						||
| 
								 | 
							
								  } else {
							 | 
						||
| 
								 | 
							
								    is_capslocked = false;
							 | 
						||
| 
								 | 
							
								  //  DDRB &= ~(1 << 2); PORTB &= ~(1 << 2);
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								  //rgblight_set();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								//static uint8_t is_capslocked = false;
							 | 
						||
| 
								 | 
							
								bool process_record_user(uint16_t keycode, keyrecord_t *record) {
							 | 
						||
| 
								 | 
							
								  switch (keycode) {
							 | 
						||
| 
								 | 
							
								    case _QWERTY:
							 | 
						||
| 
								 | 
							
								      persistent_default_layer_set(1UL << _QWERTY);
							 | 
						||
| 
								 | 
							
								      return false;
							 | 
						||
| 
								 | 
							
								      break;
							 | 
						||
| 
								 | 
							
								    case KC_MAKE_ALU84:
							 | 
						||
| 
								 | 
							
								      if (!record->event.pressed) {
							 | 
						||
| 
								 | 
							
								        SEND_STRING("make alu84:TurboMech:dfu");
							 | 
						||
| 
								 | 
							
								        SEND_STRING(SS_TAP(X_ENTER));
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    return false;
							 | 
						||
| 
								 | 
							
								    break;
							 | 
						||
| 
								 | 
							
								    case KC_QMK:
							 | 
						||
| 
								 | 
							
								      if (!record->event.pressed) {
							 | 
						||
| 
								 | 
							
								        SEND_STRING("cd QMK/qmk_firmware");
							 | 
						||
| 
								 | 
							
								        SEND_STRING(SS_TAP(X_ENTER));
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								      return false;
							 | 
						||
| 
								 | 
							
								      break;
							 | 
						||
| 
								 | 
							
								    case KC_RESET:
							 | 
						||
| 
								 | 
							
								      if (!record->event.pressed) {
							 | 
						||
| 
								 | 
							
								        #ifdef RGBLIGHT_ENABLE
							 | 
						||
| 
								 | 
							
								          rgblight_enable();
							 | 
						||
| 
								 | 
							
								          rgblight_mode(1);
							 | 
						||
| 
								 | 
							
								          rgblight_setrgb(255, 255, 255);
							 | 
						||
| 
								 | 
							
								        #endif
							 | 
						||
| 
								 | 
							
								        //_delay_ms(2000);
							 | 
						||
| 
								 | 
							
								        reset_keyboard();
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								      return false;
							 | 
						||
| 
								 | 
							
								      break;
							 | 
						||
| 
								 | 
							
								    /*case RGB_MOD:
							 | 
						||
| 
								 | 
							
								      //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released
							 | 
						||
| 
								 | 
							
								      if (record->event.pressed) {
							 | 
						||
| 
								 | 
							
								       rgblight_mode(RGB_current_mode);
							 | 
						||
| 
								 | 
							
								       RGB_current_mode = rgblight_config.mode;
							 | 
						||
| 
								 | 
							
								        rgblight_step();
							 | 
						||
| 
								 | 
							
								       // rgblight_mode(RGB_current_mode);
							 | 
						||
| 
								 | 
							
								     //RGB_current_mode = rgblight_config.mode;
							 | 
						||
| 
								 | 
							
								        // _delay_ms(50);
							 | 
						||
| 
								 | 
							
								       // rgblight_set();
							 | 
						||
| 
								 | 
							
								        RGB_current_mode = rgblight_config.mode;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								      else //if (rgblight_config.enable)
							 | 
						||
| 
								 | 
							
								      {
							 | 
						||
| 
								 | 
							
								        _delay_ms(50);
							 | 
						||
| 
								 | 
							
								        rgblight_set();
							 | 
						||
| 
								 | 
							
								        //rgblight_mode(rgblight_config.mode);
							 | 
						||
| 
								 | 
							
								      // eeconfig_update_rgblight(rgblight_config.raw);
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								     return true;
							 | 
						||
| 
								 | 
							
								      break;*/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /*case MO(1):
							 | 
						||
| 
								 | 
							
								      if (record->event.realeased) {
							 | 
						||
| 
								 | 
							
								        rgblight_mode(1);
							 | 
						||
| 
								 | 
							
								        rgblight_set_red;
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								      return true;
							 | 
						||
| 
								 | 
							
								      break;*/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   /*case KC_CAPS:
							 | 
						||
| 
								 | 
							
								     if (record->event.pressed) {
							 | 
						||
| 
								 | 
							
								        rgblight_mode(RGB_current_mode);
							 | 
						||
| 
								 | 
							
								       register_code(KC_CAPS);
							 | 
						||
| 
								 | 
							
								        rgblight_mode(1);
							 | 
						||
| 
								 | 
							
								        rgblight_set_red;
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								      else {
							 | 
						||
| 
								 | 
							
								        unregister_code(KC_CAPS);
							 | 
						||
| 
								 | 
							
								        rgblight_mode(RGB_current_mode);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								      return false;
							 | 
						||
| 
								 | 
							
								       break;*/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								       /* rgblight_mode(RGB_current_mode);
							 | 
						||
| 
								 | 
							
								        register_code(KC_CAPS);
							 | 
						||
| 
								 | 
							
								        rgblight_mode(1);
							 | 
						||
| 
								 | 
							
								        rgblight_set_red;
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								      else {
							 | 
						||
| 
								 | 
							
								        unregister_code(KC_CAPS);
							 | 
						||
| 
								 | 
							
								        rgblight_mode(RGB_current_mode);*/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    //  }
							 | 
						||
| 
								 | 
							
								    //  return true;
							 | 
						||
| 
								 | 
							
								     //  break;
							 | 
						||
| 
								 | 
							
								    /*case KC_RESET:
							 | 
						||
| 
								 | 
							
								      if (record->event.pressed) {
							 | 
						||
| 
								 | 
							
								      layer_off(_FUNCTION);
							 | 
						||
| 
								 | 
							
								      rgblight_mode(RGB_current_mode);
							 | 
						||
| 
								 | 
							
								     RGB_current_mode = rgblight_config.mode;
							 | 
						||
| 
								 | 
							
								      layer_clear();
							 | 
						||
| 
								 | 
							
								      _delay_ms(1000);
							 | 
						||
| 
								 | 
							
								        reset_keyboard();
							 | 
						||
| 
								 | 
							
								     }
							 | 
						||
| 
								 | 
							
								     else{
							 | 
						||
| 
								 | 
							
								      //layer_off(_FUNCTION);
							 | 
						||
| 
								 | 
							
								     _delay_ms(1000);
							 | 
						||
| 
								 | 
							
								     rgblight_mode(RGB_current_mode);
							 | 
						||
| 
								 | 
							
								     RGB_current_mode = rgblight_config.mode;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								     //eeconfig_update_rgblight_default();
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      return false;
							 | 
						||
| 
								 | 
							
								      break;
							 | 
						||
| 
								 | 
							
								    }*/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      return true;
							 | 
						||
| 
								 | 
							
								      break;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*case RGB_MOD:
							 | 
						||
| 
								 | 
							
								case RGB_HUI:
							 | 
						||
| 
								 | 
							
								case RGB_HUD:
							 | 
						||
| 
								 | 
							
								case RGB_SAI:
							 | 
						||
| 
								 | 
							
								case RGB_SAD:
							 | 
						||
| 
								 | 
							
								case RGB_VAI:
							 | 
						||
| 
								 | 
							
								case RGB_VAD:
							 | 
						||
| 
								 | 
							
								case RGB_MODE_PLAIN:
							 | 
						||
| 
								 | 
							
								case RGB_MODE_BREATHE:
							 | 
						||
| 
								 | 
							
								case RGB_MODE_RAINBOW:
							 | 
						||
| 
								 | 
							
								case RGB_MODE_SWIRL:
							 | 
						||
| 
								 | 
							
								case RGB_MODE_SNAKE:
							 | 
						||
| 
								 | 
							
								case RGB_MODE_KNIGHT:
							 | 
						||
| 
								 | 
							
								case RGB_MODE_XMAS:
							 | 
						||
| 
								 | 
							
								case RGB_MODE_GRADIENT:
							 | 
						||
| 
								 | 
							
								    if (record->event.pressed) {
							 | 
						||
| 
								 | 
							
								      rgb_layer_change = false;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    break;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  return true;*/
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								 return process_record_keymap(keycode, record);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								uint32_t layer_state_set_user(uint32_t state) {
							 | 
						||
| 
								 | 
							
								#ifdef RGBLIGHT_ENABLE
							 | 
						||
| 
								 | 
							
								  uint8_t default_layer = eeconfig_read_default_layer();
							 | 
						||
| 
								 | 
							
								  if (rgb_layer_change) {
							 | 
						||
| 
								 | 
							
								    switch (biton32(state)) {
							 | 
						||
| 
								 | 
							
								    case _FUNCTION:
							 | 
						||
| 
								 | 
							
								      rgblight_set_blue;
							 | 
						||
| 
								 | 
							
								     rgblight_mode(1);
							 | 
						||
| 
								 | 
							
								     break;
							 | 
						||
| 
								 | 
							
								    case _QWERTY:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      rgblight_mode(11);
							 | 
						||
| 
								 | 
							
								      break;
							 | 
						||
| 
								 | 
							
								  // case _MOUS:
							 | 
						||
| 
								 | 
							
								    //  rgblight_set_yellow;
							 | 
						||
| 
								 | 
							
								    //  rgblight_mode(1);
							 | 
						||
| 
								 | 
							
								   //   break;
							 | 
						||
| 
								 | 
							
								    //case _MACROS:
							 | 
						||
| 
								 | 
							
								      //rgblight_set_orange;
							 | 
						||
| 
								 | 
							
								      //is_overwatch ? rgblight_mode(17) : rgblight_mode(18);
							 | 
						||
| 
								 | 
							
								      //break;
							 | 
						||
| 
								 | 
							
								    //case _MEDIA:
							 | 
						||
| 
								 | 
							
								      //rgblight_set_green;
							 | 
						||
| 
								 | 
							
								      //rgblight_mode(22);
							 | 
						||
| 
								 | 
							
								      //break;
							 | 
						||
| 
								 | 
							
								    default:
							 | 
						||
| 
								 | 
							
								      if (is_capslocked) {
							 | 
						||
| 
								 | 
							
								        rgblight_mode(1);
							 | 
						||
| 
								 | 
							
								        rgblight_set_red;
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								        else { if (default_layer & (1UL << _QWERTY)) {
							 | 
						||
| 
								 | 
							
								        rgblight_mode(11);
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        else if (default_layer & (1UL << _FUNCTION)) {
							 | 
						||
| 
								 | 
							
								         rgblight_set_cyan;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        //else if (default_layer & (1UL << _WORKMAN)) {
							 | 
						||
| 
								 | 
							
								        //  rgblight_set_purple;
							 | 
						||
| 
								 | 
							
								       // }
							 | 
						||
| 
								 | 
							
								        else {
							 | 
						||
| 
								 | 
							
								          rgblight_set_orange;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								      rgblight_mode(1);
							 | 
						||
| 
								 | 
							
								      break;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								  return state;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								!!** possible for later
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void set_single_persistent_default_layer(uint8_t default_layer);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								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);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void matrix_init_kb(void);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void matrix_init_user(void);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								!!** line 31
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								__attribute__ ((weak))
							 | 
						||
| 
								 | 
							
								void matrix_init_keymap(void) {}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								__attribute__ ((weak))
							 | 
						||
| 
								 | 
							
								void matrix_scan_keymap(void) {}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								__attribute__ ((weak))
							 | 
						||
| 
								 | 
							
								bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
							 | 
						||
| 
								 | 
							
								  return true;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								__attribute__ ((weak))
							 | 
						||
| 
								 | 
							
								uint32_t layer_state_set_keymap (uint32_t state) {
							 | 
						||
| 
								 | 
							
								  return state;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								__attribute__ ((weak))
							 | 
						||
| 
								 | 
							
								void led_set_keymap(uint8_t usb_led) {}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Alt +30C4
							 | 
						||
| 
								 | 
							
								¯\_(ツ)_/¯
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Alt +00AF
							 |