#include "wanleg.h" // Defines actions for my global custom keycodes. Defined in wanleg.h file // Then runs the _keymap's record handier if not processed here bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case QWERTY: if (record->event.pressed) { set_single_persistent_default_layer(_QW); #if defined(RGBLIGHT_ENABLE) rgblight_sethsv_noeeprom(0,0,128); rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING); #endif } return false; break; case GHERKIN: if (record->event.pressed) { set_single_persistent_default_layer(_GK); #if defined(RGBLIGHT_ENABLE) rgblight_sethsv_noeeprom(128,255,64); #endif } return false; break; case gGHERKIN: if (record->event.pressed) { set_single_persistent_default_layer(gGK); #if defined(RGBLIGHT_ENABLE) rgblight_sethsv_noeeprom(128,255,128); rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT); #endif } return false; break; case ONEHAND: if (record->event.pressed) { set_single_persistent_default_layer(ONE); } return false; break; case NUMPAD: if (record->event.pressed) { set_single_persistent_default_layer(PAD); } return false; break; case GHERKIN50: if (record->event.pressed) { set_single_persistent_default_layer(GK50); } return false; break; case SUBTER: if (record->event.pressed) { layer_on(SUB); } else { layer_off(SUB); } return false; break; case SUPRA: if (record->event.pressed) { layer_on(SUP); } else { layer_off(SUP); } return false; break; case NUMBER: if (record->event.pressed) { layer_on(NUM); } else { layer_off(NUM); } return false; break; case DIRECTION: if (record->event.pressed) { layer_on(DIR); } else { layer_off(DIR); } return false; break; case ETCETERA: if (record->event.pressed) { layer_on(ETC); } else { layer_off(ETC); } return false; break; case gNUMBER: if (record->event.pressed) { layer_on(gNUM); } else { layer_off(gNUM); } return false; break; case gDIRECTION: if (record->event.pressed) { layer_on(gDIR); } else { layer_off(gDIR); } return false; break; case gETCETERA: if (record->event.pressed) { layer_on(gETC); } else { layer_off(gETC); } return false; break; case FUNCTION: if (record->event.pressed) { layer_on(_FN); } else { layer_off(_FN); } return false; break; //on RESET, underglow red if present case RESET: if (record->event.pressed) { #if defined(RGBLIGHT_ENABLE) rgblight_enable_noeeprom(); // enables Rgb, without saving settings rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); rgblight_sethsv_noeeprom_red(); #endif } return true; // Let QMK send the press/release events as normal break; } return true; } /// Turn off LEDs on ProMicros of Let's Split /// // LEDs only on by default on Let's Split // Add reconfigurable functions here, for keymap customization // This allows for a global, userspace functions, and continued // customization of the keymap. Use _keymap instead of _user // functions in the keymaps __attribute__ ((weak)) void matrix_init_keymap(void) {} // Call user matrix init, then call the keymap's init function void matrix_init_user(void) { //turn off pro micro LEDs #if defined(KEYBOARD_lets_split_rev2) DDRD &= ~(1<<5); PORTD &= ~(1<<5); DDRB &= ~(1<<0); PORTB &= ~(1<<0); #endif //disable backlight breathing for keyboard using random flashing RGB LEDs for backlight //(breathing provides insufficient power to integrated LED IC) #if defined(KEYBOARD_kbdfans_kbd6x) && defined(BACKLIGHT_BREATHING) breathing_disable(); #endif matrix_init_keymap(); } //at end of firmware startup process, change powerup default layer and underglow colour for kbd6x void keyboard_post_init_user(void) { #if defined(KEYBOARD_kbdfans_kbd6x) set_single_persistent_default_layer(_QW); rgblight_mode_noeeprom(RGBLIGHT_MODE_SNAKE + 5); rgblight_sethsv_noeeprom(0,0,128); #endif }