* added combos * minor adjustments, added combos * Add second encoder, add modifiers to encoders Added a skeleton for the possibily having a second encoder. Added 9 modifiers for the first rotary encoder: - None General navigation. Page up/down - SHIFT Fast navigation. Home/end - CTRL Vertical navigation. Up/down - CTRL+SHIFT Horizontal navigation. Left/right - ALT Audio volume control. - GUI Browser navigation(windows). Forward/backward - ALT+SHIFT Form navigation. Tab up/down - ALT+CTRL Media control. (Play|pause)/mute - HYPER Media navigation. Next/prev track Key codes are stored in `uint16_t encoder_actions[2][9]` * Add second encoder, add modifiers to encoders Added a skeleton for the possibily having a second encoder. Added 9 modifiers for the first rotary encoder: - None General navigation. Page up/down - SHIFT Fast navigation. Home/end - CTRL Vertical navigation. Up/down - CTRL+SHIFT Horizontal navigation. Left/right - ALT Audio volume control. - GUI Browser navigation(windows). Forward/backward - ALT+SHIFT Form navigation. Tab up/down - ALT+CTRL Media control. (Play|pause)/mute - HYPER Media navigation. Next/prev track Key codes are stored in `uint16_t encoder_actions[2][9]` * Clean up; added combos Combos: - CV: Copy - XC: Cut - ZV: Paste - QP: KC_SLEEP * Fix LEADER_DICTIONARY to be more useful * Add documentation * Minor fixes * Raise TAPPING_TERM * testing * Rearrange modifiers * Fix kc being stored in uint8 instead of uint16 * Update documentation * Clean up * Remove excess comments * Put encoder_actions in progmem
		
			
				
	
	
		
			77 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#include "leader.h"
 | 
						|
 | 
						|
LEADER_EXTERNS();
 | 
						|
 | 
						|
void matrix_scan_user(void){
 | 
						|
  static bool has_ran_yet;
 | 
						|
  if (!has_ran_yet) {
 | 
						|
    has_ran_yet = true;
 | 
						|
    startup_user();
 | 
						|
  }
 | 
						|
 | 
						|
#ifdef TAP_DANCE_ENABLE  // Run Diablo 3 macro checking code.
 | 
						|
//  run_diablo_macro_check();
 | 
						|
#endif // TAP_DANCE_ENABLE
 | 
						|
 | 
						|
#ifdef RGBLIGHT_ENABLE
 | 
						|
  matrix_scan_rgb();
 | 
						|
#endif // RGBLIGHT_ENABLE
 | 
						|
 | 
						|
  LEADER_DICTIONARY() {
 | 
						|
    leading = false;
 | 
						|
    leader_end();
 | 
						|
 | 
						|
    SEQ_ONE_KEY(KC_W) {
 | 
						|
      // vim/tmux: Use in command mode in vim: write to file, switch tmux pane in the current session window and repeat the last command
 | 
						|
      SEND_STRING(":w" SS_TAP(X_ENTER));
 | 
						|
      tmux_pane_switch_repeat();
 | 
						|
      }
 | 
						|
    
 | 
						|
    SEQ_ONE_KEY(KC_T) {
 | 
						|
      // Send the Tmux Prefix
 | 
						|
      tmux_prefix();
 | 
						|
    }
 | 
						|
 | 
						|
    SEQ_ONE_KEY(KC_A) {
 | 
						|
       // tmux: Send the prefix and press 'right' arrow
 | 
						|
      tmux_prefix();
 | 
						|
      tap_code(KC_RIGHT);
 | 
						|
    }
 | 
						|
 | 
						|
    SEQ_TWO_KEYS(KC_T, KC_T) {
 | 
						|
      // tmux: Send the prefix to a nested session
 | 
						|
      tmux_prefix();
 | 
						|
      tmux_prefix();
 | 
						|
    }
 | 
						|
    SEQ_TWO_KEYS(KC_T, KC_R) {
 | 
						|
      // tmux: Switch pane and repeat last action
 | 
						|
      tmux_pane_switch_repeat();
 | 
						|
    }
 | 
						|
 | 
						|
    SEQ_TWO_KEYS(KC_V, KC_Z){
 | 
						|
      // vim: Zoom pane
 | 
						|
      tap_code16(LCTL(KC_W));
 | 
						|
      tap_code16(LSFT(KC_BSLS));
 | 
						|
    }
 | 
						|
 | 
						|
    SEQ_TWO_KEYS(KC_V, KC_R) {
 | 
						|
      // vim: Substitute and place cursor
 | 
						|
      SEND_STRING(":%s///g" SS_TAP(X_LEFT));
 | 
						|
      tap_code(KC_LEFT);
 | 
						|
      tap_code(KC_LEFT);
 | 
						|
    }
 | 
						|
 | 
						|
    SEQ_TWO_KEYS(KC_V, KC_T) {
 | 
						|
     // vim: move current pane to new tab
 | 
						|
     tap_code16(LCTL(KC_W));
 | 
						|
     tap_code16(LSFT(KC_T));
 | 
						|
    }
 | 
						|
 | 
						|
    SEQ_THREE_KEYS(KC_BSPC, KC_BSPC, KC_BSPC){
 | 
						|
        // Reset the keyboard
 | 
						|
        reset_keyboard();
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  matrix_scan_keymap();
 | 
						|
}
 |