aboutsummaryrefslogtreecommitdiff
path: root/keyboards/planck
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/planck')
-rw-r--r--keyboards/planck/keymaps/callum/keymap.c6
-rw-r--r--keyboards/planck/keymaps/callum/readme.md2
-rw-r--r--keyboards/planck/keymaps/espynn/Makefile63
-rw-r--r--keyboards/planck/keymaps/espynn/keyboard-layout.jpgbin0 -> 52908 bytes
-rw-r--r--keyboards/planck/keymaps/espynn/keymap.c151
-rw-r--r--keyboards/planck/keymaps/espynn/layout.json271
-rw-r--r--keyboards/planck/keymaps/espynn/readme.md18
-rw-r--r--keyboards/planck/keymaps/smt/Makefile3
-rw-r--r--keyboards/planck/keymaps/smt/keymap.c229
-rw-r--r--keyboards/planck/keymaps/smt/readme.md103
-rw-r--r--keyboards/planck/keymaps/yale/Makefile25
-rw-r--r--keyboards/planck/keymaps/yale/config.h11
-rw-r--r--keyboards/planck/keymaps/yale/keymap.c108
-rw-r--r--keyboards/planck/keymaps/yale/yale_layout_picture.jpgbin0 -> 58141 bytes
14 files changed, 985 insertions, 5 deletions
diff --git a/keyboards/planck/keymaps/callum/keymap.c b/keyboards/planck/keymaps/callum/keymap.c
index a1254d975..2acd988ea 100644
--- a/keyboards/planck/keymaps/callum/keymap.c
+++ b/keyboards/planck/keymaps/callum/keymap.c
@@ -12,8 +12,6 @@ extern keymap_config_t keymap_config;
12#define _SYMB 2 12#define _SYMB 2
13#define _MOUSE 3 13#define _MOUSE 3
14#define _FUNC 4 14#define _FUNC 4
15#define CMDLEFT LGUI(KC_LEFT)
16#define CMDRGHT LGUI(KC_RGHT)
17#define ENDASH LALT(KC_MINS) 15#define ENDASH LALT(KC_MINS)
18#define POUND LALT(KC_3) 16#define POUND LALT(KC_3)
19 17
@@ -50,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
50 48
51/* MOVE 49/* MOVE
52 * ,-----------------------------------------------------------------------------------. 50 * ,-----------------------------------------------------------------------------------.
53 * | Esc | | Cmd-L| Up | Cmd-R| | | Cmd-L| Up | Cmd-R| | Esc | 51 * | Esc | | Home | Up | End | | | Home | Up | End | | Esc |
54 * |------+------+------+------+------+------+------+------+------+------+------+------| 52 * |------+------+------+------+------+------+------+------+------+------+------+------|
55 * | Del | Caps | Left | Down | Right| | | Left | Down | Right| Caps | Del | 53 * | Del | Caps | Left | Down | Right| | | Left | Down | Right| Caps | Del |
56 * |------+------+------+------+------+------+------+------+------+------+------+------| 54 * |------+------+------+------+------+------+------+------+------+------+------+------|
@@ -60,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
60 * `-----------------------------------------------------------------------------------' 58 * `-----------------------------------------------------------------------------------'
61 */ 59 */
62[_MOVE] = { 60[_MOVE] = {
63 {KC_ESC, XXXXXXX, CMDLEFT, KC_UP, CMDRGHT, XXXXXXX, XXXXXXX, CMDLEFT, KC_UP, CMDRGHT, XXXXXXX, KC_ESC }, 61 {KC_ESC, XXXXXXX, KC_HOME, KC_UP, KC_END, XXXXXXX, XXXXXXX, KC_HOME, KC_UP, KC_END, XXXXXXX, KC_ESC },
64 {KC_DEL, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_CAPS, KC_DEL }, 62 {KC_DEL, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_CAPS, KC_DEL },
65 {_______, XXXXXXX, XXXXXXX, KC_PGUP, KC_PGDN, XXXXXXX, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, XXXXXXX, _______}, 63 {_______, XXXXXXX, XXXXXXX, KC_PGUP, KC_PGDN, XXXXXXX, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, XXXXXXX, _______},
66 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} 64 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
diff --git a/keyboards/planck/keymaps/callum/readme.md b/keyboards/planck/keymaps/callum/readme.md
index f970cd974..71e200b9d 100644
--- a/keyboards/planck/keymaps/callum/readme.md
+++ b/keyboards/planck/keymaps/callum/readme.md
@@ -23,7 +23,7 @@ We have five layers. A `BASE` layer, in colemak; a `MOVE` layer, with an arrow c
23 23
24/* MOVE 24/* MOVE
25 * ,-----------------------------------------------------------------------------------. 25 * ,-----------------------------------------------------------------------------------.
26 * | Esc | | Cmd-L| Up | Cmd-R| | | Cmd-L| Up | Cmd-R| | Esc | 26 * | Esc | | Home | Up | End | | | Home | Up | End | | Esc |
27 * |------+------+------+------+------+------+------+------+------+------+------+------| 27 * |------+------+------+------+------+------+------+------+------+------+------+------|
28 * | Del | Caps | Left | Down | Right| | | Left | Down | Right| Caps | Del | 28 * | Del | Caps | Left | Down | Right| | | Left | Down | Right| Caps | Del |
29 * |------+------+------+------+------+------+------+------+------+------+------+------| 29 * |------+------+------+------+------+------+------+------+------+------+------+------|
diff --git a/keyboards/planck/keymaps/espynn/Makefile b/keyboards/planck/keymaps/espynn/Makefile
new file mode 100644
index 000000000..44a030ba3
--- /dev/null
+++ b/keyboards/planck/keymaps/espynn/Makefile
@@ -0,0 +1,63 @@
1#----------------------------------------------------------------------------
2# On command line:
3#
4# make all = Make software.
5#
6# make clean = Clean out built project files.
7#
8# make coff = Convert ELF to AVR COFF.
9#
10# make extcoff = Convert ELF to AVR Extended COFF.
11#
12# make program = Download the hex file to the device.
13# Please customize your programmer settings(PROGRAM_CMD)
14#
15# make teensy = Download the hex file to the device, using teensy_loader_cli.
16# (must have teensy_loader_cli installed).
17#
18# make dfu = Download the hex file to the device, using dfu-programmer (must
19# have dfu-programmer installed).
20#
21# make flip = Download the hex file to the device, using Atmel FLIP (must
22# have Atmel FLIP installed).
23#
24# make dfu-ee = Download the eeprom file to the device, using dfu-programmer
25# (must have dfu-programmer installed).
26#
27# make flip-ee = Download the eeprom file to the device, using Atmel FLIP
28# (must have Atmel FLIP installed).
29#
30# make debug = Start either simulavr or avarice as specified for debugging,
31# with avr-gdb or avr-insight as the front end for debugging.
32#
33# make filename.s = Just compile filename.c into the assembler code only.
34#
35# make filename.i = Create a preprocessed source file for use in submitting
36# bug reports to the GCC project.
37#
38# To rebuild project do "make clean" then "make all".
39#----------------------------------------------------------------------------
40
41# Build Options
42# change to "no" to disable the options, or define them in the makefile.mk in
43# the appropriate keymap folder that will get included automatically
44#
45BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
46MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
47EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
48CONSOLE_ENABLE = no # Console for debug(+400)
49COMMAND_ENABLE = yes # Commands for debug and configuration
50NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
51BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
52MIDI_ENABLE = no # MIDI controls
53AUDIO_ENABLE = no # Audio output on port C6
54UNICODE_ENABLE = no # Unicode
55BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
56RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
57
58# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
59SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
60
61ifndef QUANTUM_DIR
62 include ../../../../Makefile
63endif
diff --git a/keyboards/planck/keymaps/espynn/keyboard-layout.jpg b/keyboards/planck/keymaps/espynn/keyboard-layout.jpg
new file mode 100644
index 000000000..55e5396bf
--- /dev/null
+++ b/keyboards/planck/keymaps/espynn/keyboard-layout.jpg
Binary files differ
diff --git a/keyboards/planck/keymaps/espynn/keymap.c b/keyboards/planck/keymaps/espynn/keymap.c
new file mode 100644
index 000000000..4a3fe32b8
--- /dev/null
+++ b/keyboards/planck/keymaps/espynn/keymap.c
@@ -0,0 +1,151 @@
1#include "planck.h"
2#include "action_layer.h"
3#include "eeconfig.h"
4#ifdef BACKLIGHT_ENABLE
5 #include "backlight.h"
6#endif
7#define PREVENT_STUCK_MODIFIERS
8extern keymap_config_t keymap_config;
9
10// Symbolic names for macro IDs.
11#define _QWERTY 0 // QUERTY layer
12#define _LOWER 1 // Lower layer
13#define _RAISE 2 // Raise layer
14#define _CUSTOM 3 // Custom layer (LOWER + RAISE)
15#define _BL 4 // Backlight
16#define _CUS0 5 // Mobile#
17#define _CUS1 6 // signature
18#define _CUS2 7 // macro 2
19#define _CUS3 8 // macro 3
20#define _CUS4 9 // macro 4
21#define _CUS5 10 // email
22#define _COPY 11 // copy
23#define _PASTE 12 // paste
24#define _CUT 13 // cut
25
26// Macro shortcuts.
27#define QWERTY M(_LOWER)
28#define LOWER M(_LOWER)
29#define RAISE M(_RAISE)
30#define CUSTOM M(_CUSTOM)
31#define BL M(_BL)
32#define CUS0 M(_CUS0)
33#define CUS1 M(_CUS1)
34#define CUS2 M(_CUS2)
35#define CUS3 M(_CUS3)
36#define CUS4 M(_CUS4)
37#define CUS5 M(_CUS5)
38#define COPY M(_COPY)
39#define PASTE M(_PASTE)
40#define CUT M(_CUT)
41
42// Func macro definitions.
43#define LWR_PGDN FUNC(0) // Tap for PgDn, hold for LOWER
44#define RSE_PGUP FUNC(1) // Tap for PgUp, hold for RAISE
45#define CTL_CAPS FUNC(2) // Tap for Caps, hold for Ctrl (DOESN'T SEEM TO WORK)
46#define SFT_ENT FUNC(3) // Tap for Enter, hold for Shift
47#define ZM_NRM FUNC(4) // Zoom normal
48#define ZM_IN FUNC(5) // Zoom out
49#define ZM_OUT FUNC(6) // Zoom in
50
51// Enable these functions using FUNC(n) macro.
52const uint16_t PROGMEM fn_actions[] = {
53 [0] = ACTION_LAYER_TAP_KEY(_LOWER, KC_PGDN),
54 [1] = ACTION_LAYER_TAP_KEY(_RAISE, KC_PGUP),
55 [2] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_CAPS),
56 [3] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_ENT),
57 [4] = ACTION_MODS_KEY(MOD_LCTL, KC_0),
58 [5] = ACTION_MODS_KEY(MOD_LCTL, KC_MINS),
59 [6] = ACTION_MODS_KEY(MOD_LCTL, KC_PLUS),
60 [7] = ACTION_MODS_KEY(MOD_LCTL, KC_UNDS),
61 };
62
63// This config can be found at Keyboard layout editor site: http://goo.gl/zjXL2l
64const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
65[_QWERTY] = { /* QWERTY */
66 {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
67 {KC_DEL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT},
68 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT},
69 {KC_LCTL, KC_ESC, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
70},
71[_LOWER] = { /* LOWER */
72 {KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL},
73 {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LPRN, KC_RPRN, KC_LCBR, KC_RCBR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
74 {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_QUOT, KC_DQT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
75 {KC_TRNS, ZM_NRM, ZM_IN, ZM_OUT, KC_TRNS, KC_PGDN, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
76},
77[_RAISE] = { /* RAISE */
78 {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12},
79 {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LCBR, KC_LCBR, KC_BSLS, KC_TRNS},
80 {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, KC_PIPE, KC_GRV, KC_TILD, KC_LBRC, KC_LBRC, KC_TRNS, KC_TRNS},
81 {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGUP, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
82},
83[_CUSTOM] = { /* CUSTOM */
84 {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, CUS4, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
85 {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, CUS0, CUS3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
86 {KC_TRNS, KC_TRNS, CUT, COPY, PASTE, CUS1, CUS5, CUS2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
87 {BL, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
88}
89};
90
91// Set a layer persistantly.
92void persistant_default_layer_set(uint16_t default_layer) {
93 eeconfig_update_default_layer(default_layer);
94 default_layer_set(default_layer);
95}
96
97// Macro actions for each corresponding ID.
98const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
99{
100 switch(id) {
101 case _RAISE: // Raised layer.
102 if (record->event.pressed) {
103 layer_on(_RAISE);
104 update_tri_layer(_LOWER, _RAISE, _CUSTOM);
105 } else {
106 layer_off(_RAISE);
107 update_tri_layer(_LOWER, _RAISE, _CUSTOM);
108 }
109 break;
110 case _LOWER: // Lowered layer.
111 if (record->event.pressed) {
112 layer_on(_LOWER);
113 update_tri_layer(_LOWER, _RAISE, _CUSTOM);
114 } else {
115 layer_off(_LOWER);
116 update_tri_layer(_LOWER, _RAISE, _CUSTOM);
117 }
118 break;
119 case _BL: // Backlight
120 if (record->event.pressed) {
121 register_code(KC_RSFT);
122#ifdef BACKLIGHT_ENABLE
123 backlight_step();
124#endif
125 } else {
126 unregister_code(KC_RSFT);
127 }
128 break;
129 case _CUS0: // enter your mobile# here
130 return MACRODOWN(T(9), T(9), T(9), T(MINS),T(9), T(9), T(9), T(MINS),T(9), T(9), T(9), T(9),END);
131 case _CUS1: // signature line for email
132 return MACRODOWN(T(ENT), T(ENT), T(MINS), T(J), T(W), END);
133 case _CUS2: // Custom macro 2
134 return MACRODOWN( DOWN(KC_LSFT), TYPE(KC_L), UP(KC_LSFT), END );
135 case _CUS3: // custom macro 3
136 return MACRODOWN( DOWN(KC_LSFT), TYPE(KC_F), UP(KC_LSFT), END );
137 case _CUS4: // custom macro 4
138 return MACRODOWN( DOWN(KC_LSFT), TYPE(KC_I), UP(KC_LSFT), END );
139 case _CUS5: // Enter your email here
140 return MACRODOWN( TYPE(KC_F),
141 DOWN(KC_LSFT), TYPE(KC_2), UP(KC_LSFT),
142 TYPE(KC_G), TYPE(KC_M), TYPE(KC_A), TYPE(KC_I), TYPE(KC_L), TYPE(KC_DOT), TYPE(KC_C), TYPE(KC_O), TYPE(KC_M), END );
143 case _CUT: //cut macro
144 return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_X), UP(KC_LCTL), END );
145 case _COPY: // copy macro
146 return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_C), UP(KC_LCTL), END );
147 case _PASTE: // paste macro
148 return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_V), UP(KC_LCTL), END );
149 };
150 return MACRO_NONE;
151} \ No newline at end of file
diff --git a/keyboards/planck/keymaps/espynn/layout.json b/keyboards/planck/keymaps/espynn/layout.json
new file mode 100644
index 000000000..38ccc3452
--- /dev/null
+++ b/keyboards/planck/keymaps/espynn/layout.json
@@ -0,0 +1,271 @@
1[
2 {
3 "backcolor": "#858585",
4 "name": "Planck 40%",
5 "author": "James Folkert",
6 "background": {
7 "name": "Aluminium brushed",
8 "style": "background-image: url('/bg/metal/aluminum_texture1642.jpg');"
9 },
10 "switchMount": "cherry",
11 "switchBrand": "cherry",
12 "switchType": "MX1A-A1xx",
13 "pcb": true,
14 "plate": true
15 },
16 [
17 {
18 "fa": [
19 2,
20 2,
21 0,
22 2
23 ]
24 },
25 "F1\n1\n\n!\n\n\n\n\n\n<i class='kb kb-Tab-2'></i>",
26 "F2\n2\n\n@\n\n\n\n\n\nQ",
27 "F3\n3\n\n#\n\n\n\n\n\nW",
28 "F4\n4\n\n$\n\n\n\n\n\nE",
29 "F5\n5\n\n%\n\n\n\n\n\nR",
30 "F6\n6\n\n^\n\n\n\n\n\nT",
31 "F7\n6\n\n&\n\n\n\n\n\nY",
32 "F8\n8\n\n*\nMacro4\n\n\n\n\nU",
33 "F9\n9\n\n(\n\n\n\n\n\nI",
34 {
35 "fa": [
36 0,
37 0,
38 0,
39 2
40 ]
41 },
42 "F10\n0\n\n)\n\n\n\n\n\nO",
43 {
44 "fa": [
45 2,
46 2,
47 0,
48 2
49 ]
50 },
51 "F11\n-\n\n_\n\n\n\n\n\nP",
52 "F12\n=\n\n+\n\n\n\n\n\n<i class='kb kb-Unicode-BackSpace-DeleteLeft-Big'></i>"
53 ],
54 [
55 {
56 "a": 7,
57 "f": 3
58 },
59 "<i class='mss mss-Unicode-DeleteRight-Big-2'></i>",
60 {
61 "f": 3
62 },
63 "A",
64 {
65 "f": 3
66 },
67 "S",
68 {
69 "f": 3
70 },
71 "D",
72 {
73 "t": "#ff0000",
74 "a": 4,
75 "f": 3
76 },
77 "\n(\n\n\n\n\n\n\n\nF",
78 {
79 "t": "#000000",
80 "f": 3
81 },
82 "\n)\n\n\n\n\n\n\n\nG",
83 {
84 "f": 3
85 },
86 "\n{\n\n\nMacro0\n\n\n\n\nH",
87 {
88 "t": "#ff0000",
89 "f": 3
90 },
91 "\n}\n\n\nMacro3\n\n\n\n\nJ",
92 {
93 "t": "#000000",
94 "f": 3
95 },
96 "{\n\n\n\n\n\n\n\n\nK",
97 {
98 "f": 3
99 },
100 "{\n\n\n\n\n\n\n\n\nL",
101 {
102 "fa": [
103 2,
104 2,
105 2,
106 2,
107 0,
108 0,
109 0,
110 2
111 ]
112 },
113 "\\\n\n|\n\n\n\n\n:\n\n;",
114 {
115 "a": 7,
116 "fa": [
117 9
118 ]
119 },
120 "<i class='mss mss-Unicode-Enter-3'></i>"
121 ],
122 [
123 {
124 "f": 3
125 },
126 "Shift",
127 {
128 "f": 3
129 },
130 "Z",
131 {
132 "f": 3
133 },
134 "X\n\n\n\nCut",
135 {
136 "f": 3
137 },
138 "C\n\n\n\nCopy",
139 {
140 "a": 4,
141 "fa": [
142 2,
143 2,
144 2,
145 2
146 ]
147 },
148 "\\\n[\n|\n{\nPaste\n\n\n\n\nV",
149 "|\n]\n\n}\nMacro1\n\n\n\n\nB",
150 "`\n'\n~\n\"\nMacro5\n\n\n\n\nN",
151 "~\n\"\n\n\nMacro2\n\n\n\n\nM",
152 {
153 "fa": [
154 2,
155 2,
156 2,
157 2,
158 0,
159 0,
160 0,
161 1
162 ]
163 },
164 "[\n\n{\n\n\n\n\n<\n\n,",
165 "[\n\n{\n\n\n\n\n\n\n.",
166 {
167 "a": 6
168 },
169 "\n\n?\n\n\n\n\n\n/",
170 {
171 "a": 4,
172 "fa": [
173 2,
174 2,
175 2,
176 0,
177 0,
178 0,
179 0,
180 1,
181 9,
182 0
183 ]
184 },
185 "\n\n\n<i class='kb kb-Arrows-Bottom-4'></i>Shift\n\n\n\n\n<i class='mss mss-Unicode-Enter-3'></i>\n\n<i class='kb kb-Arrows-Bottom-4'></i>Shift"
186 ],
187 [
188 {
189 "a": 7,
190 "f": 3
191 },
192 "Ctrl\n\n\n\nBLight",
193 {
194 "a": 4,
195 "fa": [
196 2,
197 1,
198 2,
199 0,
200 0,
201 0,
202 0,
203 1,
204 9,
205 9
206 ]
207 },
208 "\nZNorm\n\n\nRESET\n\n\n\n\n<i class='mss mss-Unicode-Escape-3'></i>",
209 {
210 "fa": [
211 2,
212 1,
213 2,
214 0,
215 0,
216 0,
217 0,
218 1,
219 9,
220 6
221 ]
222 },
223 "\nZIn\n\n\n\n\n\n\n\n<i class='kb kb-logo-windows-8'></i>",
224 {
225 "fa": [
226 2,
227 1,
228 2,
229 0,
230 0,
231 0,
232 0,
233 1,
234 9,
235 9
236 ]
237 },
238 "\nZOut\n\n\n\n\n\n\n\n<i class='kb kb-Unicode-Alternate-1'></i>",
239 {
240 "a": 7,
241 "fa": [
242 9
243 ]
244 },
245 "&dArr;",
246 {
247 "a": 4,
248 "fa": [
249 9,
250 5,
251 5
252 ],
253 "w": 2
254 },
255 "\n<i class='kb kb-Unicode-Page-Down-3'></i>\n<i class='kb kb-Unicode-Page-Up-3'></i>",
256 {
257 "a": 7
258 },
259 "&uArr;",
260 {
261 "a": 4,
262 "fa": [
263 2
264 ]
265 },
266 "<i class='kb kb-Multimedia-FastForward-End'></i>\n\n\n\n\n\n\n\n\n&larr;",
267 "<i class='kb kb-Multimedia-Volume-Down-1'></i>\n\n\n\n\n\n\n\n\n&darr;",
268 "<i class='kb kb-Multimedia-Volume-Up-1'></i>\n\n\n\n\n\n\n\n\n&uarr;",
269 "<i class='kb kb-Multimedia-Play-Pause'></i>\n\n\n\n\n\n\n\n\n&rarr;"
270 ]
271] \ No newline at end of file
diff --git a/keyboards/planck/keymaps/espynn/readme.md b/keyboards/planck/keymaps/espynn/readme.md
new file mode 100644
index 000000000..8882f4601
--- /dev/null
+++ b/keyboards/planck/keymaps/espynn/readme.md
@@ -0,0 +1,18 @@
1# Espynn's keymap for Planck Ortholinear 40% Mechanical Keyboard
2Created by James Folkert: https://twitter.com/trekloFsemaJ
3Added several custom functions to the keymap from the "ab" map. Special thanks to "mollat" for demonstration of macros in their keymap.c
4
5
6![Layout](keyboard-layout.png "Practical Keymap")
7
8
9* Online keyboard layout editor: http://www.keyboard-layout-editor.com/
10* [JSON of raw layout] (layout.json "JSON of raw layout")
11
12# Notes
13* Simultaneous RAISE+LOWER enters CUSTOM layer. Several custom keymaps are here
14* I disregarded the advice of Jack and used macros for passwords. I accept my fate. These have been abstracted to macros 2, 3, and 4
15* add your mobile and email to the keymap before make
16* RAISE and LOWER also acts as PgUp and PgDn when tapped.
17* [CapsLock] also acts as [Ctrl] key when you press and hold. It is convenient for GNU Emacs users. (not sure if this works)
18* Bracket/ paran/ brace keys are placed in the center of the keyboard for programmer's convenience. \ No newline at end of file
diff --git a/keyboards/planck/keymaps/smt/Makefile b/keyboards/planck/keymaps/smt/Makefile
new file mode 100644
index 000000000..457a3d01d
--- /dev/null
+++ b/keyboards/planck/keymaps/smt/Makefile
@@ -0,0 +1,3 @@
1ifndef QUANTUM_DIR
2 include ../../../../Makefile
3endif
diff --git a/keyboards/planck/keymaps/smt/keymap.c b/keyboards/planck/keymaps/smt/keymap.c
new file mode 100644
index 000000000..51e5a40bf
--- /dev/null
+++ b/keyboards/planck/keymaps/smt/keymap.c
@@ -0,0 +1,229 @@
1#include "planck.h"
2#include "action_layer.h"
3#ifdef AUDIO_ENABLE
4 #include "audio.h"
5#endif
6#include "eeconfig.h"
7
8extern keymap_config_t keymap_config;
9
10// Each layer gets a name for readability, which is then used in the keymap matrix below.
11// The underscores don't mean anything - you can have a layer called STUFF or any other name.
12// Layer names don't all need to be of the same length, obviously, and you can also skip them
13// entirely and just use numbers.
14#define _DVORAK 0
15#define _QWERTY 1
16#define _LOWER 2
17#define _RAISE 3
18#define _ADJUST 16
19
20enum planck_keycodes {
21 DVORAK = SAFE_RANGE,
22 QWERTY,
23 LOWER,
24 RAISE,
25 BACKLIT
26};
27
28// Fillers to make layering more clear
29#define _______ KC_TRNS
30#define XXXXXXX KC_NO
31
32const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
33
34/* Dvorak
35 * ,-----------------------------------------------------------------------------------.
36 * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp |
37 * |------+------+------+------+------+-------------+------+------+------+------+------|
38 * | Esc | A | O | E | U | I | D | H | T | N | S | - |
39 * |------+------+------+------+------+------|------+------+------+------+------+------|
40 * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
41 * |------+------+------+------+------+------+------+------+------+------+------+------|
42 * | ` | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
43 * `-----------------------------------------------------------------------------------'
44 */
45[_DVORAK] = {
46 {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC},
47 {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS},
48 {SFT_T(KC_ESC), KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_T(KC_ENT)},
49 {ALL_T(KC_GRV), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
50},
51
52/* Qwerty
53 * ,-----------------------------------------------------------------------------------.
54 * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
55 * |------+------+------+------+------+-------------+------+------+------+------+------|
56 * | Esc | A | S | D | F | G | H | J | K | L | ; | " |
57 * |------+------+------+------+------+------|------+------+------+------+------+------|
58 * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
59 * |------+------+------+------+------+------+------+------+------+------+------+------|
60 * | ` | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
61 * `-----------------------------------------------------------------------------------'
62 */
63[_QWERTY] = {
64 {_______, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
65 {_______, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
66 {_______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______},
67 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
68},
69
70/* Lower
71 * ,-----------------------------------------------------------------------------------.
72 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
73 * |------+------+------+------+------+-------------+------+------+------+------+------|
74 * | | F1 | F2 | F3 | F4 | F5 | F6 | 4 | 5 | 6 | Home |PageUp|
75 * |------+------+------+------+------+------|------+------+------+------+------+------|
76 * | | F7 | F8 | F9 | F10 | F11 | F12 | 1 | 2 | 3 | End |PageDn|
77 * |------+------+------+------+------+------+------+------+------+------+------+------|
78 * | | | | | | | | Next | Vol- | Vol+ | Play |
79 * `-----------------------------------------------------------------------------------'
80 */
81[_LOWER] = {
82 {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL},
83 {_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_4, KC_5, KC_6, KC_HOME, KC_PGUP},
84 {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_1, KC_2, KC_3, KC_END, KC_PGDN},
85 {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
86},
87
88/* Raise
89 * ,-----------------------------------------------------------------------------------.
90 * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
91 * |------+------+------+------+------+-------------+------+------+------+------+------|
92 * | | | | | | | _ | ? | + | { | } | | |
93 * |------+------+------+------+------+------|------+------+------+------+------+------|
94 * | | | | | | | - | / | = | [ | ] | \ |
95 * |------+------+------+------+------+------+------+------+------+------+------+------|
96 * | | | | | | | | Next | Vol- | Vol+ | Play |
97 * `-----------------------------------------------------------------------------------'
98 */
99[_RAISE] = {
100 {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL},
101 {_______, _______, _______, _______, _______, _______, KC_UNDS, KC_QUES, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
102 {_______, _______, _______, _______, _______, _______, KC_MINS, KC_SLSH, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
103 {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
104},
105
106/* Adjust (Lower + Raise)
107 * ,-----------------------------------------------------------------------------------.
108 * | | Reset| | | | | | | | | | Del |
109 * |------+------+------+------+------+-------------+------+------+------+------+------|
110 * | | | |Aud on|Audoff|AGnorm|AGswap|Dvorak|Qwerty| | | |
111 * |------+------+------+------+------+------|------+------+------+------+------+------|
112 * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | |
113 * |------+------+------+------+------+------+------+------+------+------+------+------|
114 * | | | | | | | | | | | |
115 * `-----------------------------------------------------------------------------------'
116 */
117[_ADJUST] = {
118 {_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL},
119 {_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, DVORAK, QWERTY, _______, _______, _______},
120 {_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______},
121 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
122}
123
124
125};
126
127#ifdef AUDIO_ENABLE
128
129float tone_startup[][2] = SONG(STARTUP_SOUND);
130float tone_qwerty[][2] = SONG(QWERTY_SOUND);
131float tone_dvorak[][2] = SONG(DVORAK_SOUND);
132float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
133
134float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
135#endif
136
137
138void persistant_default_layer_set(uint16_t default_layer) {
139 eeconfig_update_default_layer(default_layer);
140 default_layer_set(default_layer);
141}
142
143bool process_record_user(uint16_t keycode, keyrecord_t *record) {
144 switch (keycode) {
145 case DVORAK:
146 if (record->event.pressed) {
147 #ifdef AUDIO_ENABLE
148 PLAY_NOTE_ARRAY(tone_dvorak, false, 0);
149 #endif
150 persistant_default_layer_set(1UL<<_DVORAK);
151 }
152 return false;
153 break;
154 case QWERTY:
155 if (record->event.pressed) {
156 #ifdef AUDIO_ENABLE
157 PLAY_NOTE_ARRAY(tone_qwerty, false, 0);
158 #endif
159 persistant_default_layer_set(1UL<<_QWERTY);
160 }
161 return false;
162 break;
163 case LOWER:
164 if (record->event.pressed) {
165 layer_on(_LOWER);
166 update_tri_layer(_LOWER, _RAISE, _ADJUST);
167 } else {
168 layer_off(_LOWER);
169 update_tri_layer(_LOWER, _RAISE, _ADJUST);
170 }
171 return false;
172 break;
173 case RAISE:
174 if (record->event.pressed) {
175 layer_on(_RAISE);
176 update_tri_layer(_LOWER, _RAISE, _ADJUST);
177 } else {
178 layer_off(_RAISE);
179 update_tri_layer(_LOWER, _RAISE, _ADJUST);
180 }
181 return false;
182 break;
183 case BACKLIT:
184 if (record->event.pressed) {
185 register_code(KC_RSFT);
186 #ifdef BACKLIGHT_ENABLE
187 backlight_step();
188 #endif
189 } else {
190 unregister_code(KC_RSFT);
191 }
192 return false;
193 break;
194 }
195 return true;
196}
197
198void matrix_init_user(void) {
199 #ifdef AUDIO_ENABLE
200 startup_user();
201 #endif
202}
203
204#ifdef AUDIO_ENABLE
205
206void startup_user()
207{
208 _delay_ms(20); // gets rid of tick
209 PLAY_NOTE_ARRAY(tone_startup, false, 0);
210}
211
212void shutdown_user()
213{
214 PLAY_NOTE_ARRAY(tone_goodbye, false, 0);
215 _delay_ms(150);
216 stop_all_notes();
217}
218
219void music_on_user(void)
220{
221 music_scale_user();
222}
223
224void music_scale_user(void)
225{
226 PLAY_NOTE_ARRAY(music_scale, false, 0);
227}
228
229#endif
diff --git a/keyboards/planck/keymaps/smt/readme.md b/keyboards/planck/keymaps/smt/readme.md
new file mode 100644
index 000000000..0e955a574
--- /dev/null
+++ b/keyboards/planck/keymaps/smt/readme.md
@@ -0,0 +1,103 @@
1# smt's Planck keymap
2
3This keymap is primarily based on the default Planck keymap.
4
5Notable differences from the default are:
6
71. **Dvorak by default**
8
9 I happen to type in Dvorak, and prefer that layer to be the default on my keyboard. This is easy enough to switch around with Qwerty, Colemak, or whatever.
10
112. **Right Shift**
12
13 I use both the left and right shift keys when I type. When I want to modify a key with shift, I hold shift with the hand opposite the one typing the key. In the default keymap, Enter is where shift would be on a standard keyboard layout. Oh, muscle memory.
14
15 Thankfully, QMK supports [mod-tap](https://github.com/jackhumbert/qmk_firmware/wiki#fun-with-modifier-keys) keys, and this allows me to set the Enter key to send a modifier (MOD_LSFT) when held, and KC_ENT when tapped. Awesome!
16
173. Escape
18
19 I am experimenting with using Left Shift as a mod-tap key for Escape, similar to how I use the Enter key. It's set up like this on my Minivan, so in the interest of consistency...
20
214. Backtick
22
23 I don't currently have LEDs on any of my keyboards, and even if I did, I don't think I would want their controls on a base layer.
24
25 So, why use backtick in the lower left corner? I use it as my tmux prefix key, so I need to type it more frequently than most people. Putting it on the base layer works well for me.
26
27## Dvorak (default)
28
29```
30,-----------------------------------------------------------------------------------.
31| Tab | " | , | . | P | Y | F | G | C | R | L | Bksp |
32|------+------+------+------+------+-------------+------+------+------+------+------|
33| Esc | A | O | E | U | I | D | H | T | N | S | - |
34|------+------+------+------+------+------|------+------+------+------+------+------|
35| Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
36|------+------+------+------+------+------+------+------+------+------+------+------|
37| ` | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
38`-----------------------------------------------------------------------------------'
39```
40
41## Qwerty (same as default)
42
43```
44,-----------------------------------------------------------------------------------.
45| Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
46|------+------+------+------+------+-------------+------+------+------+------+------|
47| Esc | A | S | D | F | G | H | J | K | L | ; | " |
48|------+------+------+------+------+------|------+------+------+------+------+------|
49| Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
50|------+------+------+------+------+------+------+------+------+------+------+------|
51| ` | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
52`-----------------------------------------------------------------------------------'
53```
54
55## Lower
56
57This is where I put the number row, a numpad cluster, function keys, and some light navigation via Home/End/PageUp/PageDn. Like the "Raise" layer, the top row is redundant to help with Planck compatibility.
58
59```
60,-----------------------------------------------------------------------------------.
61| ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
62|------+------+------+------+------+-------------+------+------+------+------+------|
63| | F1 | F2 | F3 | F4 | F5 | F6 | 4 | 5 | 6 | Home |PageUp|
64|------+------+------+------+------+------|------+------+------+------+------+------|
65| | F7 | F8 | F9 | F10 | F11 | F12 | 1 | 2 | 3 | End |PageDn|
66|------+------+------+------+------+------+------+------+------+------+------+------|
67| | | | | | | | Next | Vol- | Vol+ | Play |
68`-----------------------------------------------------------------------------------'
69```
70
71## Raise
72
73As a developer, it makes the most sense for me to group all the commonly-used symbols that don't fit on the main layer. In particular, having the dual-column of parens-braces-brackets really helps a lot.
74
75I haven't completely filled this layer, which leaves room for future mappings and macros.
76
77```
78,-----------------------------------------------------------------------------------.
79| ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
80|------+------+------+------+------+-------------+------+------+------+------+------|
81| | | | | | | _ | ? | + | { | } | | |
82|------+------+------+------+------+------|------+------+------+------+------+------|
83| | | | | | | - | / | = | [ | ] | \ |
84|------+------+------+------+------+------+------+------+------+------+------+------|
85| | | | | | | | Next | Vol- | Vol+ | Play |
86`-----------------------------------------------------------------------------------'
87```
88
89## Adjust (Lower + Raise)
90
91Utility layer. This is where I'd switch to Qwerty, or ~~fool around with~~ adjust the audio/music settings.
92
93```
94,-----------------------------------------------------------------------------------.
95| | Reset| | | | | | | | | | Del |
96|------+------+------+------+------+-------------+------+------+------+------+------|
97| | | |Aud on|AudOff|AGnorm|AGswap|Dvorak|Qwerty| | | |
98|------+------+------+------+------+------|------+------+------+------+------+------|
99| |Voice-|Voice+|Mus on|MusOff|MidiOn|MidOff| | | | | |
100|------+------+------+------+------+------+------+------+------+------+------+------|
101| | | | | | | | | | | |
102`-----------------------------------------------------------------------------------'
103```
diff --git a/keyboards/planck/keymaps/yale/Makefile b/keyboards/planck/keymaps/yale/Makefile
new file mode 100644
index 000000000..581e08cd0
--- /dev/null
+++ b/keyboards/planck/keymaps/yale/Makefile
@@ -0,0 +1,25 @@
1
2
3# Build Options
4# change to "no" to disable the options, or define them in the Makefile in
5# the appropriate keymap folder that will get included automatically
6#
7BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
8MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
9EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
10CONSOLE_ENABLE = no # Console for debug(+400)
11COMMAND_ENABLE = yes # Commands for debug and configuration
12NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
13BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
14MIDI_ENABLE = no # MIDI controls
15AUDIO_ENABLE = yes # Audio output on port C6
16UNICODE_ENABLE = no # Unicode
17BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
18RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
19
20# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
21SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
22
23ifndef QUANTUM_DIR
24 include ../../../../Makefile
25endif \ No newline at end of file
diff --git a/keyboards/planck/keymaps/yale/config.h b/keyboards/planck/keymaps/yale/config.h
new file mode 100644
index 000000000..8a916bbd0
--- /dev/null
+++ b/keyboards/planck/keymaps/yale/config.h
@@ -0,0 +1,11 @@
1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H
3
4#include "../../config.h"
5
6#define PREVENT_STUCK_MODIFIERS
7
8#endif
9
10
11
diff --git a/keyboards/planck/keymaps/yale/keymap.c b/keyboards/planck/keymaps/yale/keymap.c
new file mode 100644
index 000000000..f2280778a
--- /dev/null
+++ b/keyboards/planck/keymaps/yale/keymap.c
@@ -0,0 +1,108 @@
1// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
2// this is the style you want to emulate.
3//
4
5#include "planck.h"
6#ifdef BACKLIGHT_ENABLE
7 #include "backlight.h"
8#endif
9
10// Each layer gets a name for readability, which is then used in the keymap matrix below.
11// The underscores don't mean anything - you can have a layer called STUFF or any other name.
12// Layer names don't all need to be of the same length, obviously, and you can also skip them
13// entirely and just use numbers.
14#define _QWERTY 0
15#define _NUM 5
16#define _FUNC 6
17#define _NAV 7
18
19// Fillers to make layering more clear
20#define _______ KC_TRNS
21#define XXXXXXX KC_NO
22
23const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
24
25/* _QWERTY
26 * ,-----------------------------------------------------------------------------------.
27 * | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
28 * |------+------+------+------+------+-------------+------+------+------+------+------|
29 * |Ctrl/Tab| A | S | D | F | G | H | J | K | L | ; | " |
30 * |------+------+------+------+------+------|------+------+------+------+------+------|
31 * | Shift| Z | X | C | V | B | N | M | , | . | / |Shift |
32 * |------+------+------+------+------+------+------+------+------+------+------+------|
33 * | Ctrl | Alt | GUI | GUI | Num | Space | FN | GUI | Alt | Ctrl | Enter|
34 * `-----------------------------------------------------------------------------------'
35 */
36[_QWERTY] = {
37 {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
38 {CTL_T(KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
39 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT},
40 {KC_LCTL, KC_LALT, KC_LGUI, KC_LGUI, MO(_NUM), KC_SPC, KC_SPC, MO(_FUNC), KC_RGUI, KC_RALT, KC_RCTL, KC_ENT}
41},
42
43/* _NUM
44 * ,-----------------------------------------------------------------------------------.
45 * | ___ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | ____ |
46 * |------+------+------+------+------+-------------+------+------+------+------+------|
47 * | Ctrl | ` | [ | { | ( | / | \ | ) | } | ] | - | = |
48 * |------+------+------+------+------+------|------+------+------+------+------+------|
49 * | ____ | ! | @ | # | $ | % | ^ | & | * | _ | + | ____ |
50 * |------+------+------+------+------+------+------+------+------+------+------+------|
51 * | ____ | ___ | ___ | ___ | XXXX | ______ | ____ | ____ | ____ | __ | ____ |
52 * `-----------------------------------------------------------------------------------'
53 */
54[_NUM] = {
55 {_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______},
56 {KC_LCTL, KC_GRV, KC_LBRC, KC_LCBR, KC_LPRN, KC_SLSH, KC_BSLS, KC_RPRN, KC_RCBR, KC_RBRC, KC_MINS, KC_EQL},
57 {_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_UNDS, KC_PLUS, _______},
58 {_______, _______, _______, _______, _______, _______, _______, MO(_NAV), _______, _______, _______, _______}
59},
60
61/* _FUNC
62 * ,-----------------------------------------------------------------------------------.
63 * | ____ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | ____ |
64 * |------+------+------+------+------+-------------+------+------+------+------+------|
65 * | ____ |Shift | Ctrl | Alt | GUI | ____ | Left | Down | Up |Right | Del | ____ |
66 * |------+------+------+------+------+------|------+------+------+------+------+------|
67 * | ____ |Light | ____ | Vol- | Prev | Play | Mute | Next | Vol+ | ____ | ____ | ____ |
68 * |------+------+------+------+------+------+------+------+------+------+------+------|
69 * | ____ | ____ | ____ | ____ | ____ | _____ | XXXX | ____ | ____ | ____ | ____ |
70 * `-----------------------------------------------------------------------------------'
71 */
72[_FUNC] = {
73 {_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______},
74 {_______, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_DEL, _______},
75 {_______, M(0), _______, KC_VOLD, KC_MPRV, KC_MPLY, KC_MUTE, KC_MNXT, KC_VOLU, _______, _______, _______},
76 {_______, _______, _______, _______, MO(_NAV), _______, _______, _______, _______, _______, _______, _______}
77},
78
79[_NAV] = {
80 {KC_MS_ACCEL2, KC_FN1, KC_FN2, KC_FN3, KC_FN4, XXXXXXX, XXXXXXX, KC_WH_D, KC_WH_U, XXXXXXX, XXXXXXX, XXXXXXX},
81 {KC_MS_ACCEL1, KC_MS_BTN4, KC_MS_BTN3, KC_MS_BTN2, KC_MS_BTN1, XXXXXXX, KC_MS_LEFT, KC_MS_DOWN, KC_MS_UP, KC_MS_RIGHT, XXXXXXX, XXXXXXX},
82 {KC_MS_ACCEL0, KC_FN9, KC_FN10, KC_FN11, KC_FN12, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX},
83 {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}
84},
85
86};
87
88const uint16_t PROGMEM fn_actions[] = {
89
90};
91
92const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
93{
94 // MACRODOWN only works in this function
95 switch(id) {
96 case 0:
97 if (record->event.pressed) {
98 register_code(KC_RSFT);
99 #ifdef BACKLIGHT_ENABLE
100 backlight_step();
101 #endif
102 } else {
103 unregister_code(KC_RSFT);
104 }
105 break;
106 }
107 return MACRO_NONE;
108};
diff --git a/keyboards/planck/keymaps/yale/yale_layout_picture.jpg b/keyboards/planck/keymaps/yale/yale_layout_picture.jpg
new file mode 100644
index 000000000..ab9c6b4eb
--- /dev/null
+++ b/keyboards/planck/keymaps/yale/yale_layout_picture.jpg
Binary files differ