aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboard/planck/PCB_GUIDE.md2
-rw-r--r--keyboard/planck/common_keymaps/keymap_shane.c44
-rw-r--r--keyboard/planck/keymap_common.h43
3 files changed, 65 insertions, 24 deletions
diff --git a/keyboard/planck/PCB_GUIDE.md b/keyboard/planck/PCB_GUIDE.md
index e4c307b44..833e144b3 100644
--- a/keyboard/planck/PCB_GUIDE.md
+++ b/keyboard/planck/PCB_GUIDE.md
@@ -33,7 +33,7 @@ Generally, the instructions to flash the PCB are as follows:
332. Save the file 332. Save the file
343. `make clean` 343. `make clean`
354. Press the reset button on the PCB/press the key with the `RESET` keycode 354. Press the reset button on the PCB/press the key with the `RESET` keycode
365. `make dfu` - use the necessary `KEYMAP=<keymap>` or `COMMON=true` here. 365. `make <arguments> dfu` - use the necessary `KEYMAP=<keymap>` and/or `COMMON=true` arguments here.
37 37
38## Extended keymap 38## Extended keymap
39 39
diff --git a/keyboard/planck/common_keymaps/keymap_shane.c b/keyboard/planck/common_keymaps/keymap_shane.c
index d4e40fe63..8d5ad6875 100644
--- a/keyboard/planck/common_keymaps/keymap_shane.c
+++ b/keyboard/planck/common_keymaps/keymap_shane.c
@@ -1,5 +1,3 @@
1// https://github.com/shanecelis/tmk_keyboard/blob/master/keyboard/planck/keymap_shane.c
2
3#include "keymap_common.h" 1#include "keymap_common.h"
4#include "action_layer.h" 2#include "action_layer.h"
5#include "action.h" 3#include "action.h"
@@ -11,30 +9,30 @@
11*/ 9*/
12const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 10const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
13 [0] = KEYMAP_AND_SWAP( /* Base */ 11 [0] = KEYMAP_AND_SWAP( /* Base */
14 TAB, Q, W, E, R, T, Y, U, I, O, P, MINS, 12 TAB, Q, W, E, R, T, Y, U, I, O, P, MINS,
15 LCTL, A, S, D, F, G, H, J, K, L, SCLN, BSPC, 13 LCTL, A, S, D, F, G, H, J, K, L, SCLN, BSPC,
16 LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, FN5, 14 LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, FN5,
17 /*ALPHA*/FN3, /*HYPER*/ /*SUPER*/LGUI, /*META*/LALT, LCTL, FN2, FN6, FN1, LEFT, DOWN, UP, RGHT), 15 /*ALPHA*/FN3, /*HYPER*/ /*SUPER*/LGUI, /*META*/LALT, LCTL, FN2, FN6, FN1, LEFT, DOWN, UP, RGHT),
18 [2] = KEYMAP_AND_SWAP( /* More modifiers */ 16 [2] = KEYMAP_AND_SWAP( /* More modifiers */
19 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, 17 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
20 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, 18 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
21 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, 19 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
22 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, RCTL, RALT, RGUI, TRNS), 20 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, RCTL, RALT, RGUI, TRNS),
23 [4] = KEYMAP_AND_SWAP( /* WASD */ 21 [4] = KEYMAP_AND_SWAP( /* WASD */
24 TRNS, TRNS, UP, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, 22 TRNS, TRNS, UP, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
25 TRNS, LEFT, DOWN, RIGHT, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, 23 TRNS, LEFT, DOWN, RIGHT, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
26 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, 24 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
27 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), 25 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS),
28 [6] = KEYMAP_AND_SWAP( /* Raise/FN1 */ 26 [6] = KEYMAP_AND_SWAP( /* Raise/FN1 */
29 FN23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, EQL, 27 FN23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, EQL,
30 TRNS, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, ENT, 28 TRNS, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, ENT,
31 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, BSLS, TRNS, 29 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, BSLS, TRNS,
32 PAUS, TRNS, TRNS, TRNS, TRNS, BSPC, TRNS, MUTE, PGUP, PGDN, MNXT), 30 PAUS, TRNS, TRNS, TRNS, TRNS, BSPC, TRNS, MUTE, PGUP, PGDN, MNXT),
33 [8] = KEYMAP_AND_SWAP( /* Lower/FN2 */ 31 [8] = KEYMAP_AND_SWAP( /* Lower/FN2 */
34 ESC, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, FN19, FN20, TRNS, 32 ESC, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, FN19, FN20, TRNS,
35 TRNS, TRNS, TRNS, TRNS, CAPS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, QUOT, 33 TRNS, TRNS, TRNS, TRNS, CAPS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, QUOT,
36 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, FN24, FN25, LBRC, RBRC, TRNS, TRNS, 34 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, FN24, FN25, LBRC, RBRC, TRNS, TRNS,
37 FN4, TRNS, TRNS, TRNS, TRNS, ENT, TRNS, MPLY, VOLD, VOLU, MPRV), 35 FN4, TRNS, TRNS, TRNS, TRNS, ENT, TRNS, MPLY, VOLD, VOLU, MPRV),
38}; 36};
39 37
40enum function_id { 38enum function_id {
@@ -97,4 +95,4 @@ const uint16_t PROGMEM fn_actions[] = {
97 [24] = ACTION_MODS_KEY(MOD_LSFT, KC_LBRC), 95 [24] = ACTION_MODS_KEY(MOD_LSFT, KC_LBRC),
98 [25] = ACTION_MODS_KEY(MOD_LSFT, KC_RBRC), 96 [25] = ACTION_MODS_KEY(MOD_LSFT, KC_RBRC),
99 [26] = ACTION_MODS_KEY(MOD_LSFT, KC_BSLS), 97 [26] = ACTION_MODS_KEY(MOD_LSFT, KC_BSLS),
100}; 98}; \ No newline at end of file
diff --git a/keyboard/planck/keymap_common.h b/keyboard/planck/keymap_common.h
index d888d8173..4a0bcfbb0 100644
--- a/keyboard/planck/keymap_common.h
+++ b/keyboard/planck/keymap_common.h
@@ -82,5 +82,48 @@ extern const uint16_t fn_actions[];
82 { KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37, KC_##K38, KC_##K39, KC_##K3A, KC_##K3B } \ 82 { KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37, KC_##K38, KC_##K39, KC_##K3A, KC_##K3B } \
83} 83}
84 84
85#define KEYMAP_REVERSE( \
86 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, \
87 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \
88 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, \
89 K30, K31, K32, K33, K34, K35, K37, K38, K39, K3A, K3B \
90 ) { \
91 { KC_##K0B, KC_##K0A, KC_##K09, KC_##K08, KC_##K07, KC_##K06, KC_##K05, KC_##K04, KC_##K03, KC_##K02, KC_##K01, KC_##K00 }, \
92 { KC_##K1B, KC_##K1A, KC_##K19, KC_##K18, KC_##K17, KC_##K16, KC_##K15, KC_##K14, KC_##K13, KC_##K12, KC_##K11, KC_##K10 }, \
93 { KC_##K2B, KC_##K2A, KC_##K29, KC_##K28, KC_##K27, KC_##K26, KC_##K25, KC_##K24, KC_##K23, KC_##K22, KC_##K21, KC_##K20 }, \
94 { KC_##K3B, KC_##K3A, KC_##K39, KC_##K38, KC_##K37, KC_##K35, KC_##K35, KC_##K34, KC_##K33, KC_##K32, KC_##K31, KC_##K30 }, \
95 }
96
97#define KEYMAP_AND_REVERSE(args...) KEYMAP(args), KEYMAP_REVERSE(args)
98
99#define KEYMAP_SWAP( \
100 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, \
101 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \
102 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, \
103 K30, K31, K32, K33, K34, K35, K37, K38, K39, K3A, K3B \
104 ) { \
105 { KC_##K06, KC_##K07, KC_##K08, KC_##K09, KC_##K0A, KC_##K0B, KC_##K00, KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05 }, \
106 { KC_##K16, KC_##K17, KC_##K18, KC_##K19, KC_##K1A, KC_##K1B, KC_##K10, KC_##K11, KC_##K12, KC_##K13, KC_##K14, KC_##K15 }, \
107 { KC_##K26, KC_##K27, KC_##K28, KC_##K29, KC_##K2A, KC_##K2B, KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25 }, \
108 { KC_##K37, KC_##K38, KC_##K39, KC_##K3A, KC_##K3B, KC_##K35, KC_##K35, KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34 }, \
109}
110
111#define KEYMAP_AND_SWAP(args...) KEYMAP(args), KEYMAP_SWAP(args)
112
113/*
114 Keymap for the Planck 48 key variant.
115 */
116#define KEYMAP_48( \
117 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, \
118 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \
119 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, \
120 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B \
121) { \
122 { KC_##K00, KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, KC_##K09, KC_##K0A, KC_##K0B }, \
123 { KC_##K10, KC_##K11, KC_##K12, KC_##K13, KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, KC_##K19, KC_##K1A, KC_##K1B }, \
124 { KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_##K26, KC_##K27, KC_##K28, KC_##K29, KC_##K2A, KC_##K2B }, \
125 { KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37, KC_##K38, KC_##K39, KC_##K3A, KC_##K3B }, \
126}
127
85 128
86#endif 129#endif