DFAULTS,
TOGGLE_BACKLIGHT,
EFFECT,
- EFFECT_END = EFFECT + 10
+ EFFECT_END = EFFECT + 20
};
#ifndef RESET_LAYER
_NORMAN,
_DVORAK,
_COLMAK,
+ _MALTROFF,
_GAME,
_NAV,
_NUM,
_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
#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
#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
#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