void rgblight_init(void) { debug_enable = 1; // Debug ON! dprintf("rgblight_init called.\n"); dprintf("rgblight_init start!\n"); if (!eeconfig_is_enabled()) { dprintf("rgblight_init eeconfig is not enabled.\n"); eeconfig_init(); eeconfig_update_rgblight_default(); } rgblight_config.raw = eeconfig_read_rgblight(); if (!rgblight_config.mode) { dprintf("rgblight_init rgblight_config.mode = 0. Write default values to EEPROM.\n"); eeconfig_update_rgblight_default(); rgblight_config.raw = eeconfig_read_rgblight(); } eeconfig_debug_rgblight(); // display current eeprom values #ifdef RGBLIGHT_ANIMATIONS rgblight_timer_init(); // setup the timer #endif if (rgblight_config.enable) { rgblight_mode_noeeprom(rgblight_config.mode); } }
bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case RGB_MOD: if (record->event.pressed) { isTapAnim = false; } break; case RGB_RST: #ifdef RGBLIGHT_ENABLE if (record->event.pressed) { eeconfig_update_rgblight_default(); rgblight_enable(); } #endif break; case TAP_ANIM: if (record->event.pressed) { isTapAnim = !isTapAnim; } break; } if (isTapAnim) { rgblight_mode_noeeprom(1); uint16_t hue = (rgblight_config.hue + 5) % 360; rgblight_sethsv_noeeprom(hue, rgblight_config.sat, rgblight_config.val); } return true; }
bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { set_keylog(keycode, record); // set_timelog(); } switch (keycode) { case RGB_MOD: #ifdef RGBLIGHT_ENABLE if (record->event.pressed) { rgblight_mode_noeeprom(RGB_current_mode); rgblight_step(); RGB_current_mode = rgblight_config.mode; } #endif return false; break; case RGBRST: #ifdef RGBLIGHT_ENABLE if (record->event.pressed) { eeconfig_update_rgblight_default(); rgblight_enable(); RGB_current_mode = rgblight_config.mode; } #endif break; } return true; }
bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { #ifdef SSD1306OLED set_keylog(keycode, record); #endif // set_timelog(); } switch (keycode) { case LOWER: if (record->event.pressed) { layer_on(_LOWER); update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); } else { layer_off(_LOWER); update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); } return false; break; case RAISE: if (record->event.pressed) { layer_on(_RAISE); update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); } else { layer_off(_RAISE); update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); } return false; break; case ADJUST: if (record->event.pressed) { layer_on(_ADJUST); } else { layer_off(_ADJUST); } return false; break; case RGB_MOD: #ifdef RGBLIGHT_ENABLE if (record->event.pressed) { rgblight_mode(RGB_current_mode); rgblight_step(); RGB_current_mode = rgblight_config.mode; } #endif return false; break; case RGBRST: #ifdef RGBLIGHT_ENABLE if (record->event.pressed) { eeconfig_update_rgblight_default(); rgblight_enable(); RGB_current_mode = rgblight_config.mode; } #endif break; } return true; }
bool process_record_user(uint16_t keycode, keyrecord_t *record) { //uint8_t shifted = get_mods() & (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)); switch (keycode) { case QWERTY: if (record->event.pressed) { set_single_persistent_default_layer(_QWERTY); } return false; break; case COLEMAK: if(record->event.pressed) { set_single_persistent_default_layer(_COLEMAK); } return false; break; case FN: if (record->event.pressed) { //not sure how to have keyboard check mode and set it to a variable, so my work around //uses another variable that would be set to true after the first time a reactive key is pressed. if (TOG_STATUS) { //TOG_STATUS checks is another reactive key currently pressed, only changes RGB mode if returns false } else { TOG_STATUS = !TOG_STATUS; #ifdef RGBLIGHT_ENABLE //rgblight_mode(15); #endif } layer_on(_FN); } else { #ifdef RGBLIGHT_ENABLE //rgblight_mode(RGB_current_mode); // revert RGB to initial mode prior to RGB mode change #endif layer_off(_FN); TOG_STATUS = false; } return false; break; case ADJ: if (record->event.pressed) { layer_on(_ADJ); } else { layer_off(_ADJ); } return false; break; //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 case RGBRST: #ifdef RGBLIGHT_ENABLE if (record->event.pressed) { eeconfig_update_rgblight_default(); rgblight_enable(); RGB_current_mode = rgblight_config.mode; } #endif break; } return true; }
bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case QWERTY: if (record->event.pressed) { persistent_default_layer_set(1UL<<_QWERTY); } return false; break; case LOWER: if (record->event.pressed) { layer_on(_LOWER); } else { layer_off(_LOWER); } return false; break; case RAISE: if (record->event.pressed) { layer_on(_RAISE); } else { layer_off(_RAISE); } return false; break; case ADJUST: if (record->event.pressed) { layer_on(_ADJUST); } else { layer_off(_ADJUST); } return false; break; case RGB_MOD: #ifdef RGBLIGHT_ENABLE if (record->event.pressed) { rgblight_mode(RGB_current_mode); rgblight_step(); RGB_current_mode = rgblight_config.mode; } #endif return false; break; case RGBRST: #ifdef RGBLIGHT_ENABLE if (record->event.pressed) { eeconfig_update_rgblight_default(); rgblight_enable(); RGB_current_mode = rgblight_config.mode; } #endif break; } return true; }
bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case RGBRST: #ifdef RGBLIGHT_ENABLE if (record->event.pressed) { eeconfig_update_rgblight_default(); rgblight_enable(); RGB_current_mode = rgblight_config.mode; } #endif break; } return true; }
void rgblight_init(void) { /* if already initialized, don't do it again. If you must do it again, extern this and set to false, first. This is a dirty, dirty hack until proper hooks can be added for keyboard startup. */ if (is_rgblight_initialized) { return; } debug_enable = 1; // Debug ON! dprintf("rgblight_init called.\n"); dprintf("rgblight_init start!\n"); if (!eeconfig_is_enabled()) { dprintf("rgblight_init eeconfig is not enabled.\n"); eeconfig_init(); eeconfig_update_rgblight_default(); } rgblight_config.raw = eeconfig_read_rgblight(); RGBLIGHT_SPLIT_SET_CHANGE_HSVS; if (!rgblight_config.mode) { dprintf("rgblight_init rgblight_config.mode = 0. Write default values to EEPROM.\n"); eeconfig_update_rgblight_default(); rgblight_config.raw = eeconfig_read_rgblight(); } rgblight_check_config(); eeconfig_debug_rgblight(); // display current eeprom values #ifdef RGBLIGHT_USE_TIMER rgblight_timer_init(); // setup the timer #endif if (rgblight_config.enable) { rgblight_mode_noeeprom(rgblight_config.mode); } is_rgblight_initialized = true; }
bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch(keycode) { case RGB_RST: #ifdef RGBLIGHT_ENABLE if (record->event.pressed) { eeconfig_update_rgblight_default(); rgblight_enable(); } #endif break; case RGB_MOD: #ifdef RGBLIGHT_ENABLE if (record->event.pressed) { enableLEDTypeAnime = false; rgblight_step(); } #endif return false; case RGB_TYPE: #ifdef RGBLIGHT_ENABLE if (record->event.pressed) { rgblight_enable_noeeprom(); rgblight_mode_noeeprom(1); enableLEDTypeAnime = !enableLEDTypeAnime; } #endif return false; default: break; } #ifdef RGBLIGHT_ENABLE if(enableLEDTypeAnime) { rgblight_mode_noeeprom(1); uint16_t hue = (rgblight_config.hue + 5) % 360; rgblight_sethsv_noeeprom(hue, rgblight_config.sat, rgblight_config.val); } #endif return true; }
bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case ADJUST: if (record->event.pressed) { layer_on(_ADJUST); } else { layer_off(_ADJUST); } return false; break; //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 case RGBRST: #ifdef RGBLIGHT_ENABLE if (record->event.pressed) { eeconfig_update_rgblight_default(); rgblight_enable(); rgblight_mode(14); } #endif break; case KC_SCLN: if (keyboard_report->mods & MOD_BIT(KC_LSFT)) { if (record->event.pressed) { unregister_code(KC_LSFT); register_code(KC_SCLN); unregister_code(KC_SCLN); register_code(KC_LSFT); } } else if (keyboard_report->mods & MOD_BIT(KC_RSFT)) { if (record->event.pressed) { unregister_code(KC_RSFT); register_code(KC_SCLN); unregister_code(KC_SCLN); register_code(KC_RSFT); } } else { if (record->event.pressed) { register_code(KC_LSFT); register_code(KC_SCLN); unregister_code(KC_SCLN); unregister_code(KC_LSFT); } } return false; break; case KC_QUOT: if (keyboard_report->mods & MOD_BIT(KC_LSFT)) { if (record->event.pressed) { unregister_code(KC_LSFT); register_code(KC_QUOT); unregister_code(KC_QUOT); register_code(KC_LSFT); } } else if (keyboard_report->mods & MOD_BIT(KC_RSFT)) { if (record->event.pressed) { unregister_code(KC_RSFT); register_code(KC_QUOT); unregister_code(KC_QUOT); register_code(KC_RSFT); } } else { if (record->event.pressed) { register_code(KC_LSFT); register_code(KC_QUOT); unregister_code(KC_QUOT); unregister_code(KC_LSFT); } } return false; break; case KC_00: if (record->event.pressed) { SEND_STRING("00"); } return false; break; case RGB_RIPPLE: // if (record->event.pressed) { // ripple = true; // } return false; break; } return true; }
bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case QWERTY: if (record->event.pressed) { #ifdef AUDIO_ENABLE PLAY_SONG(tone_qwerty); #endif persistent_default_layer_set(1UL<<_QWERTY); } return false; break; case COLEMAK: if (record->event.pressed) { #ifdef AUDIO_ENABLE PLAY_SONG(tone_colemak); #endif persistent_default_layer_set(1UL<<_COLEMAK); } return false; break; case DVORAK: if (record->event.pressed) { #ifdef AUDIO_ENABLE PLAY_SONG(tone_dvorak); #endif persistent_default_layer_set(1UL<<_DVORAK); } return false; break; case LOWER: if (record->event.pressed) { //not sure how to have keyboard check mode and set it to a variable, so my work around //uses another variable that would be set to true after the first time a reactive key is pressed. if (TOG_STATUS) { //TOG_STATUS checks is another reactive key currently pressed, only changes RGB mode if returns false } else { TOG_STATUS = !TOG_STATUS; #ifdef RGBLIGHT_ENABLE //rgblight_mode(16); #endif } layer_on(_LOWER); update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); } else { #ifdef RGBLIGHT_ENABLE //rgblight_mode(RGB_current_mode); // revert RGB to initial mode prior to RGB mode change #endif TOG_STATUS = false; layer_off(_LOWER); update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); } return false; break; case RAISE: if (record->event.pressed) { //not sure how to have keyboard check mode and set it to a variable, so my work around //uses another variable that would be set to true after the first time a reactive key is pressed. if (TOG_STATUS) { //TOG_STATUS checks is another reactive key currently pressed, only changes RGB mode if returns false } else { TOG_STATUS = !TOG_STATUS; #ifdef RGBLIGHT_ENABLE //rgblight_mode(15); #endif } layer_on(_RAISE); update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); } else { #ifdef RGBLIGHT_ENABLE //rgblight_mode(RGB_current_mode); // revert RGB to initial mode prior to RGB mode change #endif layer_off(_RAISE); TOG_STATUS = false; update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); } return false; break; case ADJUST: if (record->event.pressed) { layer_on(_ADJUST); } else { layer_off(_ADJUST); } return false; break; //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 case RGB_MOD: #ifdef RGBLIGHT_ENABLE if (record->event.pressed) { rgblight_mode(RGB_current_mode); rgblight_step(); RGB_current_mode = rgblight_config.mode; } #endif return false; break; case EISU: if (record->event.pressed) { if(keymap_config.swap_lalt_lgui==false){ register_code(KC_LANG2); }else{ SEND_STRING(SS_LALT("`")); } } else { unregister_code(KC_LANG2); } return false; break; case KANA: if (record->event.pressed) { if(keymap_config.swap_lalt_lgui==false){ register_code(KC_LANG1); }else{ SEND_STRING(SS_LALT("`")); } } else { unregister_code(KC_LANG1); } return false; break; case RGBRST: #ifdef RGBLIGHT_ENABLE if (record->event.pressed) { eeconfig_update_rgblight_default(); rgblight_enable(); RGB_current_mode = rgblight_config.mode; } #endif break; } return true; }