bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case MOVE: if (record->event.pressed) { layer_on(_MOVE); update_tri_layer(_MOVE, _SYMB, _MOUSE); } else { layer_off(_MOVE); update_tri_layer(_MOVE, _SYMB, _MOUSE); } return false; break; case SYMB: if (record->event.pressed) { layer_on(_SYMB); update_tri_layer(_MOVE, _SYMB, _MOUSE); } else { layer_off(_SYMB); update_tri_layer(_MOVE, _SYMB, _MOUSE); } return false; break; case FUNC: if (record->event.pressed) { layer_on(_FUNC); } else { layer_off(_FUNC); } return false; break; } return true; }
bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case LOWER: if (record->event.pressed) { layer_on(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); } else { layer_off(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); } return false; break; case RAISE: if (record->event.pressed) { layer_on(_RAISE); update_tri_layer(_LOWER, _RAISE, _ADJUST); } else { layer_off(_RAISE); update_tri_layer(_LOWER, _RAISE, _ADJUST); } return false; break; case FUNC: if (record->event.pressed) { layer_on(_FUNC); } else { layer_off(_FUNC); } return false; break; case PLOVER: if (!record->event.pressed) { #ifdef AUDIO_ENABLE stop_all_notes(); PLAY_SONG(plover_song); #endif layer_on(_PLOVER); } return false; break; case EXT_PLV: if (record->event.pressed) { #ifdef AUDIO_ENABLE PLAY_SONG(plover_gb_song); #endif layer_off(_PLOVER); } return false; break; case MOUSE: if (record->event.pressed) { layer_on(_MOUSE); } else { layer_off(_MOUSE); } return false; break; } return true; }
bool process_record_user(uint16_t keycode, keyrecord_t *record) { uint8_t layer; layer = biton32(layer_state); // get the current layer //custom layer handling for tri_layer, switch (keycode) { case FNKEY: if (record->event.pressed) { key_timer = timer_read(); singular_key = true; layer_on(_FUNCTION); } else { if (timer_elapsed(key_timer) < LAYER_TOGGLE_DELAY || !singular_key) { layer_off(_FUNCTION); } } update_tri_layer(_FUNCTION, _SHIFTED, _FUNCSHIFT); return false; break; //SHIFT is handled as LSHIFT in the general case case SHIFT: if (record->event.pressed) { key_timer = timer_read(); singular_key = true; layer_on(_SHIFTED); register_code(KC_LSFT); } else { if (timer_elapsed(key_timer) < LAYER_TOGGLE_DELAY || !singular_key) { layer_off(_SHIFTED); unregister_code(KC_LSFT); } } update_tri_layer(_FUNCTION, _SHIFTED, _FUNCSHIFT); return false; break; //If any other key was pressed during the layer mod hold period, //then the layer mod was used momentarily, and should block latching default: singular_key = false; break; } //FUNCSHIFT has been shifted by the SHIFT handling, some keys need to be excluded if (layer == _FUNCSHIFT) { //F1-F12 should be sent as unshifted keycodes, //and ] needs to be unshifted or it is sent as } if ( (keycode >= KC_F1 && keycode <= KC_F12) || keycode == KC_RBRC ) { if (record->event.pressed) { unregister_mods(MOD_LSFT); } else { register_mods(MOD_LSFT); } } } return true; };
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { switch (id) { case SPACE_FN: if (record->event.pressed) { // Change the keyboard maps. // Whatever even layer's are on, turn on the odd one's too. for (uint8_t i = 0; i < 9; i += 2) { if (layer_state & (1UL << i)) layer_on(i + 1); } layer_on(1); } else { // turn off all the even layers. for (uint8_t i = 0; i < 9; i += 2) layer_off(i + 1); if (record->tap.count != 0) { // Space was tapped rather than used like a modifier. // So send a space up and down event. add_key(KC_SPC); send_keyboard_report(); del_key(KC_SPC); send_keyboard_report(); } } break; } }
bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { 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; } return true; }
bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case FN_HLa: if (record->event.pressed) { layer_on(_HLa); update_tri_layer(_HLa, _HLb, _HL); } else { layer_off(_HLa); update_tri_layer(_HLa, _HLb, _HL); } return false; break; case FN_HLb: if (record->event.pressed) { layer_on(_HLb); update_tri_layer(_HLa, _HLb, _HL); } else { layer_off(_HLb); update_tri_layer(_HLa, _HLb, _HL); } return false; break; } return true; }
bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case LOWER: if (record->event.pressed) { #ifdef AUDIO_ENABLE PLAY_SONG(tone_coin); #endif layer_on(_LOWER); update_tri_layer(_LOWER, _RAISE, _KEYBOARD); } else { layer_off(_LOWER); update_tri_layer(_LOWER, _RAISE, _KEYBOARD); } return false; break; case RAISE: if (record->event.pressed) { layer_on(_RAISE); update_tri_layer(_LOWER, _RAISE, _KEYBOARD); } else { layer_off(_RAISE); update_tri_layer(_LOWER, _RAISE, _KEYBOARD); } return false; break; case KC_RGUI: // set to pressed RGUI_PRESSED = record->event.pressed; // if left gui pressed and right gui pressed // turn on cap layer if (LGUI_PRESSED && RGUI_PRESSED) { // remove left gui mod unregister_code(KC_LGUI); layer_on(_CAP); // don't send gui in this case return false; } else { // if not both gui keys are pressed // then ensure cap layer is off layer_off(_CAP); // send gui button return true; } break; case KC_LGUI: // same as above LGUI_PRESSED = record->event.pressed; if (LGUI_PRESSED && RGUI_PRESSED) { // remove right gui mod unregister_code(KC_RGUI); layer_on(_CAP); return false; } else { layer_off(_CAP); return true; } break; } return true; }
bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case NERD: if (record->event.pressed) { #ifdef AUDIO_ENABLE PLAY_SONG(tone_nerd); #endif persistent_default_layer_set(1UL<<_NERD); } return false; break; case LOWER: if (record->event.pressed) { layer_on(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); } else { layer_off(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); } return false; break; case RAISE: if (record->event.pressed) { layer_on(_RAISE); update_tri_layer(_LOWER, _RAISE, _ADJUST); } else { layer_off(_RAISE); update_tri_layer(_LOWER, _RAISE, _ADJUST); } return false; break; } return true; }
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { switch(id) { case _QWERTY: if (record->event.pressed) { persistant_default_layer_set(1UL<<_QWERTY); } break; case _COLEMAK: if (record->event.pressed) { persistant_default_layer_set(1UL<<_COLEMAK); } break; case _LOWER: if (record->event.pressed) { layer_on(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); } else { layer_off(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); } break; case _RAISE: if (record->event.pressed) { layer_on(_RAISE); update_tri_layer(_LOWER, _RAISE, _ADJUST); } else { layer_off(_RAISE); update_tri_layer(_LOWER, _RAISE, _ADJUST); } break; } return MACRO_NONE; };
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) { layer_on(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); } else { layer_off(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); } return false; break; case RAISE: if (record->event.pressed) { layer_on(_RAISE); update_tri_layer(_LOWER, _RAISE, _ADJUST); } else { layer_off(_RAISE); update_tri_layer(_LOWER, _RAISE, _ADJUST); } return false; break; case ADJUST: if (record->event.pressed) { layer_on(_ADJUST); } else { layer_off(_ADJUST); } return false; break; } return true; }
bool process_record_user(uint16_t keycode, keyrecord_t *record) { 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 DVORAK: if (record->event.pressed) { set_single_persistent_default_layer(_DVORAK); } return false; break; case LOWER: if (record->event.pressed) { layer_on(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); } else { layer_off(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); } return false; break; case RAISE: if (record->event.pressed) { layer_on(_RAISE); update_tri_layer(_LOWER, _RAISE, _ADJUST); } else { layer_off(_RAISE); update_tri_layer(_LOWER, _RAISE, _ADJUST); } return false; break; case BACKLIT: if (record->event.pressed) { register_code(KC_RSFT); #ifdef BACKLIGHT_ENABLE backlight_step(); #endif #ifdef __AVR__ PORTE &= ~(1<<6); #endif } else { unregister_code(KC_RSFT); #ifdef __AVR__ PORTE |= (1<<6); #endif } 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_NOTE_ARRAY(tone_qwerty, false, 0); #endif persistant_default_layer_set(1UL<<_QWERTY); } return false; break; case LOWER: if (record->event.pressed) { layer_on(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); } else { layer_off(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); } return false; break; case RAISE: if (record->event.pressed) { layer_on(_RAISE); update_tri_layer(_LOWER, _RAISE, _ADJUST); } else { layer_off(_RAISE); update_tri_layer(_LOWER, _RAISE, _ADJUST); } return false; break; } return true; }
bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { 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 DZ: if (record->event.pressed) { SEND_STRING("00"); // Double 0 macro for numpad return false; 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; }
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { switch(id) { case _QWERTY: if (record->event.pressed) { #ifdef AUDIO_ENABLE PLAY_NOTE_ARRAY(tone_qwerty, false, 0); #endif persistant_default_layer_set(1UL<<_QWERTY); } break; case _COLEMAK: if (record->event.pressed) { #ifdef AUDIO_ENABLE PLAY_NOTE_ARRAY(tone_colemak, false, 0); #endif persistant_default_layer_set(1UL<<_COLEMAK); } break; case _DVORAK: if (record->event.pressed) { #ifdef AUDIO_ENABLE PLAY_NOTE_ARRAY(tone_dvorak, false, 0); #endif persistant_default_layer_set(1UL<<_DVORAK); } break; case _LOWER: if (record->event.pressed) { layer_on(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); } else { layer_off(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); } break; case _RAISE: if (record->event.pressed) { layer_on(_RAISE); update_tri_layer(_LOWER, _RAISE, _ADJUST); } else { layer_off(_RAISE); update_tri_layer(_LOWER, _RAISE, _ADJUST); } break; case M_BL: if (record->event.pressed) { register_code(KC_RSFT); #ifdef BACKLIGHT_ENABLE backlight_step(); #endif } else { unregister_code(KC_RSFT); } break; } return MACRO_NONE; };
bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case MOVE: if (record->event.pressed) { layer_on(_MOVE); update_tri_layer(_MOVE, _SYMB, _MOUSE); } else { layer_off(_MOVE); update_tri_layer(_MOVE, _SYMB, _MOUSE); } return false; break; case SYMB: if (record->event.pressed) { layer_on(_SYMB); update_tri_layer(_MOVE, _SYMB, _MOUSE); } else { layer_off(_SYMB); update_tri_layer(_MOVE, _SYMB, _MOUSE); } return false; break; case FUNC: if (record->event.pressed) { layer_on(_FUNC); } else { layer_off(_FUNC); } return false; break; case BELOW: if (record->event.pressed) { register_code(KC_LGUI); register_code(KC_RGHT); unregister_code(KC_RGHT); unregister_code(KC_LGUI); register_code(KC_ENT); unregister_code(KC_ENT); } return false; break; case ABOVE: if (record->event.pressed) { register_code(KC_LGUI); register_code(KC_LEFT); unregister_code(KC_LEFT); unregister_code(KC_LGUI); register_code(KC_ENT); unregister_code(KC_ENT); register_code(KC_UP); unregister_code(KC_UP); } 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 persistant_default_layer_set(1UL<<_QWERTY); } return false; break; case GAME: if (record->event.pressed) { #ifdef AUDIO_ENABLE PLAY_SONG(music_scale); #endif persistant_default_layer_set(1UL<<_GAME); } return false; break; case LOWER: if (record->event.pressed) { layer_on(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); } else { layer_off(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); } return false; break; case RAISE: if (record->event.pressed) { layer_on(_RAISE); update_tri_layer(_LOWER, _RAISE, _ADJUST); } else { layer_off(_RAISE); update_tri_layer(_LOWER, _RAISE, _ADJUST); } return false; break; case BACKLIT: if (record->event.pressed) { register_code(KC_RSFT); #ifdef BACKLIGHT_ENABLE backlight_step(); #endif } else { unregister_code(KC_RSFT); } return false; break; } return true; }
bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case QWERTY: if (record->event.pressed) { print("mode just switched to qwerty and this is a huge string\n"); set_single_persistent_default_layer(_QWERTY); } return false; break; case LOWER: if (record->event.pressed) { layer_on(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); } else { layer_off(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); } return false; break; case RAISE: if (record->event.pressed) { layer_on(_RAISE); update_tri_layer(_LOWER, _RAISE, _ADJUST); } else { layer_off(_RAISE); update_tri_layer(_LOWER, _RAISE, _ADJUST); } return false; break; case PLOVER: if (record->event.pressed) { #ifdef AUDIO_ENABLE stop_all_notes(); PLAY_SONG(plover_song); #endif layer_off(_RAISE); layer_off(_LOWER); layer_off(_ADJUST); layer_on(_PLOVER); if (!eeconfig_is_enabled()) { eeconfig_init(); } keymap_config.raw = eeconfig_read_keymap(); keymap_config.nkro = 1; eeconfig_update_keymap(keymap_config.raw); } return false; break; case EXT_PLV: if (record->event.pressed) { #ifdef AUDIO_ENABLE PLAY_SONG(plover_gb_song); #endif layer_off(_PLOVER); } return false; 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 COLEMAK: if (record->event.pressed) { persistent_default_layer_set(1UL<<_COLEMAK); } return false; break; case DVORAK: if (record->event.pressed) { persistent_default_layer_set(1UL<<_DVORAK); } return false; break; case WOW: if (record->event.pressed) { persistent_default_layer_set(1UL<<_WOW); } return false; break; case DESTINY: if (record->event.pressed) { persistent_default_layer_set(1UL<<_DESTINY); } return false; break; case LOWER: if (record->event.pressed) { layer_on(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); } else { layer_off(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); } return false; break; case RAISE: if (record->event.pressed) { layer_on(_RAISE); update_tri_layer(_LOWER, _RAISE, _ADJUST); } else { layer_off(_RAISE); update_tri_layer(_LOWER, _RAISE, _ADJUST); } return false; break; } return true; };
bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case QWERTY: if (record->event.pressed) { set_single_persistent_default_layer(_QWERTY); } return false; break; case DVORAK: if (record->event.pressed) { set_single_persistent_default_layer(_DVORAK); } return false; break; case OSU: if (record->event.pressed) { set_single_persistent_default_layer(_OSU); } return false; break; case LOWER: if (record->event.pressed) { layer_on(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); } else { layer_off(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); } return false; break; case RAISE: if (record->event.pressed) { layer_on(_RAISE); update_tri_layer(_LOWER, _RAISE, _ADJUST); } else { layer_off(_RAISE); update_tri_layer(_LOWER, _RAISE, _ADJUST); } return false; break; } return true; };
void belak_td_finished(qk_tap_dance_state_t *state, void *user_data) { switch (state->count) { case 1: layer_on(SYMB); break; case 2: layer_on(NUMP); break; } td_led_override = 0; }
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 QWERTY: if (record->event.pressed) { persistent_default_layer_set(1UL<<_QWERTY); } return false; break; case DVORAK: if (record->event.pressed) { persistent_default_layer_set(1UL<<_DVORAK); } return false; break; case GAME: if (record->event.pressed) { persistent_default_layer_set(1UL<<_GAME); } return false; break; case LEFTY: if (record->event.pressed) { layer_on(_LEFTY); update_tri_layer(_LEFTY, _RIGHTY, _DUAL); } else { layer_off(_LEFTY); update_tri_layer(_LEFTY, _RIGHTY, _DUAL); } return false; break; case RIGHTY: if (record->event.pressed) { layer_on(_RIGHTY); update_tri_layer(_LEFTY, _RIGHTY, _DUAL); } else { layer_off(_RIGHTY); update_tri_layer(_LEFTY, _RIGHTY, _DUAL); } return false; break; case DUAL: if (record->event.pressed) { layer_on(_DUAL); } else { layer_off(_DUAL); } return false; break; } return true; }
bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case COLE: if (record->event.pressed) { persistent_default_layer_set(1UL << _COLE); } return false; break; case LOWER: if (record->event.pressed) { layer_on(_LOWER); update_tri_layer(_LOWER, _RAISE, _AUX); } else { layer_off(_LOWER); update_tri_layer(_LOWER, _RAISE, _AUX); } return false; break; case RAISE: if (record->event.pressed) { layer_on(_RAISE); update_tri_layer(_LOWER, _RAISE, _AUX); } else { layer_off(_RAISE); update_tri_layer(_LOWER, _RAISE, _AUX); } return false; break; case AUX: if (record->event.pressed) { layer_on(_AUX); } else { layer_off(_AUX); } return false; 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); update_tri_layer(_LOWER, _RAISE, _ADJUST); } else { layer_off(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); } return false; break; case RAISE: if (record->event.pressed) { layer_on(_RAISE); update_tri_layer(_LOWER, _RAISE, _ADJUST); } else { layer_off(_RAISE); update_tri_layer(_LOWER, _RAISE, _ADJUST); } return false; break; case ADJUST: if (record->event.pressed) { layer_on(_ADJUST); } else { layer_off(_ADJUST); } return false; break; case ADMIN: if (record->event.pressed) { SEND_STRING("Administrator"); } return false; break; case SMSPC1: if (record->event.pressed) { SEND_STRING("Simspace1!"); } return false; break; } return true; }
bool process_record_user(uint16_t keycode, keyrecord_t *record) { 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 DVORAK: if (record->event.pressed) { set_single_persistent_default_layer(_DVORAK); } return false; break; case FUNC: if (record->event.pressed) { layer_on(_FUNC); update_tri_layer(_FUNC, _FUNC2, _ADJUST); } else { layer_off(_FUNC); update_tri_layer(_FUNC, _FUNC2, _ADJUST); } return false; break; case FUNC2: if (record->event.pressed) { layer_on(_FUNC2); update_tri_layer(_FUNC, _FUNC2, _ADJUST); } else { layer_off(_FUNC2); update_tri_layer(_FUNC, _FUNC2, _ADJUST); } return false; break; case RGB: if (record->event.pressed) { layer_on(_RGB); } else { layer_off(_RGB); } return false; break; } return true; }
bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { 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 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. layer_on(_LOWER); } else { layer_off(_LOWER); } 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. layer_on(_RAISE); } else { layer_off(_RAISE); } return false; break; case BACKLIT: if (record->event.pressed) { register_code(KC_RSFT); #ifdef BACKLIGHT_ENABLE backlight_step(); #endif } else { unregister_code(KC_RSFT); } return false; break; } return true; }
void update_tri_layer(uint8_t layer1, uint8_t layer2, uint8_t layer3) { if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) { layer_on(layer3); } else { layer_off(layer3); } }
void dip_update(uint8_t index, bool active) { switch (index) { case 0: if (active) { #ifdef AUDIO_ENABLE PLAY_SONG(plover_song); #endif layer_on(_ADJUST); } else { #ifdef AUDIO_ENABLE PLAY_SONG(plover_gb_song); #endif layer_off(_ADJUST); } break; case 1: if (active) { muse_mode = true; } else { muse_mode = false; #ifdef AUDIO_ENABLE stop_all_notes(); #endif } break; case 3: if (active) { clicky_on(); } else { clicky_off(); } } }