summary refs log tree commit diff
path: root/users/kuatsure
diff options
context:
space:
mode:
authorJarrett Drouillard <jarrett@thestyl.us>2019-05-23 00:40:16 -0400
committerDrashna Jaelre <drashna@live.com>2019-05-22 21:40:16 -0700
commit03e53dc8a2958c44b03b3863c27ce29b94f81f08 (patch)
tree330a4715a8fe036038f07f059d2cc1c51c86fab2 /users/kuatsure
parent73715bacc26e47e574a5fbefb4d477cb4b7de9e7 (diff)
[Keymap] changes to my userspace and preonic keymap ( spring 2019 ) (#5881)
* feat-user-kuatsure: abstract symbol row out

* feat-user-kuatsure: abstract grouped bracket, brace, paren out

* fix-preonic-kuatsure: remove eol as requested by @drashna

* feat-user-kuatsure: add KC_MAKE and KC_FLSH

thanks to @drashna for the help

* chore-preonic-kuatsure: remove auto shift

* chore-user-kuatsure: move leader seq's to macro syntax

* feat-user-kuatsure: add `KC_VRSN` key

plus use it preonic keymap

* chore-user-kuatsure: namespace keyboard macros `KB`

* chore-preonic-kuatsure: move some keyboardy keys around

* chore-preonic-kuatsure: remove parens, brackets, braces from lower

* chore-user-kuatsure: move tmux window shifts to dbl press leaders

* feat-user-kuatsure: add a computer lock leader seq

* fix-preonic-kuatsure: go back to lower brackets

* chore-preonic-kuatsure: clear out raise

* feat-various-kuatsure: add meh + tab mod tap

* chore-preonic-kuatsure: `raise` eats `game_mod` layer

* fix-preonic-kuatsure: reverse pg up and pg down

* chore-user-kuatsure: add double tap to turn off music

* chore-user-kuatsure: move like seqs together

* chore-preonic-kuatsure: add a few more items to the num pad on raise

* feat-user-kuatsure: re-enable td for <> keys

* chore-user-kuatsure: give a little more grace period for leader

* fix-user-kuatsure: give lock leader a gui buffer

no timer or anything, but alfred doesn't boot up as quickly as I would like sometimes

gui doesn't do anything but gives a little bit of a time bump

* fix-user-kuatsure: changes from @drashna review
Diffstat (limited to 'users/kuatsure')
-rw-r--r--users/kuatsure/kuatsure.c140
-rw-r--r--users/kuatsure/kuatsure.h32
-rw-r--r--users/kuatsure/rules.mk1
3 files changed, 115 insertions, 58 deletions
diff --git a/users/kuatsure/kuatsure.c b/users/kuatsure/kuatsure.c
index a18713626e..f935e83c74 100644
--- a/users/kuatsure/kuatsure.c
+++ b/users/kuatsure/kuatsure.c
@@ -1,35 +1,62 @@
 #include "kuatsure.h"
+#include "version.h"
 
-void tmux_prefix(void) {
-  register_code(KC_LCTL);
-  register_code(KC_SPC);
+qk_tap_dance_action_t tap_dance_actions[] = {
+  [TD_LBRC] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_LT),
+  [TD_RBRC] = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, KC_GT)
+};
 
-  unregister_code(KC_LCTL);
-  unregister_code(KC_SPC);
+__attribute__ ((weak))
+bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
+  return true;
 }
 
-void tmux_pane_zoom(void) {
-  tmux_prefix();
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+  switch (keycode) {
+    case KB_MAKE:
+      if (!record->event.pressed) {
+        SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP SS_TAP(X_ENTER));
+      }
+      return false;
+      break;
+
+    case KB_VRSN:
+      if (!record->event.pressed) {
+        SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
+      }
+      return false;
+      break;
+
+    case KB_FLSH:
+      if (!record->event.pressed) {
+        SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP
+          #if  (defined(BOOTLOADER_DFU) || defined(BOOTLOADER_LUFA_DFU) || defined(BOOTLOADER_QMK_DFU))
+            ":dfu "
+          #elif defined(BOOTLOADER_HALFKAY)
+            ":teensy "
+          #elif defined(BOOTLOADER_CATERINA)
+            ":avrdude "
+          #endif
+          SS_TAP(X_ENTER)
+        );
+
+        reset_keyboard();
+      }
+      return false;
+      break;
+  }
 
-  register_code(KC_Z);
-  unregister_code(KC_Z);
+  return process_record_keymap(keycode, record);
 }
 
-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_prefix(void) {
+  tap_code16(LCTL(KC_SPC));
 }
 
-void tmux_window_switch(uint16_t keycode) {
+void tmux_pane_zoom(void) {
   tmux_prefix();
 
-  register_code(keycode);
-  unregister_code(keycode);
+  SEND_STRING("z");
 }
 
 LEADER_EXTERNS();
@@ -43,69 +70,70 @@ void matrix_scan_user(void) {
     // anything you can do in a macro https://docs.qmk.fm/macros.html
     // https://docs.qmk.fm/feature_leader_key.html
 
+    // Stop music and lock computer via alfred
+    SEQ_ONE_KEY(KC_H) {
+      SEND_STRING(SS_LGUI(" ") SS_TAP(X_LGUI) "afk" SS_TAP(X_ENTER));
+    }
+
+    // Stop music and lock computer via alfred
+    SEQ_TWO_KEYS(KC_H, KC_H) {
+      SEND_STRING(SS_LGUI(" ") SS_TAP(X_LGUI) "afk" SS_TAP(X_ENTER) SS_TAP(X_MEDIA_PLAY_PAUSE));
+    }
+
     // 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);
+      SEND_STRING(SS_LGUI(SS_LSFT("3")));
     }
 
     // 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);
+      SEND_STRING(SS_LGUI(SS_LSFT("4")));
     }
 
     // TMUX - shift to pane 1 and zoom
     SEQ_ONE_KEY(KC_J) {
-      tmux_pane_switch(KC_1);
+      tmux_prefix();
+      SEND_STRING("q1");
       tmux_pane_zoom();
     }
 
+    // TMUX - shift to first window
+    SEQ_TWO_KEYS(KC_J, KC_J) {
+      tmux_prefix();
+      SEND_STRING("1");
+    }
+
     // TMUX - shift to pane 2 and zoom
     SEQ_ONE_KEY(KC_K) {
-      tmux_pane_switch(KC_2);
+      tmux_prefix();
+      SEND_STRING("q2");
       tmux_pane_zoom();
     }
 
+    // TMUX - shift to second window
+    SEQ_TWO_KEYS(KC_K, KC_K) {
+      tmux_prefix();
+      SEND_STRING("2");
+    }
+
     // TMUX - shift to pane 3 and zoom
     SEQ_ONE_KEY(KC_L) {
-      tmux_pane_switch(KC_3);
+      tmux_prefix();
+      SEND_STRING("q3");
       tmux_pane_zoom();
     }
 
+    // TMUX - shift to third window
+    SEQ_TWO_KEYS(KC_L, KC_L) {
+      tmux_prefix();
+      SEND_STRING("3");
+    }
+
     // TMUX - shift to last pane and zoom
     SEQ_ONE_KEY(KC_SCOLON) {
       tmux_prefix();
-
-      register_code(KC_SCOLON);
-      unregister_code(KC_SCOLON);
-
+      SEND_STRING(";");
       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);
-    }
   }
 }
diff --git a/users/kuatsure/kuatsure.h b/users/kuatsure/kuatsure.h
index 23d3c617cb..8961d56213 100644
--- a/users/kuatsure/kuatsure.h
+++ b/users/kuatsure/kuatsure.h
@@ -3,12 +3,32 @@
 
 #include "quantum.h"
 
+enum kuatsure_keycodes {
+  KB_MAKE = SAFE_RANGE,
+  KB_FLSH,
+  KB_VRSN,
+
+  USER_SAFE_RANGE,
+};
+
+enum {
+  TD_LBRC = 0,
+  TD_RBRC,
+};
+
+#define KT_LBRC TD(TD_LBRC)
+#define KT_RBRC TD(TD_RBRC)
+
+#define TAPPING_TERM 200
+
+#define LEADER_TIMEOUT 250
+#define LEADER_PER_KEY_TIMING
+
 void tmux_prefix(void);
 void tmux_pane_zoom(void);
-void tmux_pane_switch(uint16_t keycode);
-void tmux_window_switch(uint16_t keycode);
 
 #define KT_CESC CTL_T(KC_ESC)
+#define KT_MTAB MEH_T(KC_TAB)
 
 #undef LEADER_TIMEOUT
 #define LEADER_TIMEOUT 300
@@ -18,6 +38,9 @@ void tmux_window_switch(uint16_t keycode);
 #define _________________NUMBER_L1_________________        KC_1,    KC_2,    KC_3,    KC_4,    KC_5
 #define _________________NUMBER_R1_________________        KC_6,    KC_7,    KC_8,    KC_9,    KC_0
 
+#define _________________SYMBOL_L1_________________        KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC
+#define _________________SYMBOL_R1_________________        KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN
+
 #define _________________QWERTY_L1_________________        KC_Q,    KC_W,    KC_E,    KC_R,    KC_T
 #define _________________QWERTY_L2_________________        KC_A,    KC_S,    KC_D,    KC_F,    KC_G
 #define _________________QWERTY_L3_________________        KC_Z,    KC_X,    KC_C,    KC_V,    KC_B
@@ -30,4 +53,9 @@ void tmux_window_switch(uint16_t keycode);
 #define ____________FUNCTION_2____________                 KC_F5,   KC_F6,   KC_F7,   KC_F8
 #define ____________FUNCTION_3____________                 KC_F9,   KC_F10,  KC_F11,  KC_F12
 
+#define ___SQBRACKETS___                                   KT_LBRC, KT_RBRC
+#define _____PARENS_____                                   KC_LPRN, KC_RPRN
+#define ____CRBRACES____                                   KC_LCBR, KC_RCBR
+#define ___ANBRACKETS___                                   KC_LT,   KC_GT
+
 #endif
diff --git a/users/kuatsure/rules.mk b/users/kuatsure/rules.mk
index f0d295aad0..ed7e929054 100644
--- a/users/kuatsure/rules.mk
+++ b/users/kuatsure/rules.mk
@@ -1,3 +1,4 @@
 CONSOLE_ENABLE = no
+TAP_DANCE_ENABLE = yes
 
 SRC += kuatsure.c