]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - users/talljoe/talljoe.h
[Keymap] Jarred's Plaid keymap (#6049)
[qmk_firmware.git] / users / talljoe / talljoe.h
index 17e54af6993c8f0e78920522dde2ce515ebea87f..496a6222a92ffe54bcd2b4bb9409d5b743e3689d 100644 (file)
@@ -8,7 +8,7 @@ enum userspace_custom_keycodes {
   DFAULTS,
   TOGGLE_BACKLIGHT,
   EFFECT,
-  EFFECT_END = EFFECT + 10
+  EFFECT_END = EFFECT + 20
 };
 
 #ifndef RESET_LAYER
@@ -21,6 +21,7 @@ enum layers {
     _NORMAN,
     _DVORAK,
     _COLMAK,
+    _MALTROFF,
     _GAME,
     _NAV,
     _NUM,
@@ -28,13 +29,17 @@ enum layers {
     _RESET = RESET_LAYER,
 };
 
-#define _______ KC_TRNS
-#define XXXXXXX KC_NO
+enum tap_dancers {
+  TD_SEMICOLON,
+  TD_GRAVE,
+  TD_QUOTE,
+};
 
 #define MO_NAV    MO(_NAV)
 #define MO_ADJ    MO(_ADJUST)
 #define MO_RST    MO(_RESET)
 #define TG_ADJ    TG(_ADJUST)
+#define TG_NUM    TG(_NUM)
 #ifdef ENABLE_GAME_LAYER
   #define TG_GAME TG(_GAME)
 #else
@@ -45,15 +50,28 @@ enum layers {
 #define LY_NRMN   DF(_NORMAN)
 #define LY_DVRK   DF(_DVORAK)
 #define LY_CLMK   DF(_COLMAK)
+#if SPACE_COUNT >= 2
+  #define LY_MALT DF(_MALTROFF)
+#else
+  #define LY_MALT KC_NO
+#endif
 #define TG_NKRO   MAGIC_TOGGLE_NKRO
 #define KC_PTT    KC_F24
 #define MS_MID    KC_MS_BTN3
 #define FX(x)     (EFFECT + x)
 
-#define US_CAPS   CTL_T(KC_ESC)
-#define US_QUOT   RCTL_T(KC_QUOT)
+#define CTL_ESC   CTL_T(KC_ESC)
+#define US_ENT    RCTL_T(KC_ENT)
 #define US_MINS   RCTL_T(KC_QUOT)
-#define US_ENT    LT(_NUM, KC_ENT)
+#define US_BSLS   LCA_T(KC_BSLS)
+#define US_SCLN   TD(TD_SEMICOLON)
+#define US_GRV    TD(TD_GRAVE)
+#define US_QUOT   TD(TD_QUOTE)
+#define US_TAB    C_S_T(KC_TAB)
+#define SH_LBRC   LSFT_T(KC_LBRC)
+#define SH_RBRC   RSFT_T(KC_RBRC)
+
+#define MLT_E     LT(_NUM, KC_E)
 
 #ifndef SPACE_COUNT
   #define SPACE_COUNT 1
@@ -70,17 +88,34 @@ enum layers {
   #define NM_SPC1   _______
   #define NM_SPC2   _______
   #define NM_SPC3   _______
+#elif (SPACE_COUNT == 2)
+  #define KC_SPC1   LT(_NAV,KC_SPC)
+  #define KC_SPC2   LT(_NUM,KC_ENT)
+
+  #define NV_SPC1   KC_SPC
+  #define NV_SPC2   KC_ENT
+
+  #define NM_SPC1   KC_0
+  #define NM_SPC2   KC_SPC
+
+  #define KC_SPC3   XXXXXXX
+  #define NV_SPC3   XXXXXXX
+  #define NM_SPC3   XXXXXXX
 #elif (SPACE_COUNT == 3)
-  #define KC_SPC1   KC_BSPC
+  #ifdef SWAP_HANDS_ENABLE
+    #define KC_SPC1 SH_T(KC_BSPC)
+  #else
+    #define KC_SPC1 KC_BSPC
+  #endif
   #define KC_SPC2   LT(_NUM,KC_ENT)
   #define KC_SPC3   LT(_NAV,KC_SPC)
 
   #define NV_SPC1   KC_SPC
-  #define NV_SPC2   C_S_T(KC_ENT)
+  #define NV_SPC2   KC_ENT
   #define NV_SPC3   KC_SPC
 
-  #define NM_SPC2   XXXXXXX
   #define NM_SPC1   KC_SPC
+  #define NM_SPC2   XXXXXXX
   #define NM_SPC3   KC_0
 #else
   #error "Unsupported space count:" SPACE_COUNT
@@ -105,4 +140,60 @@ enum layers {
   #define FN_MO2 KC_NO
 #endif
 
+#ifndef TEMPLATE
+  #define _X_ KC_NO
+  #define TEMPLATE( \
+    KJ4, KJ7, KI7, KH7, KG7, KG4, KF4, KF7, KE7, KD7, KR7, KR4, KE4, KB2, KJ6,      \
+    KJ2, KJ5, KI5, KH5, KG5, KG2, KF2, KF5, KE5, KD5, KR5, KR2, KE2, KB3,           \
+    KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6,      KB1,           \
+    KN2, KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0,      KN3, KA5,           \
+    KA4, KP2, KC6,           KX1, KK6, KX2,           KC0, KM3, KD0, KA1            \
+  ) TEMPLATE_TKL ( \
+    KJ6,      _X_, _X_, _X_, _X_, _X_, _X_, _X_, _X_, _X_, _X_, _X_, _X_,   _X_, _X_, KA5, \
+    KJ4, KJ7, KI7, KH7, KG7, KG4, KF4, KF7, KE7, KD7, KR7, KR4, KE4, KB2,   _X_, _X_, _X_, \
+    KJ2, KJ5, KI5, KH5, KG5, KG2, KF2, KF5, KE5, KD5, KR5, KR2, KE2, KB3,   _X_, _X_, _X_, \
+    KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6,      KB1,                  \
+    KN2,      KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0,      KN3,        _X_,      \
+    KA4, KP2, KC6,           KX1, KK6, KX2,           KC0, KM3, KD0, KA1,   _X_, _X_, _X_  \
+  )
+#endif
+#ifndef TEMPLATE_TKL
+  #define TEMPLATE_TKL( \
+    KJ6,      KI4, KH4, KH2, KH6, KA7, KE6, KD2, KD4, KB4, KB7, KB6, KB0,   KC7, KC5, KA5, \
+    KJ4, KJ7, KI7, KH7, KG7, KG4, KF4, KF7, KE7, KD7, KR7, KR4, KE4, KB2,   KL4, KO4, KQ4, \
+    KJ2, KJ5, KI5, KH5, KG5, KG2, KF2, KF5, KE5, KD5, KR5, KR2, KE2, KB3,   KK4, KO7, KQ7, \
+    KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6,      KB1,                  \
+    KN2,      KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0,      KN3,        KO6,      \
+    KA4, KP2, KC6,           KX1, KK6, KX2,           KC0, KM3, KD0, KA1,   KO0, KK0, KL0  \
+  ) TEMPLATE( \
+    KJ4, KJ7, KI7, KH7, KG7, KG4, KF4, KF7, KE7, KD7, KR7, KR4, KE4, KB2, KJ6,      \
+    KJ2, KJ5, KI5, KH5, KG5, KG2, KF2, KF5, KE5, KD5, KR5, KR2, KE2, KB3,           \
+    KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6,      KB1,           \
+    KN2, KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0,      KN3, KA5,           \
+    KA4, KP2, KC6,           KX1, KK6, KX2,           KC0, KM3, KD0, KA1            \
+  )
+#endif
+
+#ifndef TEMPLATE_ALT
+  #define TEMPLATE_ALT TEMPLATE
+#endif
+#ifndef TEMPLATE_NUM
+  #define TEMPLATE_NUM TEMPLATE_ALT
+#endif
+#ifndef TEMPLATE_NAV
+  #define TEMPLATE_NAV TEMPLATE_ALT
+#endif
+#ifndef TEMPLATE_ADJUST
+  #define TEMPLATE_ADJUST TEMPLATE_ALT
+#endif
+
+#ifndef TEMPLATE_RESET
+  #define TEMPLATE_RESET TEMPLATE_ALT( \
+      RESET  , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET  ,  \
+      RESET  , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET  ,           \
+      XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,          XXXXXXX,           \
+      XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,          XXXXXXX, XXXXXXX,           \
+      RESET  , XXXXXXX, XXXXXXX,                   XXXXXXX, RESET  , XXXXXXX,                   XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX)
+#endif
+
 #endif