aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Wasson <jwasson+github@gmail.com>2018-05-12 09:54:35 -0700
committerDrashna Jaelre <drashna@live.com>2018-05-12 09:54:35 -0700
commit6dda0d6e34ac47c6dfdee1429937b445bf941425 (patch)
treee74a9e09830312df42d60858ae2673ec638f81c2
parent48a68dcf107314d81fbade38d3969caaa31b5671 (diff)
downloadqmk_firmware-6dda0d6e34ac47c6dfdee1429937b445bf941425.tar.gz
qmk_firmware-6dda0d6e34ac47c6dfdee1429937b445bf941425.zip
More work on Talljoe layout including adding layout support for HHKB and TKL. (#2946)
* Add tap-dancing semicolon. * Infinity60 was running out of USB space. * Rename common layout variable so it doesn't collide with some keyboards. * Godspeed!!! * Patch the number of LEDs for 1up60rgb * Don't light up if rgblight is off. * Add HHKB layout. * Add HHKB to Talljoe's layout. * Bring back bananasplit keymap. * info.json * Userspace config.h doesn't seem to be setting PREVENT_STUCK_MODIFIERS * Remove 1uprgb workaround * Add TKL to talljoe keymap. Also introduces the tkl layout.
-rw-r--r--keyboards/1up60rgb/1up60rgb.h15
-rw-r--r--keyboards/1up60rgb/info.json3
-rw-r--r--keyboards/1up60rgb/rules.mk2
-rw-r--r--keyboards/bananasplit/keymaps/talljoe/config.h23
-rw-r--r--keyboards/bananasplit/keymaps/talljoe/keymap.c1
-rw-r--r--keyboards/frosty_flake/frosty_flake.h2
-rw-r--r--keyboards/frosty_flake/rules.mk4
-rw-r--r--layouts/community/60_ansi/talljoe-ansi/config.h3
-rw-r--r--layouts/community/60_ansi_split_bs_rshift/talljoe/config.h3
-rw-r--r--layouts/community/60_hhkb/talljoe-hhkb/config.h23
-rw-r--r--layouts/community/60_hhkb/talljoe-hhkb/keymap.c1
-rw-r--r--layouts/community/60_hhkb/talljoe-hhkb/rules.mk1
-rw-r--r--layouts/community/ortho_4x12/talljoe/config.h2
-rw-r--r--layouts/community/tkl_ansi/talljoe-tkl/config.h25
-rw-r--r--layouts/community/tkl_ansi/talljoe-tkl/keymap.c89
-rw-r--r--layouts/community/tkl_ansi/talljoe-tkl/rules.mk1
-rw-r--r--layouts/default/60_hhkb/default_60_hhkb/keymap.c65
-rw-r--r--layouts/default/60_hhkb/layout.json5
-rw-r--r--layouts/default/60_hhkb/readme.md3
-rw-r--r--layouts/default/tkl_ansi/default_tkl_ansi/keymap.c11
-rw-r--r--layouts/default/tkl_ansi/layout.json6
-rw-r--r--layouts/default/tkl_ansi/readme.md3
-rw-r--r--users/talljoe/rules.mk6
-rw-r--r--users/talljoe/talljoe.c66
-rw-r--r--users/talljoe/talljoe.h38
-rw-r--r--users/talljoe/tapdance.c34
26 files changed, 407 insertions, 28 deletions
diff --git a/keyboards/1up60rgb/1up60rgb.h b/keyboards/1up60rgb/1up60rgb.h
index 969fd5b4a..6905fd220 100644
--- a/keyboards/1up60rgb/1up60rgb.h
+++ b/keyboards/1up60rgb/1up60rgb.h
@@ -63,4 +63,19 @@
63 K400, K401, K403, K406, K410, K411, K413, K414 \ 63 K400, K401, K403, K406, K410, K411, K413, K414 \
64) 64)
65 65
66/* HHKB Variant */
67#define LAYOUT_60_hhkb( \
68 K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \
69 K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
70 K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, \
71 K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, \
72 K401, K403, K406, K411, K413 \
73) LAYOUT_all( \
74 K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \
75 K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
76 K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K214, \
77 K300, KC_NO,K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, \
78 KC_NO,K401, K403, K406, KC_NO,K411, K413, KC_NO \
79)
80
66#endif 81#endif
diff --git a/keyboards/1up60rgb/info.json b/keyboards/1up60rgb/info.json
index d662dc60d..67f94b7fe 100644
--- a/keyboards/1up60rgb/info.json
+++ b/keyboards/1up60rgb/info.json
@@ -19,6 +19,9 @@
19 19
20 "LAYOUT_60_ansi_split_bs_rshift": { 20 "LAYOUT_60_ansi_split_bs_rshift": {
21 "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":6}, {"label":"Alt", "x":10, "y":4, "w":1.5}, {"label":"Win", "x":11.5, "y":4}, {"label":"Menu", "x":12.5, "y":4}, {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}] 21 "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":6}, {"label":"Alt", "x":10, "y":4, "w":1.5}, {"label":"Win", "x":11.5, "y":4}, {"label":"Menu", "x":12.5, "y":4}, {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}]
22 },
23 "LAYOUT_60_hhkb": {
24 "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"|", "x":13, "y":0}, {"label":"~", "x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"Delete", "x":13.5, "y":1, "w":1.5}, {"label":"Control", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"Fn", "x":14, "y":3}, {"label":"Os", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Os", "x":12.5, "y":4}]
22 } 25 }
23 } 26 }
24} 27}
diff --git a/keyboards/1up60rgb/rules.mk b/keyboards/1up60rgb/rules.mk
index 7363b3c3d..540e4ea96 100644
--- a/keyboards/1up60rgb/rules.mk
+++ b/keyboards/1up60rgb/rules.mk
@@ -55,4 +55,4 @@ BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
55AUDIO_ENABLE ?= no 55AUDIO_ENABLE ?= no
56RGBLIGHT_ENABLE ?= yes 56RGBLIGHT_ENABLE ?= yes
57 57
58LAYOUTS = 60_ansi 60_iso 60_ansi_split_bs_rshift 58LAYOUTS = 60_ansi 60_iso 60_ansi_split_bs_rshift 60_hhkb
diff --git a/keyboards/bananasplit/keymaps/talljoe/config.h b/keyboards/bananasplit/keymaps/talljoe/config.h
new file mode 100644
index 000000000..bb2aadfa6
--- /dev/null
+++ b/keyboards/bananasplit/keymaps/talljoe/config.h
@@ -0,0 +1,23 @@
1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H
3
4#include QMK_KEYBOARD_CONFIG_H
5
6#define PREVENT_STUCK_MODIFIERS
7#define SPACE_COUNT 3
8
9#define TEMPLATE( \
10 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
11 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
12 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
13 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
14 K40, K41, K42, K44, K45, K46, K48, K49, K4B, K4C \
15) { \
16 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
17 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
18 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
19 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
20 { K40, K41, K42, KC_NO, K44, K45, K46, KC_NO, K48, K49, KC_NO, K4B, K4C, KC_NO }\
21}
22
23#endif
diff --git a/keyboards/bananasplit/keymaps/talljoe/keymap.c b/keyboards/bananasplit/keymaps/talljoe/keymap.c
new file mode 100644
index 000000000..7812add81
--- /dev/null
+++ b/keyboards/bananasplit/keymaps/talljoe/keymap.c
@@ -0,0 +1 @@
// This space intentionally left blank
diff --git a/keyboards/frosty_flake/frosty_flake.h b/keyboards/frosty_flake/frosty_flake.h
index 32307ece5..ac293df0f 100644
--- a/keyboards/frosty_flake/frosty_flake.h
+++ b/keyboards/frosty_flake/frosty_flake.h
@@ -87,4 +87,6 @@
87/* 7 */ { KA7, KB7, KC7, KD7, KE7, KF7, KG7, KH7, KI7, KJ7, KC_NO, KC_NO, KC_NO, KC_NO, KO7, KC_NO, KQ7, KR7 } \ 87/* 7 */ { KA7, KB7, KC7, KD7, KE7, KF7, KG7, KH7, KI7, KJ7, KC_NO, KC_NO, KC_NO, KC_NO, KO7, KC_NO, KQ7, KR7 } \
88} 88}
89 89
90#define LAYOUT_tkl_ansi KEYMAP_TKL
91
90#endif 92#endif
diff --git a/keyboards/frosty_flake/rules.mk b/keyboards/frosty_flake/rules.mk
index f9c43d3ed..94619e03d 100644
--- a/keyboards/frosty_flake/rules.mk
+++ b/keyboards/frosty_flake/rules.mk
@@ -68,4 +68,6 @@ AUDIO_ENABLE = no # Audio output on port C6
68FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches 68FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
69 69
70CUSTOM_MATRIX = yes 70CUSTOM_MATRIX = yes
71SRC += matrix.c \ No newline at end of file 71SRC += matrix.c
72
73LAYOUTS = tkl_ansi
diff --git a/layouts/community/60_ansi/talljoe-ansi/config.h b/layouts/community/60_ansi/talljoe-ansi/config.h
index 9e27b1b0a..1990b0ee3 100644
--- a/layouts/community/60_ansi/talljoe-ansi/config.h
+++ b/layouts/community/60_ansi/talljoe-ansi/config.h
@@ -3,9 +3,10 @@
3 3
4#include QMK_KEYBOARD_CONFIG_H 4#include QMK_KEYBOARD_CONFIG_H
5 5
6#define PREVENT_STUCK_MODIFIERS
6#define ENABLE_GAME_LAYER 7#define ENABLE_GAME_LAYER
7 8
8#define LAYOUT( \ 9#define TEMPLATE( \
9 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \ 10 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
10 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ 11 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
11 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ 12 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
diff --git a/layouts/community/60_ansi_split_bs_rshift/talljoe/config.h b/layouts/community/60_ansi_split_bs_rshift/talljoe/config.h
index 0eacbde33..81ab5cf89 100644
--- a/layouts/community/60_ansi_split_bs_rshift/talljoe/config.h
+++ b/layouts/community/60_ansi_split_bs_rshift/talljoe/config.h
@@ -3,9 +3,10 @@
3 3
4#include QMK_KEYBOARD_CONFIG_H 4#include QMK_KEYBOARD_CONFIG_H
5 5
6#define PREVENT_STUCK_MODIFIERS
6#define ENABLE_GAME_LAYER 7#define ENABLE_GAME_LAYER
7 8
8#define LAYOUT( \ 9#define TEMPLATE( \
9 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \ 10 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
10 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ 11 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
11 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ 12 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
diff --git a/layouts/community/60_hhkb/talljoe-hhkb/config.h b/layouts/community/60_hhkb/talljoe-hhkb/config.h
new file mode 100644
index 000000000..938ea6cd6
--- /dev/null
+++ b/layouts/community/60_hhkb/talljoe-hhkb/config.h
@@ -0,0 +1,23 @@
1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H
3
4#include QMK_KEYBOARD_CONFIG_H
5
6#define PREVENT_STUCK_MODIFIERS
7#define ENABLE_GAME_LAYER
8
9#define TEMPLATE( \
10 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
11 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
12 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
13 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
14 K40, K41, K42, K44, K45, K46, K48, K49, K4B, K4C \
15) LAYOUT_60_hhkb( \
16 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
17 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
18 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
19 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
20 K41, K42, K45, K48, K4C \
21)
22
23#endif //CONFIG_USER_H
diff --git a/layouts/community/60_hhkb/talljoe-hhkb/keymap.c b/layouts/community/60_hhkb/talljoe-hhkb/keymap.c
new file mode 100644
index 000000000..7812add81
--- /dev/null
+++ b/layouts/community/60_hhkb/talljoe-hhkb/keymap.c
@@ -0,0 +1 @@
// This space intentionally left blank
diff --git a/layouts/community/60_hhkb/talljoe-hhkb/rules.mk b/layouts/community/60_hhkb/talljoe-hhkb/rules.mk
new file mode 100644
index 000000000..92007fe8a
--- /dev/null
+++ b/layouts/community/60_hhkb/talljoe-hhkb/rules.mk
@@ -0,0 +1 @@
USER_NAME := talljoe
diff --git a/layouts/community/ortho_4x12/talljoe/config.h b/layouts/community/ortho_4x12/talljoe/config.h
index c2a9567bb..61229e7f6 100644
--- a/layouts/community/ortho_4x12/talljoe/config.h
+++ b/layouts/community/ortho_4x12/talljoe/config.h
@@ -4,7 +4,7 @@
4#include QMK_KEYBOARD_CONFIG_H 4#include QMK_KEYBOARD_CONFIG_H
5#define SPACE_COUNT 3 5#define SPACE_COUNT 3
6 6
7#define LAYOUT( \ 7#define TEMPLATE( \
8 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \ 8 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
9 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ 9 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
10 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ 10 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
diff --git a/layouts/community/tkl_ansi/talljoe-tkl/config.h b/layouts/community/tkl_ansi/talljoe-tkl/config.h
new file mode 100644
index 000000000..90db04e7b
--- /dev/null
+++ b/layouts/community/tkl_ansi/talljoe-tkl/config.h
@@ -0,0 +1,25 @@
1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H
3
4#include QMK_KEYBOARD_CONFIG_H
5
6#define PREVENT_STUCK_MODIFIERS
7#define ENABLE_GAME_LAYER
8
9#define TEMPLATE_TKL(\
10 KJ6, KI4, KH4, KH2, KH6, KA7, KE6, KD2, KD4, KB4, KB7, KB6, KB0, KC7, KC5, KA5, \
11 KJ4, KJ7, KI7, KH7, KG7, KG4, KF4, KF7, KE7, KD7, KR7, KR4, KE4, KB2, KL4, KO4, KQ4, \
12 KJ2, KJ5, KI5, KH5, KG5, KG2, KF2, KF5, KE5, KD5, KR5, KR2, KE2, KB3, KK4, KO7, KQ7, \
13 KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6, KB1, \
14 KN2, KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0, KN3, KO6, \
15 KA4, KP2, KC6, KX1, KK6, KX2, KC0, KM3, KD0, KA1, KO0, KK0, KL0 \
16) LAYOUT_tkl_ansi( \
17 KJ6, KI4, KH4, KH2, KH6, KA7, KE6, KD2, KD4, KB4, KB7, KB6, KB0, KC7, KC5, KA5, \
18 KJ4, KJ7, KI7, KH7, KG7, KG4, KF4, KF7, KE7, KD7, KR7, KR4, KE4, KB2, KL4, KO4, KQ4, \
19 KJ2, KJ5, KI5, KH5, KG5, KG2, KF2, KF5, KE5, KD5, KR5, KR2, KE2, KB3, KK4, KO7, KQ7, \
20 KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6, KB1, \
21 KN2,KC_NO,KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0, KN3, KO6, \
22 KA4, KP2, KC6, KK6, KC0, KM3, KD0, KA1, KO0, KK0, KL0 \
23)
24
25#endif //CONFIG_USER_H
diff --git a/layouts/community/tkl_ansi/talljoe-tkl/keymap.c b/layouts/community/tkl_ansi/talljoe-tkl/keymap.c
new file mode 100644
index 000000000..b5dc54492
--- /dev/null
+++ b/layouts/community/tkl_ansi/talljoe-tkl/keymap.c
@@ -0,0 +1,89 @@
1#ifdef KEYBOARD_zeal60
2#include "config.h"
3#include "zeal60.h"
4#include "zeal_backlight.h"
5#include "action_layer.h"
6#include "solarized.h"
7#include "talljoe.h"
8
9// from zeal_backlight.c
10// we want to be able to set indicators for the spacebar stabs
11// but they are not represented by a row/index.
12extern zeal_backlight_config g_config;
13void map_row_column_to_led( uint8_t row, uint8_t column, uint8_t *led );
14
15void set_backlight_defaults(void) {
16 uint8_t space;
17 uint8_t caps_lock;
18 map_row_column_to_led(3, 12, &caps_lock);
19 map_row_column_to_led(4, 7, &space);
20 zeal_backlight_config default_values = {
21 .use_split_backspace = USE_SPLIT_BACKSPACE,
22 .use_split_left_shift = USE_SPLIT_LEFT_SHIFT,
23 .use_split_right_shift = USE_SPLIT_RIGHT_SHIFT,
24 .use_7u_spacebar = USE_7U_SPACEBAR,
25 .use_iso_enter = USE_ISO_ENTER,
26 .disable_when_usb_suspended = 1,
27 .disable_after_timeout = 0,
28 .brightness = 255,
29 .effect = 10,
30 .color_1 = solarized.base2,
31 .color_2 = solarized.base02,
32 .caps_lock_indicator = { .index = caps_lock, .color = solarized.red },
33 .layer_1_indicator = { .index = space, .color = solarized.blue },
34 .layer_2_indicator = { .index = space, .color = solarized.yellow },
35 .layer_3_indicator = { .index = 254, .color = solarized.red },
36 .alphas_mods = {
37 BACKLIGHT_ALPHAS_MODS_ROW_0,
38 BACKLIGHT_ALPHAS_MODS_ROW_1,
39 BACKLIGHT_ALPHAS_MODS_ROW_2,
40 BACKLIGHT_ALPHAS_MODS_ROW_3,
41 BACKLIGHT_ALPHAS_MODS_ROW_4 }
42 };
43 memcpy(&g_config, &default_values, sizeof(zeal_backlight_config));
44 backlight_config_save();
45
46 solarized_t* S = &solarized;
47 HSV alphas = S->base2;
48 HSV custom_color_map[MATRIX_ROWS][MATRIX_COLS] = CM(
49 S->red, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, S->red,
50 S->orange, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, S->orange,
51 S->green, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, S->green,
52 S->blue, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, S->blue, S->blue,
53 S->violet, S->magenta, S->yellow, alphas, S->yellow, S->magenta, S->violet, S->green
54 );
55 for (uint8_t row = 0; row < MATRIX_ROWS; ++row) {
56 for (uint8_t col = 0; col < MATRIX_COLS; ++col) {
57 backlight_set_key_color(row, col, custom_color_map[row][col]);
58 }
59 }
60}
61
62bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
63 static uint8_t last_effect;
64 switch (keycode) {
65 case DFAULTS:
66 if (IS_PRESSED(record->event)) set_backlight_defaults();
67 return false;
68 case BL_TOGG:
69 if (IS_PRESSED(record->event)) {
70 if (g_config.effect) {
71 last_effect = g_config.effect;
72 g_config.effect = 0;
73 } else {
74 g_config.effect = last_effect;
75 }
76 }
77 return false;
78 case EFFECT...EFFECT_END:
79 if (IS_PRESSED(record->event)) {
80 uint8_t effect = keycode - EFFECT;
81 g_config.effect = effect;
82 backlight_config_save();
83 }
84 return false;
85 }
86
87 return true;
88}
89#endif
diff --git a/layouts/community/tkl_ansi/talljoe-tkl/rules.mk b/layouts/community/tkl_ansi/talljoe-tkl/rules.mk
new file mode 100644
index 000000000..92007fe8a
--- /dev/null
+++ b/layouts/community/tkl_ansi/talljoe-tkl/rules.mk
@@ -0,0 +1 @@
USER_NAME := talljoe
diff --git a/layouts/default/60_hhkb/default_60_hhkb/keymap.c b/layouts/default/60_hhkb/default_60_hhkb/keymap.c
new file mode 100644
index 000000000..60d628f12
--- /dev/null
+++ b/layouts/default/60_hhkb/default_60_hhkb/keymap.c
@@ -0,0 +1,65 @@
1#include QMK_KEYBOARD_H
2
3#define BASE 0
4#define HHKB 1
5
6const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
7
8 /* BASE Level: Default Layer
9 |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---|
10 | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
11 |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---|
12 | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | |
13 |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---|
14 | Cont | A | S | D | F | G | H | J | K | L | ; | ' | Ent | | |
15 |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---|
16 | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Fn0 | | |
17 |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---|
18
19 |------+------+-----------------------+------+------|
20 | LAlt | LGUI | ******* Space ******* | RGUI | RAlt |
21 |------+------+-----------------------+------+------|
22 */
23
24 [BASE] = LAYOUT_60_hhkb( // default layer
25 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \
26 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \
27 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
28 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB), \
29 KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RALT),
30
31
32
33 /* Layer HHKB: HHKB mode (HHKB Fn)
34 |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
35 | Pwr | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del |
36 |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
37 | Caps | | | | | | | | Psc | Slk | Pus | Up | | Backs | |
38 |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
39 | | VoD | VoU | Mut | | | * | / | Hom | PgU | Lef | Rig | Enter | | |
40 |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
41 | | | | | | | + | - | End | PgD | Dow | | | | |
42 |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
43
44 |------+------+----------------------+------+------+
45 | **** | **** | ******************** | **** | **** |
46 |------+------+----------------------+------+------+
47
48 */
49
50 [HHKB] = LAYOUT_60_hhkb(
51 KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, \
52 KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_BSPC, \
53 KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT, \
54 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, \
55 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)};
56
57// Runs just one time when the keyboard initializes.
58void matrix_init_user(void) {
59
60};
61
62// Runs constantly in the background, in a loop.
63void matrix_scan_user(void) {
64
65};
diff --git a/layouts/default/60_hhkb/layout.json b/layouts/default/60_hhkb/layout.json
new file mode 100644
index 000000000..9dce76a2e
--- /dev/null
+++ b/layouts/default/60_hhkb/layout.json
@@ -0,0 +1,5 @@
1["Esc","!\n1","@\n2","#\n3","$\n4","%\n5","^\n6","&\n7","*\n8","(\n9",")\n0","_\n-","+\n=","|\n\\","~\n`"],
2[{w:1.5},"Tab","Q","W","E","R","T","Y","U","I","O","P","{\n[","}\n]",{w:1.5},"Delete"],
3[{w:1.75},"Control","A","S","D","F","G","H","J","K","L",":\n;","\"\n'",{w:2.25},"Enter"],
4[{w:2.25},"Shift","Z","X","C","V","B","N","M","<\n,",">\n.","?\n/",{w:1.75},"Shift","Fn"],
5[{x:1.5},"Os",{w:1.5},"Alt",{a:7,w:7},"",{a:4,w:1.5},"Alt","Os"]
diff --git a/layouts/default/60_hhkb/readme.md b/layouts/default/60_hhkb/readme.md
new file mode 100644
index 000000000..f02d13e4d
--- /dev/null
+++ b/layouts/default/60_hhkb/readme.md
@@ -0,0 +1,3 @@
1# 60_hhkb
2
3 LAYOUT_60_hhkb \ No newline at end of file
diff --git a/layouts/default/tkl_ansi/default_tkl_ansi/keymap.c b/layouts/default/tkl_ansi/default_tkl_ansi/keymap.c
new file mode 100644
index 000000000..e57f776bb
--- /dev/null
+++ b/layouts/default/tkl_ansi/default_tkl_ansi/keymap.c
@@ -0,0 +1,11 @@
1#include QMK_KEYBOARD_H
2
3const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
4[0] = LAYOUT_tkl_ansi(\
5 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,KC_SLCK,KC_PAUS, \
6 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,KC_MINS, KC_EQL,KC_BSPC, KC_INS ,KC_HOME,KC_PGUP, \
7 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,KC_LBRC,KC_RBRC,KC_BSLS, KC_DEL ,KC_END ,KC_PGDN, \
8 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L,KC_SCLN,KC_QUOT, KC_ENT, \
9 KC_LSFT,KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M,KC_COMM, KC_DOT,KC_SLSH, KC_RSFT, KC_UP, \
10 KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI, KC_APP,KC_RCTL, KC_LEFT,KC_DOWN,KC_RGHT \
11};
diff --git a/layouts/default/tkl_ansi/layout.json b/layouts/default/tkl_ansi/layout.json
new file mode 100644
index 000000000..54492b98f
--- /dev/null
+++ b/layouts/default/tkl_ansi/layout.json
@@ -0,0 +1,6 @@
1["Esc",{x:1},"F1","F2","F3","F4",{x:0.5},"F5","F6","F7","F8",{x:0.5},"F9","F10","F11","F12",{x:0.25},"PrtSc","Scroll Lock","Pause\nBreak"],
2[{y:0.5},"~\n`","!\n1","@\n2","#\n3","$\n4","%\n5","^\n6","&\n7","*\n8","(\n9",")\n0","_\n-","+\n=",{w:2},"Backspace",{x:0.25},"Insert","Home","PgUp"],
3[{w:1.5},"Tab","Q","W","E","R","T","Y","U","I","O","P","{\n[","}\n]",{w:1.5},"|\n\\",{x:0.25},"Delete","End","PgDn"],
4[{w:1.75},"Caps Lock","A","S","D","F","G","H","J","K","L",":\n;","\"\n'",{w:2.25},"Enter"],
5[{w:2.25},"Shift","Z","X","C","V","B","N","M","<\n,",">\n.","?\n/",{w:2.75},"Shift",{x:1.25},"↑"],
6[{w:1.25},"Ctrl",{w:1.25},"Win",{w:1.25},"Alt",{a:7,w:6.25},"",{a:4,w:1.25},"Alt",{w:1.25},"Win",{w:1.25},"Menu",{w:1.25},"Ctrl",{x:0.25},"←","↓","→"]
diff --git a/layouts/default/tkl_ansi/readme.md b/layouts/default/tkl_ansi/readme.md
new file mode 100644
index 000000000..94d5df122
--- /dev/null
+++ b/layouts/default/tkl_ansi/readme.md
@@ -0,0 +1,3 @@
1# tkl_ansi
2
3 LAYOUT_tkl_ansi \ No newline at end of file
diff --git a/users/talljoe/rules.mk b/users/talljoe/rules.mk
index fa2314960..0f1f6f26a 100644
--- a/users/talljoe/rules.mk
+++ b/users/talljoe/rules.mk
@@ -1,3 +1,7 @@
1SRC += talljoe.c 1SRC += talljoe.c tapdance.c
2 2
3EXTRAFLAGS+=-flto 3EXTRAFLAGS+=-flto
4
5TAP_DANCE_ENABLE=yes
6CONSOLE_ENABLE=no
7COMMAND_ENABLE=no
diff --git a/users/talljoe/talljoe.c b/users/talljoe/talljoe.c
index e49a3060d..e9c69b016 100644
--- a/users/talljoe/talljoe.c
+++ b/users/talljoe/talljoe.c
@@ -3,66 +3,67 @@
3#include "talljoe.h" 3#include "talljoe.h"
4 4
5const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 5const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
6 [_BASE] = LAYOUT( 6 [_BASE] = TEMPLATE_TKL(
7 KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSLS, KC_ESC, 7 KC_ESC, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PSCR, KC_SLCK, MO_ADJ ,
8 KC_TAB , KC_Q, KC_W, KC_E, KC_R, KC_T , KC_Y, KC_U, KC_I, KC_O, KC_P , KC_LBRC, KC_RBRC, KC_BSPC, 8 KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSLS, KC_INS , KC_HOME, KC_PGUP,
9 US_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G , KC_H, KC_J, KC_K, KC_L, KC_SCLN, US_QUOT, US_ENT , 9 KC_TAB , KC_Q, KC_W, KC_E, KC_R, KC_T , KC_Y, KC_U, KC_I, KC_O, KC_P , KC_LBRC, KC_RBRC, KC_BSPC, KC_DEL , KC_END , KC_PGDN,
10 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B , KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO_ADJ , 10 US_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G , KC_H, KC_J, KC_K, KC_L, US_SCLN, US_QUOT, US_ENT ,
11 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC2, KC_SPC1, KC_SPC3, KC_RALT, KC_APP , KC_RCTL, KC_PTT ), 11 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B , KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP ,
12 [_WORKMAN] = LAYOUT( 12 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC2, KC_SPC1, KC_SPC3, KC_RALT, KC_RGUI, KC_RCTL, KC_PTT , KC_LEFT, KC_DOWN, KC_RGHT),
13 [_WORKMAN] = TEMPLATE(
13 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 14 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
14 _______, KC_Q , KC_D , KC_R , KC_W , KC_B , KC_J , KC_F , KC_U , KC_P , KC_SCLN, _______, _______, _______, 15 _______, KC_Q , KC_D , KC_R , KC_W , KC_B , KC_J , KC_F , KC_U , KC_P , US_SCLN, _______, _______, _______,
15 _______, KC_A , KC_S , KC_H , KC_T , KC_G , KC_Y , KC_N , KC_E , KC_O , KC_I , _______, _______, 16 _______, KC_A , KC_S , KC_H , KC_T , KC_G , KC_Y , KC_N , KC_E , KC_O , KC_I , _______, _______,
16 _______, KC_Z , KC_X , KC_M , KC_C , KC_V , KC_K , KC_L , KC_COMM, KC_DOT , KC_SLSH, _______, _______, 17 _______, KC_Z , KC_X , KC_M , KC_C , KC_V , KC_K , KC_L , KC_COMM, KC_DOT , KC_SLSH, _______, _______,
17 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), 18 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
18 [_NORMAN] = LAYOUT( 19 [_NORMAN] = TEMPLATE(
19 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 20 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
20 _______, KC_Q , KC_W , KC_D , KC_F , KC_K , KC_J , KC_U , KC_R , KC_L , KC_SCLN, _______, _______, _______, 21 _______, KC_Q , KC_W , KC_D , KC_F , KC_K , KC_J , KC_U , KC_R , KC_L , US_SCLN, _______, _______, _______,
21 _______, KC_A , KC_S , KC_E , KC_T , KC_G , KC_Y , KC_N , KC_I , KC_O , KC_H , _______, _______, 22 _______, KC_A , KC_S , KC_E , KC_T , KC_G , KC_Y , KC_N , KC_I , KC_O , KC_H , _______, _______,
22 _______, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_P , KC_M , KC_COMM, KC_DOT , KC_SLSH, _______, _______, 23 _______, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_P , KC_M , KC_COMM, KC_DOT , KC_SLSH, _______, _______,
23 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), 24 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
24 [_DVORAK] = LAYOUT( 25 [_DVORAK] = TEMPLATE(
25 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, _______, 26 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, _______,
26 _______, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y , KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL , _______, 27 _______, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y , KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL , _______,
27 _______, KC_A, KC_O, KC_E, KC_U, KC_I , KC_D, KC_H, KC_T, KC_N, KC_S, US_MINS, _______, 28 _______, KC_A, KC_O, KC_E, KC_U, KC_I , KC_D, KC_H, KC_T, KC_N, KC_S, US_MINS, _______,
28 _______, KC_SCLN, KC_Q, KC_J, KC_K, KC_X , KC_B, KC_M, KC_W, KC_V, KC_Z, _______, _______, 29 _______, US_SCLN, KC_Q, KC_J, KC_K, KC_X , KC_B, KC_M, KC_W, KC_V, KC_Z, _______, _______,
29 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), 30 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
30 [_COLMAK] = LAYOUT( 31 [_COLMAK] = TEMPLATE(
31 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 32 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
32 _______, KC_Q, KC_W, KC_F, KC_P, KC_G , KC_J, KC_L, KC_U, KC_Y, KC_SCLN, _______, _______, _______, 33 _______, KC_Q, KC_W, KC_F, KC_P, KC_G , KC_J, KC_L, KC_U, KC_Y, US_SCLN, _______, _______, _______,
33 _______, KC_A, KC_R, KC_S, KC_T, KC_D , KC_H, KC_N, KC_E, KC_I, KC_O , _______, _______, 34 _______, KC_A, KC_R, KC_S, KC_T, KC_D , KC_H, KC_N, KC_E, KC_I, KC_O , _______, _______,
34 _______, KC_Z, KC_X, KC_C, KC_V, KC_B , KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______, _______, 35 _______, KC_Z, KC_X, KC_C, KC_V, KC_B , KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______, _______,
35 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), 36 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
36 37
37#ifdef ENABLE_GAME_LAYER 38#ifdef ENABLE_GAME_LAYER
38 [_GAME] = LAYOUT( 39 [_GAME] = TEMPLATE(
39 KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSLS, KC_GRV, 40 KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSLS, KC_GRV,
40 KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSPC, 41 KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSPC,
41 MO_NAV , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , 42 MO_NAV , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT ,
42 KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, MO_ADJ , 43 KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, MO_ADJ ,
43 KC_LCTL, KC_PTT , KC_PGDN, KC_SPC , KC_SPC , KC_SPC , KC_RALT, KC_APP , KC_RCTL, KC_PTT ), 44 KC_LCTL, KC_PTT , KC_PGDN, KC_SPC , KC_SPC , KC_SPC , KC_RALT, KC_APP , KC_RCTL, KC_PTT ),
44#endif 45#endif
45 [_NAV] = LAYOUT( 46 [_NAV] = TEMPLATE(
46 KC_GRV , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 47 KC_GRV , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
47 KC_TAB , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_VOLU, KC_INS , KC_PGUP, KC_UP , KC_PGDN, KC_BTN1, KC_BTN2, KC_BTN3, KC_DEL , 48 KC_TAB , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_VOLU, KC_INS , KC_PGUP, KC_UP , KC_PGDN, KC_BTN1, KC_BTN2, KC_BTN3, KC_DEL ,
48 US_CAPS, KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_MUTE, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END , KC_RCTL, TG_ADJ , 49 US_CAPS, KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_MUTE, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END , KC_RCTL, TG_ADJ ,
49 KC_LSFT, KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_VOLD, KC_END , KC_PGDN, KC_WBAK, KC_WFWD, KC_WREF, KC_RSFT, XXXXXXX, 50 KC_LSFT, KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_VOLD, KC_END , KC_PGDN, KC_WBAK, KC_WFWD, KC_WREF, KC_RSFT, KC_APP ,
50 KC_LCTL, KC_LGUI, KC_LALT, NV_SPC2, NV_SPC1, NV_SPC3, KC_RALT, KC_RGUI, KC_RCTL, KC_PTT ), 51 KC_LCTL, KC_LGUI, KC_LALT, NV_SPC2, NV_SPC1, NV_SPC3, KC_RALT, KC_RGUI, KC_RCTL, KC_PTT ),
51 [_NUM] = LAYOUT( 52 [_NUM] = TEMPLATE(
52 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 53 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
53 KC_GRV , KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, XXXXXXX, KC_DEL , 54 KC_GRV , KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, XXXXXXX, KC_DEL ,
54 US_CAPS, KC_LCBR, KC_RCBR, KC_LPRN, KC_RPRN, KC_LBRC, KC_RBRC, KC_4, KC_5, KC_6, KC_PPLS, KC_PENT, XXXXXXX, 55 US_CAPS, KC_LCBR, KC_RCBR, KC_LPRN, KC_RPRN, KC_LBRC, KC_RBRC, KC_4, KC_5, KC_6, KC_PPLS, KC_PENT, XXXXXXX,
55 KC_LSFT, KC_EQL, KC_PLUS, KC_BSLS, KC_PIPE, XXXXXXX, XXXXXXX, KC_1, KC_2, KC_3, KC_PAST, KC_PSLS, XXXXXXX, 56 KC_LSFT, KC_EQL, KC_PLUS, KC_BSLS, KC_PIPE, KC_SCLN, XXXXXXX, KC_1, KC_2, KC_3, KC_PAST, KC_PSLS, XXXXXXX,
56 KC_LCTL, KC_LGUI, KC_LALT, NM_SPC2, NM_SPC1, NM_SPC3, KC_PDOT, KC_PCMM, KC_RCTL, KC_PTT ), 57 KC_LCTL, KC_LGUI, KC_LALT, NM_SPC2, NM_SPC1, NM_SPC3, KC_PDOT, KC_PCMM, KC_RCTL, KC_PTT ),
57 // Adjust layer is on the split-shift key; or NAV+Enter (for non-split keyboards) 58 // Adjust layer is on the split-shift key; or NAV+Enter (for non-split keyboards)
58 [_ADJUST] = LAYOUT( 59 [_ADJUST] = TEMPLATE(
59 MO_RST , FX(1) , FX(2) , FX(3) , FX(4) , FX(5) , FX(6) , FX(7) , FX(8) , FX(9) , FX(10) , BR_DEC , BR_INC , XXXXXXX, MO_RST , 60 MO_RST , FX(1) , FX(2) , FX(3) , FX(4) , FX(5) , FX(6) , FX(7) , FX(8) , FX(9) , FX(10) , BR_DEC , BR_INC , XXXXXXX, MO_RST ,
60 XXXXXXX, H1_INC , S1_INC , H2_INC , S2_INC , EF_INC , RGB_HUI, RGB_SAI, RGB_MOD, RGB_M_P, DFAULTS, RGB_VAD, RGB_VAI, KC_DEL , 61 XXXXXXX, H1_INC , S1_INC , H2_INC , S2_INC , EF_INC , RGB_HUI, RGB_SAI, RGB_MOD, RGB_M_P, DFAULTS, RGB_VAD, RGB_VAI, KC_DEL ,
61 XXXXXXX, H1_DEC , S1_DEC , H2_DEC , S2_DEC , EF_DEC , RGB_HUD, RGB_SAD, RGB_RMOD,RGB_M_K, RGB_M_B, RGB_M_G, TG_ADJ , 62 XXXXXXX, H1_DEC , S1_DEC , H2_DEC , S2_DEC , EF_DEC , RGB_HUD, RGB_SAD, RGB_RMOD,RGB_M_K, RGB_M_B, RGB_M_G, TG_ADJ ,
62 TG_NKRO, LY_QWER, LY_WORK, LY_NRMN, LY_DVRK, LY_CLMK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MAKE, KC_CAPS, XXXXXXX, 63 TG_NKRO, LY_QWER, LY_WORK, LY_NRMN, LY_DVRK, LY_CLMK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MAKE, KC_CAPS, XXXXXXX,
63 MO_RST , AG_NORM, AG_SWAP, XXXXXXX, BL_TOGG, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, TG_GAME), 64 MO_RST , AG_NORM, AG_SWAP, XXXXXXX, BL_STEP, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, TG_GAME),
64 // To Reset hit FN + ` + Esc 65 // To Reset hit FN + ` + Esc
65 [_RESET] = LAYOUT( 66 [_RESET] = TEMPLATE(
66 RESET , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET , 67 RESET , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET ,
67 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 68 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
68 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 69 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
@@ -98,6 +99,27 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
98} 99}
99 100
100bool process_record_user(uint16_t keycode, keyrecord_t *record) { 101bool process_record_user(uint16_t keycode, keyrecord_t *record) {
102
103#ifdef RGBLIGHT_ENABLE
104 static uint32_t savedRgbMode;
105 static uint16_t savedHue;
106 static uint8_t savedSat;
107 static uint8_t savedVal;
108
109 if (keycode == KC_ESC) {
110 if (record->event.pressed) {
111 savedRgbMode = rgblight_get_mode();
112 savedHue = rgblight_get_hue();
113 savedSat = rgblight_get_sat();
114 savedVal = rgblight_get_val();
115 rgblight_mode(1);
116 rgblight_setrgb(255, 0, 0);
117 } else {
118 rgblight_mode(savedRgbMode);
119 rgblight_sethsv(savedHue, savedSat, savedVal);
120 }
121 }
122#endif
101// If console is enabled, it will print the matrix position and status of each key pressed 123// If console is enabled, it will print the matrix position and status of each key pressed
102#ifdef CONSOLE_ENABLE 124#ifdef CONSOLE_ENABLE
103 xprintf("KL: row: %u, column: %u, pressed: %u\n", record->event.key.row, record->event.key.col, record->event.pressed); 125 xprintf("KL: row: %u, column: %u, pressed: %u\n", record->event.key.row, record->event.key.col, record->event.pressed);
diff --git a/users/talljoe/talljoe.h b/users/talljoe/talljoe.h
index 17e54af69..7c34cd41f 100644
--- a/users/talljoe/talljoe.h
+++ b/users/talljoe/talljoe.h
@@ -28,6 +28,10 @@ enum layers {
28 _RESET = RESET_LAYER, 28 _RESET = RESET_LAYER,
29}; 29};
30 30
31enum tap_dancers {
32 TD_SEMICOLON
33};
34
31#define _______ KC_TRNS 35#define _______ KC_TRNS
32#define XXXXXXX KC_NO 36#define XXXXXXX KC_NO
33 37
@@ -53,6 +57,7 @@ enum layers {
53#define US_CAPS CTL_T(KC_ESC) 57#define US_CAPS CTL_T(KC_ESC)
54#define US_QUOT RCTL_T(KC_QUOT) 58#define US_QUOT RCTL_T(KC_QUOT)
55#define US_MINS RCTL_T(KC_QUOT) 59#define US_MINS RCTL_T(KC_QUOT)
60#define US_SCLN TD(TD_SEMICOLON)
56#define US_ENT LT(_NUM, KC_ENT) 61#define US_ENT LT(_NUM, KC_ENT)
57 62
58#ifndef SPACE_COUNT 63#ifndef SPACE_COUNT
@@ -105,4 +110,37 @@ enum layers {
105 #define FN_MO2 KC_NO 110 #define FN_MO2 KC_NO
106#endif 111#endif
107 112
113#ifdef TEMPLATE_TKL
114 #define _X_ KC_NO
115 #define TEMPLATE( \
116 KJ4, KJ7, KI7, KH7, KG7, KG4, KF4, KF7, KE7, KD7, KR7, KR4, KE4, KB2, KJ6, \
117 KJ2, KJ5, KI5, KH5, KG5, KG2, KF2, KF5, KE5, KD5, KR5, KR2, KE2, KB3, \
118 KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6, KB1, \
119 KN2, KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0, KN3, KA5, \
120 KA4, KP2, KC6, KX1, KK6, KX2, KC0, KM3, KD0, KA1 \
121 ) TEMPLATE_TKL ( \
122 KJ6, _X_, _X_, _X_, _X_, _X_, _X_, _X_, _X_, _X_, _X_, _X_, _X_, _X_, _X_, KA5, \
123 KJ4, KJ7, KI7, KH7, KG7, KG4, KF4, KF7, KE7, KD7, KR7, KR4, KE4, KB2, _X_, _X_, _X_, \
124 KJ2, KJ5, KI5, KH5, KG5, KG2, KF2, KF5, KE5, KD5, KR5, KR2, KE2, KB3, _X_, _X_, _X_, \
125 KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6, KB1, \
126 KN2, KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0, KN3, _X_, \
127 KA4, KP2, KC6, KX1, KK6, KX2, KC0, KM3, KD0, KA1, _X_, _X_, _X_ \
128 )
129#else
130 #define TEMPLATE_TKL( \
131 KJ6, KI4, KH4, KH2, KH6, KA7, KE6, KD2, KD4, KB4, KB7, KB6, KB0, KC7, KC5, KA5, \
132 KJ4, KJ7, KI7, KH7, KG7, KG4, KF4, KF7, KE7, KD7, KR7, KR4, KE4, KB2, KL4, KO4, KQ4, \
133 KJ2, KJ5, KI5, KH5, KG5, KG2, KF2, KF5, KE5, KD5, KR5, KR2, KE2, KB3, KK4, KO7, KQ7, \
134 KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6, KB1, \
135 KN2, KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0, KN3, KO6, \
136 KA4, KP2, KC6, KX1, KK6, KX2, KC0, KM3, KD0, KA1, KO0, KK0, KL0 \
137 ) TEMPLATE( \
138 KJ4, KJ7, KI7, KH7, KG7, KG4, KF4, KF7, KE7, KD7, KR7, KR4, KE4, KB2, KJ6, \
139 KJ2, KJ5, KI5, KH5, KG5, KG2, KF2, KF5, KE5, KD5, KR5, KR2, KE2, KB3, \
140 KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6, KB1, \
141 KN2, KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0, KN3, KA5, \
142 KA4, KP2, KC6, KX1, KK6, KX2, KC0, KM3, KD0, KA1 \
143 )
144#endif
145
108#endif 146#endif
diff --git a/users/talljoe/tapdance.c b/users/talljoe/tapdance.c
new file mode 100644
index 000000000..3198fc67f
--- /dev/null
+++ b/users/talljoe/tapdance.c
@@ -0,0 +1,34 @@
1//Tap Dance
2#include "talljoe.h"
3
4// Send semin-colon + enter on two taps
5void tap_dance_semicolon(qk_tap_dance_state_t *state, void *user_data) {
6 switch(state->count) {
7 case 1:
8 register_code(KC_SCLN);
9 unregister_code(KC_SCLN);
10 break;
11 case 2:
12 register_code(KC_SCLN);
13 unregister_code(KC_SCLN);
14
15 uint8_t mods = get_mods();
16 if (mods) {
17 clear_mods();
18 }
19
20 register_code(KC_ENT);
21 unregister_code(KC_ENT);
22
23 if (mods) {
24 set_mods(mods);
25 }
26
27 reset_tap_dance(state);
28 break;
29 }
30}
31
32qk_tap_dance_action_t tap_dance_actions[] = {
33 [TD_SEMICOLON] = ACTION_TAP_DANCE_FN(tap_dance_semicolon),
34};