aboutsummaryrefslogtreecommitdiff
path: root/users/talljoe/talljoe.h
diff options
context:
space:
mode:
Diffstat (limited to 'users/talljoe/talljoe.h')
-rw-r--r--users/talljoe/talljoe.h102
1 files changed, 43 insertions, 59 deletions
diff --git a/users/talljoe/talljoe.h b/users/talljoe/talljoe.h
index 496a6222a..f151bde68 100644
--- a/users/talljoe/talljoe.h
+++ b/users/talljoe/talljoe.h
@@ -1,7 +1,24 @@
1#ifndef USERSPACE 1/* Copyright 2020 Joseph Wasson
2#define USERSPACE 2 *
3 3 * This program is free software: you can redistribute it and/or modify
4#include "quantum.h" 4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include QMK_KEYBOARD_H
20#include "tapdance/tapdance.h"
21#include "macros.h"
5 22
6enum userspace_custom_keycodes { 23enum userspace_custom_keycodes {
7 KC_MAKE = SAFE_RANGE, // can always be here 24 KC_MAKE = SAFE_RANGE, // can always be here
@@ -22,6 +39,7 @@ enum layers {
22 _DVORAK, 39 _DVORAK,
23 _COLMAK, 40 _COLMAK,
24 _MALTROFF, 41 _MALTROFF,
42 _NORTRON,
25 _GAME, 43 _GAME,
26 _NAV, 44 _NAV,
27 _NUM, 45 _NUM,
@@ -29,14 +47,12 @@ enum layers {
29 _RESET = RESET_LAYER, 47 _RESET = RESET_LAYER,
30}; 48};
31 49
32enum tap_dancers { 50#ifdef VISUALIZER_ENABLE
33 TD_SEMICOLON, 51 extern const char layer_names[][16];
34 TD_GRAVE, 52#endif
35 TD_QUOTE,
36};
37 53
38#define MO_NAV MO(_NAV) 54#define MO_NAV MO(_NAV)
39#define MO_ADJ MO(_ADJUST) 55#define MO_ADJ TD(TD_FUNCTION)
40#define MO_RST MO(_RESET) 56#define MO_RST MO(_RESET)
41#define TG_ADJ TG(_ADJUST) 57#define TG_ADJ TG(_ADJUST)
42#define TG_NUM TG(_NUM) 58#define TG_NUM TG(_NUM)
@@ -52,8 +68,10 @@ enum tap_dancers {
52#define LY_CLMK DF(_COLMAK) 68#define LY_CLMK DF(_COLMAK)
53#if SPACE_COUNT >= 2 69#if SPACE_COUNT >= 2
54 #define LY_MALT DF(_MALTROFF) 70 #define LY_MALT DF(_MALTROFF)
71 #define LY_NTRN DF(_NORTRON)
55#else 72#else
56 #define LY_MALT KC_NO 73 #define LY_MALT KC_NO
74 #define LY_NTRN KC_NO
57#endif 75#endif
58#define TG_NKRO MAGIC_TOGGLE_NKRO 76#define TG_NKRO MAGIC_TOGGLE_NKRO
59#define KC_PTT KC_F24 77#define KC_PTT KC_F24
@@ -66,61 +84,29 @@ enum tap_dancers {
66#define US_BSLS LCA_T(KC_BSLS) 84#define US_BSLS LCA_T(KC_BSLS)
67#define US_SCLN TD(TD_SEMICOLON) 85#define US_SCLN TD(TD_SEMICOLON)
68#define US_GRV TD(TD_GRAVE) 86#define US_GRV TD(TD_GRAVE)
69#define US_QUOT TD(TD_QUOTE)
70#define US_TAB C_S_T(KC_TAB) 87#define US_TAB C_S_T(KC_TAB)
71#define SH_LBRC LSFT_T(KC_LBRC) 88#define SH_LBRC LSFT_T(KC_LBRC)
72#define SH_RBRC RSFT_T(KC_RBRC) 89#define SH_RBRC RSFT_T(KC_RBRC)
90#define US_LOCK TD(TD_LOCK)
73 91
74#define MLT_E LT(_NUM, KC_E) 92#define MLT_E LT(_NUM, KC_E)
75 93
76#ifndef SPACE_COUNT 94#ifndef SWAP_HANDS_ENABLE
77 #define SPACE_COUNT 1 95#define SH_T
78#endif
79#if (SPACE_COUNT == 1)
80 #define KC_SPC1 LT(_NAV, KC_SPC)
81 #define KC_SPC2 XXXXXXX
82 #define KC_SPC3 XXXXXXX
83
84 #define NV_SPC1 _______
85 #define NV_SPC2 _______
86 #define NV_SPC3 _______
87
88 #define NM_SPC1 _______
89 #define NM_SPC2 _______
90 #define NM_SPC3 _______
91#elif (SPACE_COUNT == 2)
92 #define KC_SPC1 LT(_NAV,KC_SPC)
93 #define KC_SPC2 LT(_NUM,KC_ENT)
94
95 #define NV_SPC1 KC_SPC
96 #define NV_SPC2 KC_ENT
97
98 #define NM_SPC1 KC_0
99 #define NM_SPC2 KC_SPC
100
101 #define KC_SPC3 XXXXXXX
102 #define NV_SPC3 XXXXXXX
103 #define NM_SPC3 XXXXXXX
104#elif (SPACE_COUNT == 3)
105 #ifdef SWAP_HANDS_ENABLE
106 #define KC_SPC1 SH_T(KC_BSPC)
107 #else
108 #define KC_SPC1 KC_BSPC
109 #endif
110 #define KC_SPC2 LT(_NUM,KC_ENT)
111 #define KC_SPC3 LT(_NAV,KC_SPC)
112
113 #define NV_SPC1 KC_SPC
114 #define NV_SPC2 KC_ENT
115 #define NV_SPC3 KC_SPC
116
117 #define NM_SPC1 KC_SPC
118 #define NM_SPC2 XXXXXXX
119 #define NM_SPC3 KC_0
120#else
121 #error "Unsupported space count:" SPACE_COUNT
122#endif 96#endif
123 97
98#define KC_SPC1 LT(_NAV,KC_SPC)
99#define KC_SPC2 LT(_NUM,KC_ENT)
100#define KC_SPC3 SH_T(KC_BSPC)
101
102#define NV_SPC1 KC_SPC
103#define NV_SPC2 KC_ENT
104#define NV_SPC3 KC_SPC
105
106#define NM_SPC1 KC_0
107#define NM_SPC2 XXXXXXX
108#define NM_SPC3 KC_SPC
109
124#ifndef ZEAL_RGB 110#ifndef ZEAL_RGB
125 #define BR_INC KC_NO 111 #define BR_INC KC_NO
126 #define BR_DEC KC_NO 112 #define BR_DEC KC_NO
@@ -195,5 +181,3 @@ enum tap_dancers {
195 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ 181 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
196 RESET , XXXXXXX, XXXXXXX, XXXXXXX, RESET , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX) 182 RESET , XXXXXXX, XXXXXXX, XXXXXXX, RESET , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX)
197#endif 183#endif
198
199#endif