From 258954dc3e884dfa9a057f10f96c4544737e9e81 Mon Sep 17 00:00:00 2001 From: Jarrett Drouillard Date: Wed, 30 May 2018 17:49:20 -0400 Subject: Add kuatsure map to preonic board (#3087) * preonic-keymap: kuatsure keymap * preonic-kuatsure: move arrows and braces and stuffs * preonic-kuatsure: give more time for leader * preonic-kuatsure: move _ to lower o * preonic-kuatsure: tap dance space to enter * preonic-kuatsure: move vol buttons around conflicted with kaleidoscope file navigation * preonic-kuatsure: lower+spc = esc * preonic-kuatsure: add lock key & remove led stuff * preonic-kuatsure: little bit of tmux leadering * preonic-kuatsure: remove colemak and dvorak * preonic-kuatsure: remove lock key and tap dance * preonic-kuatsure: lower space -> enter -- raise space -> esc * preonice-kuatsure: move tmux stuff to homerow keys * preonic-kuatsure: set tmux prefix to a function * preonic-kuatsure: hello game layers * preonic-kuatsure: instead of zelda, ffvii for game mode :) * preonic-kuatsure: mild changes after playing games to game modes * preonice-kuatsure: omg comma dangles and spaces in switch! * preonic-kuatsure: kinda make lower a shift on special characters * preonic-kuatsure: I don't use these * preonic-kuatsure: move vol- to the begining of media row * preonic-kuatsure: more tmux leader stuff ( pane 3 & last pane ) * preonic-kuatsure: abstract out tmux pane zooming * preonic-kuatsure: abstract pane switch * preonic-kuatsure: game_mod is carries over lower positions starting to wonder if I need game_mod ... lol * preonic-kuatsure: switch lwr/rse esc / ent * preonic-kuatsure: add leaders for window switching * preonic-kuatsure: major pruning of adjust layer * preonic-kuatsure: major rework on raise layer * preonic-kuatsure: game mods f layer is raise now * user-kuatsure: hello * various-kuatsure: use layout format + globalize querty / number keys * preonic-kuatsure: don't use tap dance anymore * various-kuatsure: code formatting * various-kuatsure: add function layer vars * preonic-kuatsure: moar formatting * preonic-kuatsure: add home / end keys --- users/kuatsure/kuatsure.c | 111 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 users/kuatsure/kuatsure.c (limited to 'users/kuatsure/kuatsure.c') diff --git a/users/kuatsure/kuatsure.c b/users/kuatsure/kuatsure.c new file mode 100644 index 0000000000..a18713626e --- /dev/null +++ b/users/kuatsure/kuatsure.c @@ -0,0 +1,111 @@ +#include "kuatsure.h" + +void tmux_prefix(void) { + register_code(KC_LCTL); + register_code(KC_SPC); + + unregister_code(KC_LCTL); + unregister_code(KC_SPC); +} + +void tmux_pane_zoom(void) { + tmux_prefix(); + + register_code(KC_Z); + unregister_code(KC_Z); +} + +void tmux_pane_switch(uint16_t keycode) { + tmux_prefix(); + + register_code(KC_Q); + unregister_code(KC_Q); + + register_code(keycode); + unregister_code(keycode); +} + +void tmux_window_switch(uint16_t keycode) { + tmux_prefix(); + + register_code(keycode); + unregister_code(keycode); +} + +LEADER_EXTERNS(); +void matrix_scan_user(void) { + LEADER_DICTIONARY() { + leading = false; + leader_end(); + + // Available seqs + // SEQ_ONE_KEY, SEQ_TWO_KEYS, SEQ_THREE_KEYS + // anything you can do in a macro https://docs.qmk.fm/macros.html + // https://docs.qmk.fm/feature_leader_key.html + + // Whole Screen Shot + SEQ_ONE_KEY(KC_A) { + register_code(KC_LGUI); + register_code(KC_LSFT); + register_code(KC_3); + + unregister_code(KC_3); + unregister_code(KC_LSFT); + unregister_code(KC_LGUI); + } + + // Selective Screen Shot + SEQ_ONE_KEY(KC_S) { + register_code(KC_LGUI); + register_code(KC_LSFT); + register_code(KC_4); + + unregister_code(KC_4); + unregister_code(KC_LSFT); + unregister_code(KC_LGUI); + } + + // TMUX - shift to pane 1 and zoom + SEQ_ONE_KEY(KC_J) { + tmux_pane_switch(KC_1); + tmux_pane_zoom(); + } + + // TMUX - shift to pane 2 and zoom + SEQ_ONE_KEY(KC_K) { + tmux_pane_switch(KC_2); + tmux_pane_zoom(); + } + + // TMUX - shift to pane 3 and zoom + SEQ_ONE_KEY(KC_L) { + tmux_pane_switch(KC_3); + tmux_pane_zoom(); + } + + // TMUX - shift to last pane and zoom + SEQ_ONE_KEY(KC_SCOLON) { + tmux_prefix(); + + register_code(KC_SCOLON); + unregister_code(KC_SCOLON); + + tmux_pane_zoom(); + } + + // TMUX - shift to first window + SEQ_ONE_KEY(KC_U) { + tmux_window_switch(KC_1); + } + + // TMUX - shift to second window + SEQ_ONE_KEY(KC_I) { + tmux_window_switch(KC_2); + } + + // TMUX - shift to third window + SEQ_ONE_KEY(KC_O) { + tmux_window_switch(KC_3); + } + } +} -- cgit v1.2.3