aboutsummaryrefslogtreecommitdiff
path: root/keyboards/planck/keymaps
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/planck/keymaps')
-rw-r--r--keyboards/planck/keymaps/callum/keymap.c51
-rw-r--r--keyboards/planck/keymaps/callum/readme.md14
-rw-r--r--keyboards/planck/keymaps/cbbrowne/Makefile4
-rw-r--r--keyboards/planck/keymaps/cbbrowne/keymap.c8
-rw-r--r--keyboards/planck/keymaps/default/keymap.c17
-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/mitch/Makefile5
-rw-r--r--keyboards/planck/keymaps/mitch/config.h2
-rw-r--r--keyboards/planck/keymaps/mitch/keymap.c70
-rw-r--r--keyboards/planck/keymaps/mitch/readme.md26
-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
21 files changed, 1120 insertions, 59 deletions
diff --git a/keyboards/planck/keymaps/callum/keymap.c b/keyboards/planck/keymaps/callum/keymap.c
index 4d0151710..2acd988ea 100644
--- a/keyboards/planck/keymaps/callum/keymap.c
+++ b/keyboards/planck/keymaps/callum/keymap.c
@@ -7,22 +7,19 @@
7 7
8extern keymap_config_t keymap_config; 8extern keymap_config_t keymap_config;
9 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 _BASE 0 10#define _BASE 0
15#define _MOVE 1 11#define _MOVE 1
16#define _SYMB 2 12#define _SYMB 2
17#define _MOUSE 3 13#define _MOUSE 3
18#define _FUNC 4 14#define _FUNC 4
15#define ENDASH LALT(KC_MINS)
16#define POUND LALT(KC_3)
17
19 18
20enum planck_keycodes { 19enum planck_keycodes {
21 MOVE = SAFE_RANGE, 20 MOVE = SAFE_RANGE,
22 SYMB, 21 SYMB,
23 FUNC, 22 FUNC
24 BELOW,
25 ABOVE
26}; 23};
27 24
28// Fillers to make layering more clear 25// Fillers to make layering more clear
@@ -51,20 +48,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
51 48
52/* MOVE 49/* MOVE
53 * ,-----------------------------------------------------------------------------------. 50 * ,-----------------------------------------------------------------------------------.
54 * | Esc | | Cmd-L| Up | Cmd-R| | | Cmd-L| Up | Cmd-R| | Esc | 51 * | Esc | | Home | Up | End | | | Home | Up | End | | Esc |
55 * |------+------+------+------+------+------+------+------+------+------+------+------| 52 * |------+------+------+------+------+------+------+------+------+------+------+------|
56 * | Del | Caps | Left | Down | Right| | | Left | Down | Right| Caps | Del | 53 * | Del | Caps | Left | Down | Right| | | Left | Down | Right| Caps | Del |
57 * |------+------+------+------+------+------+------+------+------+------+------+------| 54 * |------+------+------+------+------+------+------+------+------+------+------+------|
58 * | | | | Pg Up| Pg Dn| Above| | Pg Dn| Pg Up| | | | 55 * | | | | Pg Up| Pg Dn| | | Pg Dn| Pg Up| | | |
59 * |------+------+------+------+------+------+------+------+------+------+------+------| 56 * |------+------+------+------+------+------+------+------+------+------+------+------|
60 * | | | | | | Below| | | | | | | 57 * | | | | | | | | | | | | |
61 * `-----------------------------------------------------------------------------------' 58 * `-----------------------------------------------------------------------------------'
62 */ 59 */
63[_MOVE] = { 60[_MOVE] = {
64 {KC_ESC, XXXXXXX, LGUI(KC_LEFT), KC_UP, LGUI(KC_RGHT), XXXXXXX, XXXXXXX, LGUI(KC_LEFT), KC_UP, LGUI(KC_RGHT), XXXXXXX, KC_ESC }, 61 {KC_ESC, XXXXXXX, KC_HOME, KC_UP, KC_END, XXXXXXX, XXXXXXX, KC_HOME, KC_UP, KC_END, XXXXXXX, KC_ESC },
65 {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 },
66 {_______, XXXXXXX, XXXXXXX, KC_PGUP, KC_PGDN, ABOVE, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, XXXXXXX, _______}, 63 {_______, XXXXXXX, XXXXXXX, KC_PGUP, KC_PGDN, XXXXXXX, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, XXXXXXX, _______},
67 {_______, _______, _______, _______, _______, BELOW, _______, _______, _______, _______, _______, _______} 64 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
68}, 65},
69 66
70/* SYMB 67/* SYMB
@@ -79,8 +76,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
79 * `-----------------------------------------------------------------------------------' 76 * `-----------------------------------------------------------------------------------'
80 */ 77 */
81[_SYMB] = { 78[_SYMB] = {
82 {KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, LALT(KC_MINS)}, 79 {KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, ENDASH },
83 {KC_DEL, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, LALT(KC_3)}, 80 {KC_DEL, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, POUND },
84 {_______, KC_TILD, KC_GRV, KC_PLUS, KC_EQL, KC_PIPE, KC_BSLS, KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, _______}, 81 {_______, KC_TILD, KC_GRV, KC_PLUS, KC_EQL, KC_PIPE, KC_BSLS, KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, _______},
85 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} 82 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
86}, 83},
@@ -153,30 +150,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
153 } 150 }
154 return false; 151 return false;
155 break; 152 break;
156 case BELOW:
157 if (record->event.pressed) {
158 register_code(KC_LGUI);
159 register_code(KC_RGHT);
160 unregister_code(KC_RGHT);
161 unregister_code(KC_LGUI);
162 register_code(KC_ENT);
163 unregister_code(KC_ENT);
164 }
165 return false;
166 break;
167 case ABOVE:
168 if (record->event.pressed) {
169 register_code(KC_LGUI);
170 register_code(KC_LEFT);
171 unregister_code(KC_LEFT);
172 unregister_code(KC_LGUI);
173 register_code(KC_ENT);
174 unregister_code(KC_ENT);
175 register_code(KC_UP);
176 unregister_code(KC_UP);
177 }
178 return false;
179 break;
180 } 153 }
181 return true; 154 return true;
182} 155}
diff --git a/keyboards/planck/keymaps/callum/readme.md b/keyboards/planck/keymaps/callum/readme.md
index 0baeba46d..71e200b9d 100644
--- a/keyboards/planck/keymaps/callum/readme.md
+++ b/keyboards/planck/keymaps/callum/readme.md
@@ -2,11 +2,11 @@
2 2
3This is a layout for the grid planck, built with a few ideals in mind: 3This is a layout for the grid planck, built with a few ideals in mind:
4 4
5- Minimal response times should be maintained. Keys that react differently depending on whether they are tapped or held, keys that react differently if they are double tapped, etc. should be avoided – they inevitably send their keycode later than a normal key – interrupting the immediate feedback from the screen. Therefore we restrict ourselves to chording as our only means of getting more than one symbol out of a single physical key. 5- Consistent and minimal response times should be maintained. Keys that react differently depending on whether they are tapped or held, keys that react differently if they are double tapped, etc. should be avoided – they inevitably send their keycode later than a normal key – interrupting the immediate feedback from the screen. Therefore we restrict ourselves to chording as our only means of getting more than one symbol out of a single physical key.
6- The hands should never need to leave the home position. The usual culprit for this is the arrow cluster, so the arrow cluster should be as close to home as possible. 6- The hands should never need to leave the home position. The usual culprit for this is the arrow cluster, so the arrow cluster should be as close to home as possible.
7- There should be two of every modifier (one on each side), otherwise certain long key combinations become hard to make. 7- There should be two of every modifier (one on each side), otherwise certain long key combinations become hard to make.
8 8
9We have five layers. A `BASE` layer, in colemak; a `MOVE` layer, with an arrow cluster and other movement keys; a `SYMB` layer, with numbers and symbols; a `FUNC` layer, with function keys and media keys; and a `MOUSE` layer, with mouse emulation. 9We have five layers. A `BASE` layer, in colemak; a `MOVE` layer, with an arrow cluster and other movement keys; a `SYMB` layer, with numbers and symbols; a `FUNC` layer, with function keys and media keys; and a `MOUSE` layer, with mouse emulation. The `MOUSE` layer is activated by holding the Move and Symb keys simultaniously.
10 10
11``` 11```
12/* BASE 12/* BASE
@@ -23,13 +23,13 @@ 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 * |------+------+------+------+------+------+------+------+------+------+------+------|
30 * | | | | Pg Up| Pg Dn| Above| | Pg Dn| Pg Up| | | | 30 * | | | | Pg Up| Pg Dn| | | Pg Dn| Pg Up| | | |
31 * |------+------+------+------+------+------+------+------+------+------+------+------| 31 * |------+------+------+------+------+------+------+------+------+------+------+------|
32 * | | | | | | Below| | | | | | | 32 * | | | | | | | | | | | | |
33 * `-----------------------------------------------------------------------------------' 33 * `-----------------------------------------------------------------------------------'
34 */ 34 */
35 35
@@ -63,9 +63,9 @@ We have five layers. A `BASE` layer, in colemak; a `MOVE` layer, with an arrow c
63 * |------+------+------+------+------+------+------+------+------+------+------+------| 63 * |------+------+------+------+------+------+------+------+------+------+------+------|
64 * | | F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | Vol- | 64 * | | F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | Vol- |
65 * |------+------+------+------+------+------+------+------+------+------+------+------| 65 * |------+------+------+------+------+------+------+------+------+------+------+------|
66 * | | F21 | F22 | F23 | F24 | | | Lock | | | | | 66 * | | F21 | F22 | F23 | F24 | | | Power| | | | |
67 * |------+------+------+------+------+------+------+------+------+------+------+------| 67 * |------+------+------+------+------+------+------+------+------+------+------+------|
68 * | | | | | Prev | Mute | Play | Next | | | | | 68 * | | | | | Prev | Mute | Play | Next | | | | |
69 * `-----------------------------------------------------------------------------------' 69 * `-----------------------------------------------------------------------------------'
70 */ 70 */
71``` 71 ```
diff --git a/keyboards/planck/keymaps/cbbrowne/Makefile b/keyboards/planck/keymaps/cbbrowne/Makefile
index b1c70ace7..19e5c2a84 100644
--- a/keyboards/planck/keymaps/cbbrowne/Makefile
+++ b/keyboards/planck/keymaps/cbbrowne/Makefile
@@ -12,11 +12,11 @@ COMMAND_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 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 13BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
14MIDI_ENABLE = no # MIDI controls 14MIDI_ENABLE = no # MIDI controls
15AUDIO_ENABLE = yes # Audio output on port C6 15AUDIO_ENABLE = no # Audio output on port C6
16UNICODE_ENABLE = no # Unicode 16UNICODE_ENABLE = no # Unicode
17BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID 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. 18RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
19API_SYSEX_ENABLE = yes # Enable SYSEX API (+5390) 19API_SYSEX_ENABLE = no # Enable SYSEX API (+5390)
20 20
21# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 21# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
22SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 22SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/planck/keymaps/cbbrowne/keymap.c b/keyboards/planck/keymaps/cbbrowne/keymap.c
index 2be4dab4b..0448a8d11 100644
--- a/keyboards/planck/keymaps/cbbrowne/keymap.c
+++ b/keyboards/planck/keymaps/cbbrowne/keymap.c
@@ -110,15 +110,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
110}, 110},
111[_RAISE] = { /* RAISE */ 111[_RAISE] = { /* RAISE */
112 {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, 112 {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
113 {_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, 113 {_______, KC_4, KC_5, KC_6, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
114 {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QWERTY, KEYPAD, KEYPAD, ALTSLASH,_______}, 114 {_______, KC_7, KC_8, KC_9, _______, _______, _______, QWERTY, KEYPAD, KEYPAD, ALTSLASH,_______},
115 {_______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_VOLD, KC_VOLU, KC_PGUP} 115 {_______, KC_0, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_HOME, KC_END, KC_PGUP}
116}, 116},
117[_LOWER] = { /* LOWER */ 117[_LOWER] = { /* LOWER */
118 {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC}, 118 {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
119 {_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE}, 119 {_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
120 {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QWERTY, KEYPAD, KEYPAD, ALTSLASH, _______}, 120 {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QWERTY, KEYPAD, KEYPAD, ALTSLASH, _______},
121 {_______, KEYPAD, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_VOLD, KC_VOLU, KC_PGUP} 121 {_______, KEYPAD, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_HOME, KC_END, KC_PGUP}
122 }, 122 },
123[_KEYPAD] = { /* Key Pad */ 123[_KEYPAD] = { /* Key Pad */
124 {KC_ESC, USERNAME, MVERSION, KC_F10, KC_F11, KC_F12, KC_PGUP, KC_KP_ENTER, KC_7, KC_8, KC_9, KC_BSPC}, 124 {KC_ESC, USERNAME, MVERSION, KC_F10, KC_F11, KC_F12, KC_PGUP, KC_KP_ENTER, KC_7, KC_8, KC_9, KC_BSPC},
diff --git a/keyboards/planck/keymaps/default/keymap.c b/keyboards/planck/keymaps/default/keymap.c
index ddbe4d7b2..1b1b998b2 100644
--- a/keyboards/planck/keymaps/default/keymap.c
+++ b/keyboards/planck/keymaps/default/keymap.c
@@ -14,13 +14,16 @@ extern keymap_config_t keymap_config;
14// The underscores don't mean anything - you can have a layer called STUFF or any other name. 14// The underscores don't mean anything - you can have a layer called STUFF or any other name.
15// Layer names don't all need to be of the same length, obviously, and you can also skip them 15// Layer names don't all need to be of the same length, obviously, and you can also skip them
16// entirely and just use numbers. 16// entirely and just use numbers.
17#define _QWERTY 0 17
18#define _COLEMAK 1 18enum planck_layers {
19#define _DVORAK 2 19 _QWERTY,
20#define _LOWER 3 20 _COLEMAK,
21#define _RAISE 4 21 _DVORAK,
22#define _PLOVER 5 22 _LOWER,
23#define _ADJUST 16 23 _RAISE,
24 _PLOVER,
25 _ADJUST
26};
24 27
25enum planck_keycodes { 28enum planck_keycodes {
26 QWERTY = SAFE_RANGE, 29 QWERTY = SAFE_RANGE,
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/mitch/Makefile b/keyboards/planck/keymaps/mitch/Makefile
new file mode 100644
index 000000000..7955003d4
--- /dev/null
+++ b/keyboards/planck/keymaps/mitch/Makefile
@@ -0,0 +1,5 @@
1SUBPROJECT = rev3
2
3ifndef QUANTUM_DIR
4 include ../../../../Makefile
5endif
diff --git a/keyboards/planck/keymaps/mitch/config.h b/keyboards/planck/keymaps/mitch/config.h
new file mode 100644
index 000000000..73bc50bc2
--- /dev/null
+++ b/keyboards/planck/keymaps/mitch/config.h
@@ -0,0 +1,2 @@
1#include "../../config.h"
2#define PREVENT_STUCK_MODIFIERS
diff --git a/keyboards/planck/keymaps/mitch/keymap.c b/keyboards/planck/keymaps/mitch/keymap.c
new file mode 100644
index 000000000..79b5204f0
--- /dev/null
+++ b/keyboards/planck/keymaps/mitch/keymap.c
@@ -0,0 +1,70 @@
1#include "keymap.h"
2#include "quantum.h"
3
4#define QWERTY 0
5#define LOWER 1
6#define RAISE 2
7
8// Alias to make layering more clear
9#define _______ KC_TRNS
10
11// In MacOS, switch between windows within an application
12#define GUI_GRV LGUI(KC_GRV)
13
14const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
15
16/* Qwerty
17 * ,-----------------------------------------------------------------------------------.
18 * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
19 * |------+------+------+------+------+-------------+------+------+------+------+------|
20 * | Ctl | A | S | D | F | G | H | J | K | L | ; | " |
21 * |------+------+------+------+------+------|------+------+------+------+------+------|
22 * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
23 * |------+------+------+------+------+------+------+------+------+------+------+------|
24 * | Esc | Del | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
25 * `-----------------------------------------------------------------------------------'
26 */
27[QWERTY] = {
28 {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
29 {KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
30 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MT(MOD_RSFT, KC_ENT) },
31 {KC_ESC, KC_DEL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
32},
33
34/* Lower
35 * ,-----------------------------------------------------------------------------------.
36 * | GUIGR| | | | | | | & | * | ( | ) | Del |
37 * |------+------+------+------+------+-------------+------+------+------+------+------|
38 * | Caps | | Mute | Vol- | Vol+ | | Bksp | $ | % | ^ | | | | |
39 * |------+------+------+------+------+------|------+------+------+------+------+------|
40 * | | | | | | | | ! | @ | # | \ |Enter |
41 * |------+------+------+------+------+------+------+------+------+------+------+------|
42 * | | | | | | Enter | | | PgUp | PgUn | |
43 * `-----------------------------------------------------------------------------------'
44 */
45[LOWER] = {
46 {GUI_GRV, _______, _______, _______, _______, _______, _______, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL},
47 {KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_BSPC, KC_DLR, KC_PERC, KC_CIRC, KC_PIPE, KC_PIPE},
48 {_______, _______, _______, _______, _______, _______, _______, KC_EXLM, KC_AT, KC_HASH, KC_BSLS, KC_ENT},
49 {_______, _______, _______, _______, _______, KC_ENT, KC_ENT, _______, _______, KC_PGDN, KC_PGUP, _______}
50},
51
52/* Raise
53 * ,-----------------------------------------------------------------------------------.
54 * | ` | ` | ~ | ( | ) | | | 7 | 8 | 9 | 0 | |
55 * |------+------+------+------+------+-------------+------+------+------+------+------|
56 * | | [ | ] | { | } | | | 4 | 5 | 6 | | \ |
57 * |------+------+------+------+------+------|------+------+------+------+------+------|
58 * | | - | _ | = | + | | | 1 | 2 | 3 | |Enter |
59 * |------+------+------+------+------+------+------+------+------+------+------+------|
60 * | | | | | | Enter | | | | | |
61 * `-----------------------------------------------------------------------------------'
62 */
63
64[RAISE] = {
65 {KC_GRV, KC_GRV, KC_TILD, KC_LPRN, KC_RPRN, _______, _______, KC_7, KC_8, KC_9, KC_0, _______},
66 {_______, KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, _______, _______, KC_4, KC_5, KC_6, _______, KC_BSLS},
67 {_______, KC_MINS, KC_UNDS, KC_EQL, KC_PLUS, _______, _______, KC_1, KC_2, KC_3, _______, KC_ENT},
68 {_______, _______, _______, _______, _______, KC_ENT, KC_ENT, _______, _______, KC_PGDN, KC_PGUP, _______}
69}
70};
diff --git a/keyboards/planck/keymaps/mitch/readme.md b/keyboards/planck/keymaps/mitch/readme.md
new file mode 100644
index 000000000..3869304f4
--- /dev/null
+++ b/keyboards/planck/keymaps/mitch/readme.md
@@ -0,0 +1,26 @@
1## Flashing Keyboard
2
31. Install `dfu` tools:
4
5 brew tap osx-cross/avr
6 brew install avr-libc
7 brew install dfu-programmer
8
92. Move to this directory.
103. Hit the reset button on the keyboard.
114. run `make dfu`.
12
13## The Keymap
14
15This keymap is designed for a rev3 Planck Keyboard.
16
17The default layer is QWERTY. The raise layer has a ten key on the right
18and common programming punctuation on the left. The lower layer provides the
19rest of the symbols, mostly mapped with the ten key numbers.
20
21The normal right shift key uses the `MT` macro to trigger Enter on tap and right
22shift when held.
23
24This keymap sets the `PREVENT_STUCK_MODIFIERS` flag to avoid the occasional WTF
25moments when using a modifier keys and accidentally releasing them after moving
26to a new layer.
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