LEADER_DICTIONARY() { leading = false; leader_end(); SEQ_TWO_KEYS(KC_G, KC_A) { SEND_STRING("git add ."); }
LEADER_DICTIONARY() { leading = false; leader_end(); SEQ_ONE_KEY (KC_R) { tap_random_base64(); tap_random_base64(); tap_random_base64(); tap_random_base64(); tap_random_base64(); tap_random_base64(); tap_random_base64(); tap_random_base64(); tap_random_base64(); } SEQ_ONE_KEY (KC_V) { SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); } SEQ_ONE_KEY(KC_F) { SEND_STRING("if yes\n\tpeanut butter\nelse\n\trice snacks"); } SEQ_TWO_KEYS(KC_A, KC_S) { register_code(KC_H); unregister_code(KC_H); }
LEADER_DICTIONARY() { leading = false; leader_end(); SEQ_ONE_KEY(KC_F) { register_code(KC_S); unregister_code(KC_S); } SEQ_TWO_KEYS(KC_A, KC_S) { register_code(KC_H); unregister_code(KC_H); }
// Runs constantly in the background, in a loop. void matrix_scan_user(void) { uint8_t layer = biton32(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); ergodox_right_led_2_off(); ergodox_right_led_3_off(); switch (layer) { // TODO: Make this relevant to the ErgoDox EZ. case 1: ergodox_right_led_1_on(); break; case 2: ergodox_right_led_2_on(); break; default: // none break; } LEADER_DICTIONARY() { leading = false; leader_end(); SEQ_ONE_KEY(KC_W) { register_code(KC_LALT); register_code(KC_F4); unregister_code(KC_F4); unregister_code(KC_LALT); } SEQ_ONE_KEY(KC_O) { register_code(KC_LCTL); register_code(KC_LSFT); register_code(KC_O); unregister_code(KC_O); unregister_code(KC_LSFT); unregister_code(KC_LCTL); } } }
// No global matrix scan code, so just run keymap's matrix // scan function void matrix_scan_user(void) { static bool has_ran_yet; if (!has_ran_yet) { has_ran_yet = true; startup_user(); } LEADER_DICTIONARY() { leading = false; leader_end(); // Mac Save (Leader -> s) SEQ_ONE_KEY(KC_S) { SEND_STRING(SS_LGUI("s")); } // Mac copy line down (Leader -> d, d) SEQ_TWO_KEYS(KC_D, KC_D) { register_code(KC_LSHIFT); register_code(KC_HOME); unregister_code(KC_HOME); unregister_code(KC_LSHIFT); SEND_STRING(SS_LGUI("c")); tap(KC_END); tap(KC_ENTER); SEND_STRING(SS_LGUI("v")); } // Mac copy line up (Leader -> u, u) SEQ_TWO_KEYS(KC_U, KC_U) { register_code(KC_LSHIFT); register_code(KC_HOME); unregister_code(KC_HOME); unregister_code(KC_LSHIFT); SEND_STRING(SS_LGUI("c")); tap(KC_UP); tap(KC_END); tap(KC_ENTER); SEND_STRING(SS_LGUI("v")); }
void matrix_scan_user(void) { uint8_t layer = biton32(layer_state); if (keyboard_report->mods & MOD_BIT(KC_LSFT) || ((get_oneshot_mods() & MOD_BIT(KC_LSFT)) && !has_oneshot_mods_timed_out())) { ergodox_right_led_1_set(LED_BRIGHTNESS_HI); ergodox_right_led_1_on(); } else if (layer == RAISE || layer == AUX) { ergodox_right_led_1_set(LED_BRIGHTNESS_LO); ergodox_right_led_1_on(); } else { ergodox_right_led_1_off(); } if (keyboard_report->mods & MOD_BIT(KC_LCTL) || ((get_oneshot_mods() & MOD_BIT(KC_LCTL)) && !has_oneshot_mods_timed_out())) { ergodox_right_led_2_set(LED_BRIGHTNESS_HI); ergodox_right_led_2_on(); } else if (layer == LOWER || layer == AUX) { ergodox_right_led_2_set(LED_BRIGHTNESS_LO); ergodox_right_led_2_on(); } else { ergodox_right_led_2_off(); } if (keyboard_report->mods & MOD_BIT(KC_LALT) || ((get_oneshot_mods() & MOD_BIT(KC_LALT)) && !has_oneshot_mods_timed_out())) { ergodox_right_led_3_set(LED_BRIGHTNESS_HI); ergodox_right_led_3_on(); } else if (layer == COLE || layer == AUX) { ergodox_right_led_3_set(LED_BRIGHTNESS_LO); ergodox_right_led_3_on(); } else { ergodox_right_led_3_off(); } LEADER_DICTIONARY() { leading = false; leader_end(); SEQ_THREE_KEYS(KC_W, KC_I, KC_N) { os_type = OS_WIN; }; SEQ_THREE_KEYS(KC_O, KC_S, KC_X) { os_type = OS_OSX; }; SEQ_THREE_KEYS(KC_L, KC_I, KC_N) { os_type = OS_LIN; }; SEQ_ONE_KEY(KC_A) { switch (os_type) { case OS_WIN: tap(KC_NLCK); register_code(KC_RALT); tap(KC_KP_0); tap(KC_KP_2); tap(KC_KP_2); tap(KC_KP_8); unregister_code(KC_RALT); tap(KC_NLCK); break; case OS_OSX: register_code(KC_RALT); register_code(KC_RSFT); register_code(KC_SCLN); unregister_code(KC_SCLN); unregister_code(KC_RSFT); unregister_code(KC_RALT); tap(KC_A); break; case OS_LIN: tap(KC_RALT); tap(KC_DQT); tap(KC_A); break; } } SEQ_TWO_KEYS(KC_A, KC_A) { switch (os_type) { case OS_WIN: tap(KC_NLCK); register_code(KC_RALT); tap(KC_KP_0); tap(KC_KP_1); tap(KC_KP_9); tap(KC_KP_6); unregister_code(KC_RALT); tap(KC_NLCK); break; case OS_OSX: register_code(KC_RALT); register_code(KC_RSFT); register_code(KC_SCLN); unregister_code(KC_SCLN); unregister_code(KC_RSFT); unregister_code(KC_RALT); register_code(KC_LSFT); register_code(KC_A); unregister_code(KC_A); unregister_code(KC_LSFT); break; case OS_LIN: tap(KC_RALT); tap(KC_DQT); register_code(KC_LSFT); register_code(KC_A); unregister_code(KC_A); unregister_code(KC_LSFT); break; } } SEQ_ONE_KEY(KC_O) { switch (os_type) { case OS_WIN: tap(KC_NLCK); register_code(KC_RALT); tap(KC_KP_0); tap(KC_KP_2); tap(KC_KP_4); tap(KC_KP_6); unregister_code(KC_RALT); tap(KC_NLCK); break; case OS_OSX: register_code(KC_RALT); register_code(KC_RSFT); register_code(KC_SCLN); unregister_code(KC_SCLN); unregister_code(KC_RSFT); unregister_code(KC_RALT); tap(KC_O); break; case OS_LIN: tap(KC_RALT); tap(KC_DQT); tap(KC_O); break; } } SEQ_TWO_KEYS(KC_O, KC_O) { switch (os_type) { case OS_WIN: tap(KC_NLCK); register_code(KC_RALT); tap(KC_KP_0); tap(KC_KP_2); tap(KC_KP_1); tap(KC_KP_4); unregister_code(KC_RALT); tap(KC_NLCK); break; case OS_OSX: register_code(KC_RALT); register_code(KC_RSFT); register_code(KC_SCLN); unregister_code(KC_SCLN); unregister_code(KC_RSFT); unregister_code(KC_RALT); tap(LSFT(KC_O)); break; case OS_LIN: tap(KC_RALT); tap(KC_DQT); register_code(KC_LSFT); register_code(KC_O); unregister_code(KC_O); unregister_code(KC_LSFT); break; } } SEQ_ONE_KEY(KC_U) { switch (os_type) { case OS_WIN: tap(KC_NLCK); register_code(KC_RALT); tap(KC_KP_0); tap(KC_KP_2); tap(KC_KP_5); tap(KC_KP_2); unregister_code(KC_RALT); tap(KC_NLCK); break; case OS_OSX: register_code(KC_RALT); register_code(KC_RSFT); register_code(KC_SCLN); unregister_code(KC_SCLN); unregister_code(KC_RSFT); unregister_code(KC_RALT); tap(KC_U); break; case OS_LIN: tap(KC_RALT); tap(KC_DQT); tap(KC_U); break; } } SEQ_TWO_KEYS(KC_U, KC_U) { switch (os_type) { case OS_WIN: tap(KC_NLCK); register_code(KC_RALT); tap(KC_KP_0); tap(KC_KP_2); tap(KC_KP_2); tap(KC_KP_0); unregister_code(KC_RALT); tap(KC_NLCK); break; case OS_OSX: register_code(KC_RALT); register_code(KC_RSFT); register_code(KC_SCLN); unregister_code(KC_SCLN); unregister_code(KC_RSFT); unregister_code(KC_RALT); tap(LSFT(KC_U)); break; case OS_LIN: tap(KC_RALT); tap(KC_DQT); register_code(KC_LSFT); register_code(KC_U); unregister_code(KC_U); unregister_code(KC_LSFT); break; } } SEQ_ONE_KEY(KC_S) { switch (os_type) { case OS_WIN: tap(KC_NLCK); register_code(KC_RALT); tap(KC_KP_0); tap(KC_KP_2); tap(KC_KP_2); tap(KC_KP_3); unregister_code(KC_RALT); tap(KC_NLCK); break; case OS_OSX: register_code(KC_RALT); tap(KC_S); unregister_code(KC_RALT); break; case OS_LIN: tap(KC_RALT); tap(KC_S); tap(KC_S); break; } } } }
void matrix_scan_user(void) { // runs frequently to update info uint8_t modifiders = get_mods(); uint8_t layer = biton32(layer_state); static bool has_layer_changed = true; if (!skip_leds) { ergodox_board_led_off(); ergodox_right_led_1_off(); ergodox_right_led_2_off(); ergodox_right_led_3_off(); // Since we're not using the LEDs here for layer indication anymore, // then lets use them for modifier indicators. Shame we don't have 4... // Also, no "else", since we want to know each, independantly. if ( modifiders & MODS_SHIFT_MASK) { ergodox_right_led_2_on(); } if ( modifiders & MODS_CTRL_MASK) { ergodox_right_led_1_on(); } if ( modifiders & MODS_ALT_MASK) { ergodox_right_led_3_on(); } } if (layer != current_layer) { has_layer_changed = true; current_layer = layer; } // Check layer, and apply color if its changed since last check if (has_layer_changed) { uint8_t default_layer = 0; default_layer = eeconfig_read_default_layer(); switch (layer) { case SYMB: rgblight_set_blue; rgblight_mode(2); break; case OVERWATCH: rgblight_set_orange; rgblight_mode(17); break; case DIABLO: rgblight_set_red; rgblight_mode(5); break; case MOUS: rgblight_set_urine; rgblight_mode(1); break; case 7: rgblight_sethsv (255,255,255); rgblight_mode(1); break; default: if (default_layer & (1UL << COLEMAK)) { rgblight_set_green; } else if (default_layer & (1UL << DVORAK)) { rgblight_set_magenta; } else if (default_layer & (1UL << WORKMAN)) { rgblight_set_purple; } else { rgblight_set_teal; } rgblight_mode(1); break; } has_layer_changed = false; } // Run Diablo 3 macro checking code. run_diablo_macro_check(); #ifdef LEADER_KEYS LEADER_DICTIONARY() { leading = false; leader_end(); SEQ_ONE_KEY(KC_C) { SEND_STRING("Covecube"); } SEQ_TWO_KEYS(KC_S, KC_D) { SEND_STRING("StableBit DrivePool"); } SEQ_TWO_KEYS(KC_C, KC_D) { SEND_STRING("StableBit CloudDrive"); }