aboutsummaryrefslogtreecommitdiffstats
path: root/keyboards/planck
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/planck')
-rw-r--r--keyboards/planck/ez/ez.c186
-rw-r--r--keyboards/planck/ez/rules.mk38
-rw-r--r--keyboards/planck/keymaps/callum/config.h8
-rw-r--r--keyboards/planck/keymaps/callum/keymap.c262
-rw-r--r--keyboards/planck/keymaps/callum/rules.mk1
-rw-r--r--keyboards/planck/keymaps/motform/config.h39
-rw-r--r--keyboards/planck/keymaps/motform/keymap.c211
-rw-r--r--keyboards/planck/keymaps/motform/readme.md11
-rw-r--r--keyboards/planck/keymaps/motform/rules.mk1
-rw-r--r--keyboards/planck/keymaps/priyadi/config.h22
-rw-r--r--keyboards/planck/keymaps/priyadi/rules.mk11
-rw-r--r--keyboards/planck/keymaps/roguepullrequest/keymap.c8
-rw-r--r--keyboards/planck/keymaps/roguepullrequest/readme.md13
-rw-r--r--keyboards/planck/keymaps/tom/keymap.c11
-rw-r--r--keyboards/planck/light/light.c87
-rw-r--r--keyboards/planck/light/rules.mk35
-rw-r--r--keyboards/planck/readme.md7
-rw-r--r--keyboards/planck/rev1/rules.mk30
-rw-r--r--keyboards/planck/rev2/rules.mk30
-rw-r--r--keyboards/planck/rev3/rules.mk36
-rw-r--r--keyboards/planck/rev4/rules.mk34
-rw-r--r--keyboards/planck/rev5/rules.mk34
-rw-r--r--keyboards/planck/rev6/rules.mk35
-rw-r--r--keyboards/planck/rules.mk46
24 files changed, 784 insertions, 412 deletions
diff --git a/keyboards/planck/ez/ez.c b/keyboards/planck/ez/ez.c
index b859af6c1..3ad694c4a 100644
--- a/keyboards/planck/ez/ez.c
+++ b/keyboards/planck/ez/ez.c
@@ -22,120 +22,84 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
* | | G location
* | | | B location
* | | | | */
- {0, A_12, B_12, C_12},
- {0, A_11, B_11, C_11},
- {0, A_10, B_10, C_10},
- {0, A_9, B_9, C_9},
- {0, A_8, B_8, C_8},
- {0, A_7, B_7, C_7},
-
- {0, G_12, H_12, I_12},
- {0, G_11, H_11, I_11},
- {0, G_10, H_10, I_10},
- {0, G_9, H_9, I_9},
- {0, G_8, H_8, I_8},
- {0, G_7, H_7, I_7},
-
- {0, A_6, B_6, C_6},
- {0, A_5, B_5, C_5},
- {0, A_4, B_4, C_4},
- {0, A_3, B_3, C_3},
- {0, A_2, B_2, C_2},
- {0, A_1, B_1, C_1},
-
- {0, G_6, H_6, I_6},
- {0, G_5, H_5, I_5},
- {0, G_4, H_4, I_4},
- {0, G_3, H_3, I_3},
- {0, G_2, H_2, I_2},
- {0, G_1, H_1, I_1},
-
- {0, D_12, E_12, F_12},
- {0, D_11, E_11, F_11},
- {0, D_10, E_10, F_10},
- {0, D_9, E_9, F_9},
- {0, D_8, E_8, F_8},
- {0, D_7, E_7, F_7},
-
- {0, J_12, K_12, L_12},
- {0, J_11, K_11, L_11},
- {0, J_10, K_10, L_10},
- {0, J_9, K_9, L_9},
- {0, J_8, K_8, L_8},
- {0, J_7, K_7, L_7},
-
- {0, D_6, E_6, F_6},
- {0, D_5, E_5, F_5},
- {0, D_4, E_4, F_4},
- {0, D_3, E_3, F_3},
- {0, D_2, E_2, F_2},
- {0, D_1, E_1, F_1},
-
- {0, J_6, K_6, L_6},
- {0, J_5, K_5, L_5},
- {0, J_4, K_4, L_4},
- {0, J_3, K_3, L_3},
- {0, J_2, K_2, L_2},
+ {0, B_12, A_12, C_12},
+ {0, B_11, A_11, C_11},
+ {0, B_10, A_10, C_10},
+ {0, B_9, A_9, C_9},
+ {0, B_8, A_8, C_8},
+ {0, B_7, A_7, C_7},
+
+ {0, H_12, G_12, I_12},
+ {0, H_11, G_11, I_11},
+ {0, H_10, G_10, I_10},
+ {0, H_9, G_9, I_9},
+ {0, H_8, G_8, I_8},
+ {0, H_7, G_7, I_7},
+
+ {0, B_6, A_6, C_6},
+ {0, B_5, A_5, C_5},
+ {0, B_4, A_4, C_4},
+ {0, B_3, A_3, C_3},
+ {0, B_2, A_2, C_2},
+ {0, B_1, A_1, C_1},
+
+ {0, H_6, G_6, I_6},
+ {0, H_5, G_5, I_5},
+ {0, H_4, G_4, I_4},
+ {0, H_3, G_3, I_3},
+ {0, H_2, G_2, I_2},
+ {0, H_1, G_1, I_1},
+
+ {0, E_12, D_12, F_12},
+ {0, E_11, D_11, F_11},
+ {0, E_10, D_10, F_10},
+ {0, E_9, D_9, F_9},
+ {0, E_8, D_8, F_8},
+ {0, E_7, D_7, F_7},
+
+ {0, K_12, J_12, L_12},
+ {0, K_11, J_11, L_11},
+ {0, K_10, J_10, L_10},
+ {0, K_9, J_9, L_9},
+ {0, K_8, J_8, L_8},
+ {0, K_7, J_7, L_7},
+
+ {0, E_6, D_6, F_6},
+ {0, E_5, D_5, F_5},
+ {0, E_4, D_4, F_4},
+ {0, E_3, D_3, F_3},
+ {0, E_2, D_2, F_2},
+ {0, E_1, D_1, F_1},
+
+ {0, K_6, J_6, L_6},
+ {0, K_5, J_5, L_5},
+ {0, K_4, J_4, L_4},
+ {0, K_3, J_3, L_3},
+ {0, K_2, J_2, L_2},
};
-const rgb_led g_rgb_leds[DRIVER_LED_TOTAL] = {
-
- /*{row | col << 4}
- | {x=0..224, y=0..64}
- | | modifier
- | | | */
- {{0|(0<<4)}, {20.36*0, 21.33*0}, 1},
- {{0|(1<<4)}, {20.36*1, 21.33*0}, 0},
- {{0|(2<<4)}, {20.36*2, 21.33*0}, 0},
- {{0|(3<<4)}, {20.36*3, 21.33*0}, 0},
- {{0|(4<<4)}, {20.36*4, 21.33*0}, 0},
- {{0|(5<<4)}, {20.36*5, 21.33*0}, 0},
- {{4|(0<<4)}, {20.36*6, 21.33*0}, 0},
- {{4|(1<<4)}, {20.36*7, 21.33*0}, 0},
- {{4|(2<<4)}, {20.36*8, 21.33*0}, 0},
- {{4|(3<<4)}, {20.36*9, 21.33*0}, 0},
- {{4|(4<<4)}, {20.36*10,21.33*0}, 0},
- {{4|(5<<4)}, {20.36*11,21.33*0}, 1},
-
- {{1|(0<<4)}, {20.36*0, 21.33*1}, 1},
- {{1|(1<<4)}, {20.36*1, 21.33*1}, 0},
- {{1|(2<<4)}, {20.36*2, 21.33*1}, 0},
- {{1|(3<<4)}, {20.36*3, 21.33*1}, 0},
- {{1|(4<<4)}, {20.36*4, 21.33*1}, 0},
- {{1|(5<<4)}, {20.36*5, 21.33*1}, 0},
- {{5|(0<<4)}, {20.36*6, 21.33*1}, 0},
- {{5|(1<<4)}, {20.36*7, 21.33*1}, 0},
- {{5|(2<<4)}, {20.36*8, 21.33*1}, 0},
- {{5|(3<<4)}, {20.36*9, 21.33*1}, 0},
- {{5|(4<<4)}, {20.36*10,21.33*1}, 0},
- {{5|(5<<4)}, {20.36*11,21.33*1}, 1},
-
- {{2|(0<<4)}, {20.36*0, 21.33*2}, 1},
- {{2|(1<<4)}, {20.36*1, 21.33*2}, 0},
- {{2|(2<<4)}, {20.36*2, 21.33*2}, 0},
- {{2|(3<<4)}, {20.36*3, 21.33*2}, 0},
- {{2|(4<<4)}, {20.36*4, 21.33*2}, 0},
- {{2|(5<<4)}, {20.36*5, 21.33*2}, 0},
- {{6|(0<<4)}, {20.36*6, 21.33*2}, 0},
- {{6|(1<<4)}, {20.36*7, 21.33*2}, 0},
- {{6|(2<<4)}, {20.36*8, 21.33*2}, 0},
- {{6|(3<<4)}, {20.36*9, 21.33*2}, 0},
- {{6|(4<<4)}, {20.36*10,21.33*2}, 0},
- {{6|(5<<4)}, {20.36*11,21.33*2}, 1},
-
- {{3|(0<<4)}, {20.36*0, 21.33*3}, 1},
- {{3|(1<<4)}, {20.36*1, 21.33*3}, 1},
- {{3|(2<<4)}, {20.36*2, 21.33*3}, 1},
- {{7|(3<<4)}, {20.36*3, 21.33*3}, 1},
- {{7|(4<<4)}, {20.36*4, 21.33*3}, 1},
- {{7|(5<<4)}, {20.36*5.5,21.33*3}, 0},
- {{7|(0<<4)}, {20.36*7, 21.33*3}, 1},
- {{7|(1<<4)}, {20.36*8, 21.33*3}, 1},
- {{7|(2<<4)}, {20.36*9, 21.33*3}, 1},
- {{3|(3<<4)}, {20.36*10,21.33*3}, 1},
- {{3|(4<<4)}, {20.36*11,21.33*3}, 1}
-};
+led_config_t g_led_config = { {
+ { 0, 1, 2, 3, 4, 5 },
+ { 12, 13, 14, 15, 16, 17 },
+ { 24, 25, 26, 27, 28, 29 },
+ { 36, 37, 38, 45, 46, NO_LED },
+ { 6, 7, 8, 9, 10, 11 },
+ { 18, 19, 20, 21, 22, 23 },
+ { 30, 31, 32, 33, 34, 35 },
+ { 42, 43, 44, 39, 40, 41 }
+}, {
+ { 0, 0 }, { 20, 0 }, { 40, 0 }, { 61, 0 }, { 81, 0 }, { 101, 0 }, { 122, 0 }, { 142, 0 }, { 162, 0 }, { 183, 0 }, { 203, 0 }, { 223, 0 },
+ { 0, 21 }, { 20, 21 }, { 40, 21 }, { 61, 21 }, { 81, 21 }, { 101, 21 }, { 122, 21 }, { 142, 21 }, { 162, 21 }, { 183, 21 }, { 203, 21 }, { 223, 21 },
+ { 0, 42 }, { 20, 42 }, { 40, 42 }, { 61, 42 }, { 81, 42 }, { 101, 42 }, { 122, 42 }, { 142, 42 }, { 162, 42 }, { 183, 42 }, { 203, 42 }, { 223, 42 },
+ { 0, 63 }, { 20, 63 }, { 40, 63 }, { 61, 63 }, { 81, 63 }, { 111, 63 }, { 142, 63 }, { 162, 63 }, { 183, 63 }, { 203, 63 }, { 223, 63 }
+}, {
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
+ 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1
+} };
+
void matrix_init_kb(void) {
matrix_init_user();
diff --git a/keyboards/planck/ez/rules.mk b/keyboards/planck/ez/rules.mk
index c6fb52d2b..4aa431fda 100644
--- a/keyboards/planck/ez/rules.mk
+++ b/keyboards/planck/ez/rules.mk
@@ -1,24 +1,36 @@
-# project specific files
-LAYOUTS += ortho_4x12
-
# Cortex version
MCU = STM32F303
+# Interrupt driven control endpoint task(+60)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
# Build Options
-# comment out to disable the options.
+# change to "no" to disable the options, or define them in the Makefile in
+# the appropriate keymap folder that will get included automatically
#
-BACKLIGHT_ENABLE = no
-BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
+BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
## (Note that for BOOTMAGIC on Teensy LC you have to use a custom .ld script.)
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = yes # Console for debug(+400)
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+MIDI_ENABLE = no # MIDI controls
+AUDIO_ENABLE = yes # Audio output on port C6
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
+API_SYSEX_ENABLE = no
+
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes # USB Nkey Rollover
+
CUSTOM_MATRIX = no # Custom matrix file
-AUDIO_ENABLE = yes
-RGBLIGHT_ENABLE = no
# SERIAL_LINK_ENABLE = yes
ENCODER_ENABLE = yes
RGB_MATRIX_ENABLE = IS31FL3737
+
+LAYOUTS = ortho_4x12 planck_mit
+LAYOUTS_HAS_RGB = no
diff --git a/keyboards/planck/keymaps/callum/config.h b/keyboards/planck/keymaps/callum/config.h
index 49f61dee5..e66db1d7e 100644
--- a/keyboards/planck/keymaps/callum/config.h
+++ b/keyboards/planck/keymaps/callum/config.h
@@ -1,7 +1,7 @@
#define MOUSEKEY_DELAY 0
#define MOUSEKEY_INTERVAL 16
-#define MOUSEKEY_MAX_SPEED 10
-#define MOUSEKEY_TIME_TO_MAX 60
+#define MOUSEKEY_MAX_SPEED 20
+#define MOUSEKEY_TIME_TO_MAX 100
#define MOUSEKEY_WHEEL_DELAY 0
-#define MOUSEKEY_WHEEL_MAX_SPEED 8
-#define MOUSEKEY_WHEEL_TIME_TO_MAX 60
+#define MOUSEKEY_WHEEL_MAX_SPEED 1
+#define MOUSEKEY_WHEEL_TIME_TO_MAX 100
diff --git a/keyboards/planck/keymaps/callum/keymap.c b/keyboards/planck/keymaps/callum/keymap.c
index 02456aa7d..08d0c69b8 100644
--- a/keyboards/planck/keymaps/callum/keymap.c
+++ b/keyboards/planck/keymaps/callum/keymap.c
@@ -1,4 +1,3 @@
-#pragma message "You may need to add LAYOUT_planck_grid to your keymap layers - see default for an example"
#include "planck.h"
#include "action_layer.h"
@@ -38,28 +37,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |Func |Ctrl | Alt |Super|Symb |Enter|Space|Move |Super| Alt |Ctrl |Func |
* `-----------------------------------------------------------------------'
*/
- [_COLEMAK] = {
- {
- KC_TAB, KC_Q, KC_W, KC_F,
- KC_P, KC_G, KC_J, KC_L,
- KC_U, KC_Y, KC_SCLN, KC_MINS
- },
- {
- KC_BSPC, KC_A, KC_R, KC_S,
- KC_T, KC_D, KC_H, KC_N,
- KC_E, KC_I, KC_O, KC_QUOT
- },
- {
- KC_LSFT, KC_Z, KC_X, KC_C,
- KC_V, KC_B, KC_K, KC_M,
- KC_COMM, KC_DOT, KC_SLSH, KC_RSFT
- },
- {
- FUNC, KC_LCTL, KC_LALT, KC_LGUI,
- SYMB, KC_ENT, KC_SPC, MOVE,
- KC_RGUI, KC_RALT, KC_RCTL, FUNC
- }
- },
+ [_COLEMAK] = LAYOUT_planck_grid(
+ KC_TAB, KC_Q, KC_W, KC_F,
+ KC_P, KC_G, KC_J, KC_L,
+ KC_U, KC_Y, KC_SCLN, KC_MINS,
+
+ KC_BSPC, KC_A, KC_R, KC_S,
+ KC_T, KC_D, KC_H, KC_N,
+ KC_E, KC_I, KC_O, KC_QUOT,
+
+ KC_LSFT, KC_Z, KC_X, KC_C,
+ KC_V, KC_B, KC_K, KC_M,
+ KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+
+ FUNC, KC_LCTL, KC_LALT, KC_LGUI,
+ SYMB, KC_ENT, KC_SPC, MOVE,
+ KC_RGUI, KC_RALT, KC_RCTL, FUNC
+ ),
/* QWERTY
* ,-----------------------------------------------------------------------.
@@ -72,96 +66,81 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |Func |Ctrl | Alt |Super|Symb |Enter|Space|Move |Super| Alt |Ctrl |Func |
* `-----------------------------------------------------------------------'
*/
- [_QWERTY] = {
- {
- KC_TAB, KC_Q, KC_W, KC_E,
- KC_R, KC_T, KC_Y, KC_U,
- KC_I, KC_O, KC_P, KC_MINS
- },
- {
- KC_BSPC, KC_A, KC_S, KC_D,
- KC_F, KC_G, KC_H, KC_J,
- KC_K, KC_L, KC_SCLN, KC_QUOT
- },
- {
- KC_LSFT, KC_Z, KC_X, KC_C,
- KC_V, KC_B, KC_N, KC_M,
- KC_COMM, KC_DOT, KC_SLSH, KC_RSFT
- },
- {
- FUNC, KC_LCTL, KC_LALT, KC_LGUI,
- SYMB, KC_ENT, KC_SPC, MOVE,
- KC_RGUI, KC_RALT, KC_RCTL, FUNC
- }
- },
+ [_QWERTY] = LAYOUT_planck_grid(
+ KC_TAB, KC_Q, KC_W, KC_E,
+ KC_R, KC_T, KC_Y, KC_U,
+ KC_I, KC_O, KC_P, KC_MINS,
+
+ KC_BSPC, KC_A, KC_S, KC_D,
+ KC_F, KC_G, KC_H, KC_J,
+ KC_K, KC_L, KC_SCLN, KC_QUOT,
+
+ KC_LSFT, KC_Z, KC_X, KC_C,
+ KC_V, KC_B, KC_N, KC_M,
+ KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+
+ FUNC, KC_LCTL, KC_LALT, KC_LGUI,
+ SYMB, KC_ENT, KC_SPC, MOVE,
+ KC_RGUI, KC_RALT, KC_RCTL, FUNC
+ ),
/* SYMB
* ,-----------------------------------------------------------------------.
- * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
+ * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 |ndash|
* |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * | Del | ! | @ | # | $ | % | ^ | & | * | ( | ) | |
+ * | Del | ! | @ | # | $ | % | ^ | & | * | ( | ) | £ |
* |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
* | | ~ | ` | + | = | | | \ | [ | ] | { | } | |
* |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * | | | | | | | |Mouse| | | | |
+ * | | | | | | | | | | | | |
* `-----------------------------------------------------------------------'
*/
- [_SYMB] = {
- {
- KC_ESC, KC_1, KC_2, KC_3,
- KC_4, KC_5, KC_6, KC_7,
- KC_8, KC_9, KC_0, _______
- },
- {
- KC_DEL, KC_EXLM, KC_AT, KC_HASH,
- KC_DLR, KC_PERC, KC_CIRC, KC_AMPR,
- KC_ASTR, KC_LPRN, KC_RPRN, _______
- },
- {
- _______, KC_TILD, KC_GRV, KC_PLUS,
- KC_EQL, KC_PIPE, KC_BSLS, KC_LBRC,
- KC_RBRC, KC_LCBR, KC_RCBR, _______
- },
- {
- _______, _______, _______, _______,
- _______, _______, _______, MOUSE,
- _______, _______, _______, _______
- }
- },
+ [_SYMB] = LAYOUT_planck_grid(
+ KC_ESC, KC_1, KC_2, KC_3,
+ KC_4, KC_5, KC_6, KC_7,
+ KC_8, KC_9, KC_0, A(KC_MINS),
+
+ KC_DEL, KC_EXLM, KC_AT, KC_HASH,
+ KC_DLR, KC_PERC, KC_CIRC, KC_AMPR,
+ KC_ASTR, KC_LPRN, KC_RPRN, A(KC_3),
+
+ _______, KC_TILD, KC_GRV, KC_PLUS,
+ KC_EQL, KC_PIPE, KC_BSLS, KC_LBRC,
+ KC_RBRC, KC_LCBR, KC_RCBR, _______,
+
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
/* MOVE
* ,-----------------------------------------------------------------------.
- * | | | | | | |CtrUp|Home | Up | End |Caps | Esc |
+ * | | | | | | |CtrUp|Home | Up | End |Caps |Mouse|
* |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * | | | | | | |SpaL |Left |Down |Right|SpaR | Del |
+ * | | | | | | |CtrL |Left |Down |Right|CtrR | |
* |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
* | | | | | | |CtrDn|PgDn |PgUp |TabL |TabR | |
* |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * | | | | |Mouse| | | | | | | |
+ * | | | | | | | | | | | | |
* `-----------------------------------------------------------------------'
*/
- [_MOVE] = {
- {
- AC(KC_A), AC(KC_B), AC(KC_C), AC(KC_D),
- AC(KC_E), AC(KC_F), C(KC_UP), KC_HOME,
- KC_UP, KC_END, KC_CAPS, KC_ESC
- },
- {
- AC(KC_G), AC(KC_H), AC(KC_I), AC(KC_J),
- AC(KC_K), AC(KC_L), C(KC_LEFT), KC_LEFT,
- KC_DOWN, KC_RGHT, C(KC_RIGHT), KC_DEL
- },
- {
- _______, AC(KC_M), AC(KC_N), AC(KC_O),
- AC(KC_P), AC(KC_Q), C(KC_DOWN), KC_PGDN,
- KC_PGUP, SC(KC_TAB), C(KC_TAB), _______
- },
- {
- _______, _______, _______, _______,
- MOUSE, _______, _______, _______,
- _______, _______, _______, _______
- }
- },
+ [_MOVE] = LAYOUT_planck_grid(
+ AC(KC_A), AC(KC_B), AC(KC_C), AC(KC_D),
+ AC(KC_E), AC(KC_F), C(KC_UP), KC_HOME,
+ KC_UP, KC_END, KC_CAPS, MOUSE,
+
+ AC(KC_G), AC(KC_H), AC(KC_I), AC(KC_J),
+ AC(KC_K), AC(KC_L), C(KC_LEFT), KC_LEFT,
+ KC_DOWN, KC_RGHT, C(KC_RIGHT), XXXXXXX,
+
+ _______, AC(KC_M), AC(KC_N), AC(KC_O),
+ AC(KC_P), AC(KC_Q), C(KC_DOWN), KC_PGDN,
+ KC_PGUP, SC(KC_TAB), C(KC_TAB), _______,
+
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
/* FUNC
* ,-----------------------------------------------------------------------.
@@ -169,67 +148,57 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
* |Power| F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 |VolDn|
* |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * | | |Home |TabL |TabR |End | | | |Clmak|Qwrty| |
+ * | | | | | | | | | |Clmak|Qwrty| |
* |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
* | | | | |Prev |Mute |Play |Next | | | | |
* `-----------------------------------------------------------------------'
*/
- [_FUNC] = {
- {
- RESET, KC_F1, KC_F2, KC_F3,
- KC_F4, KC_F5, KC_F6, KC_F7,
- KC_F8, KC_F9, KC_F10, KC_VOLU
- },
- {
- KC_POWER, KC_F11, KC_F12, KC_F13,
- KC_F14, KC_F15, KC_F16, KC_F17,
- KC_F18, KC_F19, KC_F20, KC_VOLD
- },
- {
- _______, XXXXXXX, KC_HOME, SC(KC_TAB),
- C(KC_TAB), KC_END, XXXXXXX, XXXXXXX,
- XXXXXXX, COLEMAK, QWERTY, _______
- },
- {
- _______, _______, _______, _______,
- KC_MPRV, KC_MUTE, KC_MPLY, KC_MNXT,
- _______, _______, _______, _______
- }
- },
+ [_FUNC] = LAYOUT_planck_grid(
+ RESET, KC_F1, KC_F2, KC_F3,
+ KC_F4, KC_F5, KC_F6, KC_F7,
+ KC_F8, KC_F9, KC_F10, KC_VOLU,
+
+ KC_POWER, KC_F11, KC_F12, KC_F13,
+ KC_F14, KC_F15, KC_F16, KC_F17,
+ KC_F18, KC_F19, KC_F20, KC_VOLD,
+
+ _______, XXXXXXX, KC_HOME, SC(KC_TAB),
+ C(KC_TAB), KC_END, XXXXXXX, XXXXXXX,
+ XXXXXXX, COLEMAK, QWERTY, _______,
+
+ _______, _______, _______, _______,
+ KC_MPRV, KC_MUTE, KC_MPLY, KC_MNXT,
+ _______, _______, _______, _______
+ ),
/* MOUSE
* ,-----------------------------------------------------------------------.
- * | | | | | | | | ScL |Up | ScR | | |
+ * | | |CtrL |CtrU |CtrR | B5 |CtrU | ScL |Up | ScR | | |
* |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * | | B4 | B3 | B2 | B1 | | |Left |Down |Right| | |
+ * | | | Ac0 | Ac1 | Ac2 | B4 |CtrL |Left |Down |Right|CtrR | |
* |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * | | | Ac0 | Ac1 | Ac2 | | | ScD | ScU | | | |
+ * | | | |Home | End | B3 |CtrD | ScD | ScU |TabL |TabR | |
* |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * | | | | | | | | | | | | |
+ * | | | | | | B2 | B1 | | | | | |
* `-----------------------------------------------------------------------'
*/
- [_MOUSE] = {
- {
- _______, _______, C(KC_LEFT), C(KC_UP),
- C(KC_RIGHT), _______, _______, KC_WH_L,
- KC_MS_U, KC_WH_R, _______, _______
- },
- {
- _______, KC_BTN4, KC_BTN3, KC_BTN2,
- KC_BTN1, _______, _______, KC_MS_L,
- KC_MS_D, KC_MS_R, _______, _______
- },
- {
- _______, _______, KC_ACL0, KC_ACL1,
- KC_ACL2, _______, _______, KC_WH_D,
- KC_WH_U, _______, _______, _______
- },
- {
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______
- }
- }
+ [_MOUSE] = LAYOUT_planck_grid(
+ _______, XXXXXXX, C(KC_LEFT), C(KC_UP),
+ C(KC_RIGHT), KC_BTN5, C(KC_UP), KC_WH_R,
+ KC_MS_U, KC_WH_L, XXXXXXX, XXXXXXX,
+
+ _______, XXXXXXX, KC_ACL0, KC_ACL1,
+ KC_ACL2, KC_BTN4, C(KC_LEFT), KC_MS_L,
+ KC_MS_D, KC_MS_R, C(KC_RIGHT), XXXXXXX,
+
+ _______, XXXXXXX, XXXXXXX, KC_HOME,
+ KC_END, KC_BTN3, C(KC_DOWN), KC_WH_U,
+ KC_WH_D, SC(KC_TAB), C(KC_TAB), _______,
+
+ _______, _______, _______, _______,
+ _______, KC_BTN2, KC_BTN1, _______,
+ _______, _______, _______, _______
+ )
};
#ifdef AUDIO_ENABLE
@@ -267,6 +236,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return false;
case SYMB:
if (record->event.pressed) {
+ layer_off(_MOUSE);
layer_on(_SYMB);
} else {
layer_off(_SYMB);
@@ -274,6 +244,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return false;
case MOVE:
if (record->event.pressed) {
+ layer_off(_MOUSE);
layer_on(_MOVE);
} else {
layer_off(_MOVE);
@@ -281,6 +252,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return false;
case FUNC:
if (record->event.pressed) {
+ layer_off(_MOUSE);
layer_on(_FUNC);
} else {
layer_off(_FUNC);
@@ -289,8 +261,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
case MOUSE:
if (record->event.pressed) {
layer_on(_MOUSE);
- } else {
- layer_off(_MOUSE);
}
return false;
diff --git a/keyboards/planck/keymaps/callum/rules.mk b/keyboards/planck/keymaps/callum/rules.mk
index 4774c2c41..182322ae2 100644
--- a/keyboards/planck/keymaps/callum/rules.mk
+++ b/keyboards/planck/keymaps/callum/rules.mk
@@ -17,4 +17,3 @@ RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
diff --git a/keyboards/planck/keymaps/motform/config.h b/keyboards/planck/keymaps/motform/config.h
new file mode 100644
index 000000000..6fa31cc8a
--- /dev/null
+++ b/keyboards/planck/keymaps/motform/config.h
@@ -0,0 +1,39 @@
+#pragma once
+
+#ifdef AUDIO_ENABLE
+ #define STARTUP_SONG SONG(PLANCK_SOUND)
+ // #define STARTUP_SONG SONG(NO_SOUND)
+
+ #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
+ SONG(COLEMAK_SOUND), \
+ SONG(DVORAK_SOUND) \
+ }
+#endif
+
+/*
+ * MIDI options
+ */
+
+/* Prevent use of disabled MIDI features in the keymap */
+//#define MIDI_ENABLE_STRICT 1
+
+/* enable basic MIDI features:
+ - MIDI notes can be sent when in Music mode is on
+*/
+
+#define MIDI_BASIC
+
+/* enable advanced MIDI features:
+ - MIDI notes can be added to the keymap
+ - Octave shift and transpose
+ - Virtual sustain, portamento, and modulation wheel
+ - etc.
+*/
+//#define MIDI_ADVANCED
+
+/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
+//#define MIDI_TONE_KEYCODE_OCTAVES 2
+
+// Most tactile encoders have detents every 4 stages
+#define ENCODER_RESOLUTION 4
+
diff --git a/keyboards/planck/keymaps/motform/keymap.c b/keyboards/planck/keymaps/motform/keymap.c
new file mode 100644
index 000000000..15f0e05fb
--- /dev/null
+++ b/keyboards/planck/keymaps/motform/keymap.c
@@ -0,0 +1,211 @@
+/* Copyright 2015-2017 Jack Humbert
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+#include "muse.h"
+#include "keymap_swedish.h"
+
+extern keymap_config_t keymap_config;
+
+enum planck_layers {
+ _COLEMAK,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+
+/* These definitions can be removed once keymap_swe is properly vetted against MacOS */
+#define NO_DLR_MAC_V ALGR(LALT(KC_4))
+#define NO_AT_MAC_V ALGR(LALT(KC_2))
+
+/* Esc when pressed, ctrl when used as a modifier */
+#define KC_ECTL MT(MOD_LCTL, KC_ESC)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Colemak_se
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | W | F | P | G | J | L | U | Y | Ö | Å |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | ECTR | A | R | S | T | D | H | N | E | I | O | Ä |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | SCSHE| Z | X | C | V | B | K | M | , | . | - |SCSHE |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | esc | CTRL | Alt | CMD |Lower |Space |Bksp |Raise | CMD | RALT | HYPER| MEH |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_COLEMAK] = LAYOUT_planck_grid
+(
+ KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, NO_OSLH, NO_AA,
+ KC_ECTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, NO_AE,
+ KC_SFTENT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, NO_MINS, KC_SFTENT,
+ KC_ESC, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_BSPC, RAISE, KC_RGUI, KC_RALT, KC_HYPR, KC_MEH
+ ),
+
+/* Lower
+* ,-----------------------------------------------------------------------------------.
+* | | PIPE | ' | @ | & | | DOWN | | RIGHT| ` | ´ | ~ |
+* |------+------+------+------+------+-------------+------+------+------+------+------|
+* | | ! | " | # | ? | % | LEFT | / | \ | = | + | * |
+* |------+------+------+------+------+------|------+------+------+------+------+------|
+* | | | | [ | { | | UP | } | ] | | | |
+* |------+------+------+------+------+------+------+------+------+------+------+------|
+* | | | | | | | DEL | | Next | Vol- | Vol+ | Play |
+* `-----------------------------------------------------------------------------------'
+*/
+[_LOWER] = LAYOUT_planck_grid
+(
+ _______, NO_PIPE_MAC, NO_APOS, NO_AT_MAC_V, NO_AMPR, _______, KC_DOWN, KC_NO, KC_RGHT, NO_GRV, NO_GRV, NO_TILD,
+ _______, KC_EXLM, NO_QUO2, KC_HASH, NO_QUES, KC_PERC, KC_LEFT, NO_SLSH, NO_BSLS_MAC, NO_EQL, KC_PPLS, KC_PAST,
+ _______, KC_NO, KC_NO, NO_LBRC, NO_LCBR_MAC, KC_NO, KC_UP, NO_RCBR_MAC, NO_RBRC, KC_NO, KC_NO, _______,
+ _______, _______, _______, _______, _______, _______, KC_DEL, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ ),
+
+/* Raise
+* ,-----------------------------------------------------------------------------------.
+* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
+* |------+------+------+------+------+-------------+------+------+------+------+------|
+* | ^ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | $ |
+* |------+------+------+------+------+------|------+------+------+------+------+------|
+* | | | | < | ( | | | ) | > |Pg Up |Pg Dn | |
+* |------+------+------+------+------+------+------+------+------+------+------+------|
+* | | | | | | | | Next | Vol- | Vol+ | Play |
+* `-----------------------------------------------------------------------------------'
+*/
+[_RAISE] = LAYOUT_planck_grid
+(
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ NO_CIRC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, NO_DLR_MAC_V,
+ _______, KC_NO, KC_NO, NO_LESS_MAC, NO_LPRN, KC_NO, KC_NO, NO_RPRN, NO_GRTR_MAC, KC_PGUP, KC_PGDN, KC_NO,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ ),
+
+/* Adjust (Lower + Raise)
+ * ,-----------------------------------------------------------------------------------.
+ * | | Reset| Debug| | | | | | | | | |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | |Aud on|Audoff|AGnorm|AGswap| | | | | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TRMon |TRMoff| | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_ADJUST] = LAYOUT_planck_grid
+(
+ _______, RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
+ _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+
+};
+
+uint32_t layer_state_set_user(uint32_t state) {
+ return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
+
+bool muse_mode = false;
+uint8_t last_muse_note = 0;
+uint16_t muse_counter = 0;
+uint8_t muse_offset = 70;
+uint16_t muse_tempo = 50;
+
+void encoder_update(bool clockwise) {
+ if (muse_mode) {
+ if (IS_LAYER_ON(_RAISE)) {
+ if (clockwise) {
+ muse_offset++;
+ } else {
+ muse_offset--;
+ }
+ } else {
+ if (clockwise) {
+ muse_tempo+=1;
+ } else {
+ muse_tempo-=1;
+ }
+ }
+ } else {
+ if (clockwise) {
+ #ifdef MOUSEKEY_ENABLE
+ register_code(KC_MS_WH_DOWN);
+ unregister_code(KC_MS_WH_DOWN);
+ #else
+ register_code(KC_PGDN);
+ unregister_code(KC_PGDN);
+ #endif
+ } else {
+ #ifdef MOUSEKEY_ENABLE
+ register_code(KC_MS_WH_UP);
+ unregister_code(KC_MS_WH_UP);
+ #else
+ register_code(KC_PGUP);
+ unregister_code(KC_PGUP);
+ #endif
+ }
+ }
+}
+
+void dip_update(uint8_t index, bool active) {
+ switch (index) {
+ case 0:
+ if (active) {
+ layer_on(_ADJUST);
+ } else {
+ layer_off(_ADJUST);
+ }
+ break;
+ case 1:
+ if (active) {
+ muse_mode = true;
+ } else {
+ muse_mode = false;
+ #ifdef AUDIO_ENABLE
+ stop_all_notes();
+ #endif
+ }
+ }
+}
+
+void matrix_scan_user(void) {
+ #ifdef AUDIO_ENABLE
+ if (muse_mode) {
+ if (muse_counter == 0) {
+ uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()];
+ if (muse_note != last_muse_note) {
+ stop_note(compute_freq_for_midi_note(last_muse_note));
+ play_note(compute_freq_for_midi_note(muse_note), 0xF);
+ last_muse_note = muse_note;
+ }
+ }
+ muse_counter = (muse_counter + 1) % muse_tempo;
+ }
+ #endif
+}
+
+bool music_mask_user(uint16_t keycode) {
+ switch (keycode) {
+ case RAISE:
+ case LOWER:
+ return false;
+ default:
+ return true;
+ }
+}
diff --git a/keyboards/planck/keymaps/motform/readme.md b/keyboards/planck/keymaps/motform/readme.md
new file mode 100644
index 000000000..47091c0aa
--- /dev/null
+++ b/keyboards/planck/keymaps/motform/readme.md
@@ -0,0 +1,11 @@
+# Motform Planck Layout
+
+This layout is based off the [colemak-se](github.com/motform/colemak-se)
+layout and features many tweaks to make working with Emacs and
+evil-mode more ergonomi. As with the colemak layout itself, the idea
+is to concentrate as much movement as possible to the home row.
+
+To properly use the layout in Emacs, set Super to LGUI and Meta to RGUI.
+Unless you are running a permutation of the MacOS Swedish QWERTY-layout,
+modifiers will probably not work. For future develoment, I’m planning
+to add support for MS Windows SE-QWERTY in the form of a secondary layer.
diff --git a/keyboards/planck/keymaps/motform/rules.mk b/keyboards/planck/keymaps/motform/rules.mk
new file mode 100644
index 000000000..dcf16bef3
--- /dev/null
+++ b/keyboards/planck/keymaps/motform/rules.mk
@@ -0,0 +1 @@
+SRC += muse.c
diff --git a/keyboards/planck/keymaps/priyadi/config.h b/keyboards/planck/keymaps/priyadi/config.h
index 876d057bf..c85e8656e 100644
--- a/keyboards/planck/keymaps/priyadi/config.h
+++ b/keyboards/planck/keymaps/priyadi/config.h
@@ -21,7 +21,8 @@
#define DOUBLESPACE_LAYER_ENABLE
// #define TOLELOT_ENABLE
-#define KEYMAP_CUSTOM( \
+#ifdef __AVR__
+#define LAYOUT( \
k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \
k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \
k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \
@@ -34,5 +35,24 @@
{k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c}, \
{k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c} \
}
+#elif KEYBOARD_planck_rev6
+#define LAYOUT( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
+ tp1, tp2, tp3 \
+) \
+{ \
+ { k00, k01, k02, k03, k04, k05 }, \
+ { k10, k11, k12, k13, k14, k15 }, \
+ { k20, k21, k22, k23, k24, k25 }, \
+ { k30, k31, k32, k39, k3a, k3b }, \
+ { k06, k07, k08, k09, k0a, k0b }, \
+ { k16, k17, k18, k19, k1a, k1b }, \
+ { k26, k27, k28, k29, k2a, k2b }, \
+ { k36, k37, k38, k33, k34, k35 } \
+}
+#endif
#endif
diff --git a/keyboards/planck/keymaps/priyadi/rules.mk b/keyboards/planck/keymaps/priyadi/rules.mk
index a999eb00f..17617b0b7 100644
--- a/keyboards/planck/keymaps/priyadi/rules.mk
+++ b/keyboards/planck/keymaps/priyadi/rules.mk
@@ -8,15 +8,22 @@ EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
CONSOLE_ENABLE = no # Console for debug(+400)
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
UNICODEMAP_ENABLE = yes # Unicode map
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
API_SYSEX_ENABLE = no
+
+ifeq ($(strip $(KEYBOARD)), planck/rev4)
FAUXCLICKY_ENABLE = yes
+BACKLIGHT_ENABLE = yes
+AUDIO_ENABLE = no
+endif
+
+ifeq ($(strip $(KEYBOARD)), planck/rev6)
+DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave
+endif
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/planck/keymaps/roguepullrequest/keymap.c b/keyboards/planck/keymaps/roguepullrequest/keymap.c
index 51c740dc4..177cb2b67 100644
--- a/keyboards/planck/keymaps/roguepullrequest/keymap.c
+++ b/keyboards/planck/keymaps/roguepullrequest/keymap.c
@@ -4,6 +4,7 @@
float mushroom[][2] = SONG(MARIO_MUSHROOM);
#endif
+
extern keymap_config_t keymap_config;
// Complex Tapdance hoopla
@@ -26,7 +27,8 @@ enum {
X_AT_FUN = 0,
RSHIFT,
LSHIFT,
- TD_S
+ TD_S,
+ SLASH
};
int cur_dance (qk_tap_dance_state_t *state);
@@ -110,7 +112,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Programmer Dvorak */
[_PDVORAK] = LAYOUT_planck_grid(
KC_GESC, KC_SCOLON, KC_COMMA, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
- KC_LAST, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, TD(TD_S), KC_SLASH,
+ KC_LAST, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, TD(TD_S), TD(SLASH),
TD(LSHIFT), KC_QUOT, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, TD(RSHIFT),
TD(X_AT_FUN), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, ALT_TAB, KC_SPACE, KC_ENTER, MT(MOD_LCTL | MOD_LSFT, KC_LGUI), KC_PGUP, KC_PGDN, LT(_LOWER, KC_PLUS)
),
@@ -245,6 +247,8 @@ qk_tap_dance_action_t tap_dance_actions[] = {
[LSHIFT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lshift_finished, lshift_reset),
[RSHIFT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, rshift_finished, rshift_reset),
[TD_S] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, s_finished, s_reset),
+ [SLASH] = ACTION_TAP_DANCE_DOUBLE(KC_SLASH, KC_BSLASH),
+
};
void shutdown_user(void) { clear_keyboard(); }
diff --git a/keyboards/planck/keymaps/roguepullrequest/readme.md b/keyboards/planck/keymaps/roguepullrequest/readme.md
index d3cae22ff..687a65fc9 100644
--- a/keyboards/planck/keymaps/roguepullrequest/readme.md
+++ b/keyboards/planck/keymaps/roguepullrequest/readme.md
@@ -1,12 +1,17 @@
# Programmer Dvorak for the Planck (Light)
-| Magic | | UPPER |
-|----------|---------|-------|
-| | DEFAULT | |
-| FUNCTION | | LOWER |
+| | | | | | | | | | | | |
+|----------|---------|-------|-----|------|-------|-------|------|------|------|------|------|
+| GRAVE_ESC | ; [u]; [l]7 | , [u]% [l]5 | . [l]3 | p [l]1 | y [u]= [l]9 | f [u]* [l]0 | g [l]2 | c [l]4 | r [u]! [l]6 | l [u]# [l]8 | BKSP |
+| LCTRL [TD]!$ | a | o | e | u | i | d | h | t | n | s [TD]- _ | / [TD]\ |
+| LSHFT [TD]( [ { | ' | q | j | k | x | b | m | w | v | z | LSHFT [TD]) ] } |
+| @ [TD]UPPER FUN RESET | LEFT | DOWN | UP | RIGHT | ALT_TAB | SPACE | ENTER | LGUI | PGUP | PGDOWN | = [TD]LOWER |
# Layout notes
+- [u] = UPPER symbol
+- [l] = LOWER symbol
+- [TD] = Tap Dances
- ALT_TAB = cycle through windows as long as you keep tapping it keeps alt tabbing
- LAST = "!$" = is useful for using the last parm in bash/zsh
- More to come
diff --git a/keyboards/planck/keymaps/tom/keymap.c b/keyboards/planck/keymaps/tom/keymap.c
index 6e3b08938..0ffff4e69 100644
--- a/keyboards/planck/keymaps/tom/keymap.c
+++ b/keyboards/planck/keymaps/tom/keymap.c
@@ -224,14 +224,16 @@ bool music_mask_user(uint16_t keycode) {
}
}
+#ifdef RGB_MATRIX_ENABLE
+extern led_config_t g_led_config;
+#endif
+
void rgb_matrix_indicators_user(void) {
#ifdef RGB_MATRIX_ENABLE
- rgb_led led;
switch (biton32(layer_state)) {
case _RAISE:
for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
- led = g_rgb_leds[i];
- if ( led.modifier ) {
+ if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
rgb_matrix_set_color(i, 0x6B, 0x00, 0x80);
} else {
rgb_matrix_set_color(i, 0x00, 0xFF, 0x00);
@@ -241,8 +243,7 @@ void rgb_matrix_indicators_user(void) {
case _LOWER:
for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
- led = g_rgb_leds[i];
- if ( led.modifier ) {
+ if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
rgb_matrix_set_color(i, 0xFF, 0xA5, 0x00);
} else {
rgb_matrix_set_color(i, 0x00, 0x67, 0xC7);
diff --git a/keyboards/planck/light/light.c b/keyboards/planck/light/light.c
index f463090dd..896ec4458 100644
--- a/keyboards/planck/light/light.c
+++ b/keyboards/planck/light/light.c
@@ -77,65 +77,24 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
{1, C9_14, C8_14, C7_14}
};
-const rgb_led g_rgb_leds[DRIVER_LED_TOTAL] = {
-
- /*{row | col << 4}
- | {x=0..224, y=0..64}
- | | modifier
- | | | */
- {{0|(0<<4)}, {20.36*0, 21.33*0}, 1},
- {{0|(1<<4)}, {20.36*1, 21.33*0}, 0},
- {{0|(2<<4)}, {20.36*2, 21.33*0}, 0},
- {{0|(3<<4)}, {20.36*3, 21.33*0}, 0},
- {{0|(4<<4)}, {20.36*4, 21.33*0}, 0},
- {{0|(5<<4)}, {20.36*5, 21.33*0}, 0},
- {{0|(6<<4)}, {20.36*6, 21.33*0}, 0},
- {{0|(7<<4)}, {20.36*7, 21.33*0}, 0},
- {{0|(8<<4)}, {20.36*8, 21.33*0}, 0},
- {{0|(9<<4)}, {20.36*9, 21.33*0}, 0},
- {{0|(10<<4)}, {20.36*10,21.33*0}, 0},
- {{0|(11<<4)}, {20.36*11,21.33*0}, 1},
-
- {{1|(0<<4)}, {20.36*0, 21.33*1}, 1},
- {{1|(1<<4)}, {20.36*1, 21.33*1}, 0},
- {{1|(2<<4)}, {20.36*2, 21.33*1}, 0},
- {{1|(3<<4)}, {20.36*3, 21.33*1}, 0},
- {{1|(4<<4)}, {20.36*4, 21.33*1}, 0},
- {{1|(5<<4)}, {20.36*5, 21.33*1}, 0},
- {{1|(6<<4)}, {20.36*6, 21.33*1}, 0},
- {{1|(7<<4)}, {20.36*7, 21.33*1}, 0},
- {{1|(8<<4)}, {20.36*8, 21.33*1}, 0},
- {{1|(9<<4)}, {20.36*9, 21.33*1}, 0},
- {{1|(10<<4)}, {20.36*10,21.33*1}, 0},
- {{1|(11<<4)}, {20.36*11,21.33*1}, 1},
-
- {{2|(0<<4)}, {20.36*0, 21.33*2}, 1},
- {{2|(1<<4)}, {20.36*1, 21.33*2}, 0},
- {{2|(2<<4)}, {20.36*2, 21.33*2}, 0},
- {{2|(3<<4)}, {20.36*3, 21.33*2}, 0},
- {{2|(4<<4)}, {20.36*4, 21.33*2}, 0},
- {{2|(5<<4)}, {20.36*5, 21.33*2}, 0},
- {{2|(6<<4)}, {20.36*6, 21.33*2}, 0},
- {{2|(7<<4)}, {20.36*7, 21.33*2}, 0},
- {{2|(8<<4)}, {20.36*8, 21.33*2}, 0},
- {{2|(9<<4)}, {20.36*9, 21.33*2}, 0},
- {{2|(10<<4)}, {20.36*10,21.33*2}, 0},
- {{2|(11<<4)}, {20.36*11,21.33*2}, 1},
-
- {{3|(0<<4)}, {20.36*0, 21.33*3}, 1},
- {{3|(1<<4)}, {20.36*1, 21.33*3}, 1},
- {{3|(2<<4)}, {20.36*2, 21.33*3}, 1},
- {{3|(3<<4)}, {20.36*3, 21.33*3}, 1},
- {{3|(4<<4)}, {20.36*4, 21.33*3}, 1},
- {{3|(5<<4)}, {20.36*5, 21.33*3}, 0},
- {{3|(5<<4)}, {20.36*5.5,21.33*3}, 0},
- {{3|(6<<4)}, {20.36*6, 21.33*3}, 0},
- {{3|(7<<4)}, {20.36*7, 21.33*3}, 1},
- {{3|(8<<4)}, {20.36*8, 21.33*3}, 1},
- {{3|(9<<4)}, {20.36*9, 21.33*3}, 1},
- {{3|(10<<4)}, {20.36*10,21.33*3}, 1},
- {{3|(11<<4)}, {20.36*11,21.33*3}, 1}
-};
+led_config_t g_led_config = { {
+ { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 },
+ { 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 },
+ { 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35 },
+ { 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, 48 }
+}, {
+ { 0, 0 }, { 20, 0 }, { 40, 0 }, { 61, 0 }, { 81, 0 }, { 101, 0 }, { 122, 0 }, { 142, 0 }, { 162, 0 }, { 183, 0 }, { 203, 0 }, { 223, 0 },
+ { 0, 21 }, { 20, 21 }, { 40, 21 }, { 61, 21 }, { 81, 21 }, { 101, 21 }, { 122, 21 }, { 142, 21 }, { 162, 21 }, { 183, 21 }, { 203, 21 }, { 223, 21 },
+ { 0, 42 }, { 20, 42 }, { 40, 42 }, { 61, 42 }, { 81, 42 }, { 101, 42 }, { 122, 42 }, { 142, 42 }, { 162, 42 }, { 183, 42 }, { 203, 42 }, { 223, 42 },
+ { 0, 63 }, { 20, 63 }, { 40, 63 }, { 61, 63 }, { 81, 63 }, { 101, 63 }, { 111, 63 }, { 122, 63 }, { 142, 63 }, { 162, 63 }, { 183, 63 }, { 203, 63 },
+ { 223, 63 }
+}, {
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
+ 1, 1, 1, 1, 1, 4, 4, 4, 1, 1, 1, 1,
+ 1
+} };
void matrix_init_kb(void) {
@@ -151,6 +110,16 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record)
return process_record_user(keycode, record);
}
+uint8_t rgb_matrix_map_row_column_to_led_kb(uint8_t row, uint8_t column, uint8_t *led_i) {
+ // Spacebar has 2 leds 41 & 42, so add 42 to the array here, and 41 will be added
+ // by the default lookup code that runs after this
+ if (row == 3 && column == 5) {
+ led_i[0] = 42;
+ return 1;
+ }
+ return 0;
+}
+
void matrix_scan_kb(void)
{
matrix_scan_user();
diff --git a/keyboards/planck/light/rules.mk b/keyboards/planck/light/rules.mk
index c10b8fd1d..b621a9abb 100644
--- a/keyboards/planck/light/rules.mk
+++ b/keyboards/planck/light/rules.mk
@@ -1,5 +1,36 @@
-MIDI_ENABLE = yes
+# MCU name
+MCU = at90usb1286
+
+# Bootloader
+# This definition is optional, and if your keyboard supports multiple bootloaders of
+# different sizes, comment this out, and the correct address will be loaded
+# automatically (+60). See bootloader.mk for all options.
+BOOTLOADER = atmel-dfu
+
+# Interrupt driven control endpoint task(+60)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
+# Build Options
+# change to "no" to disable the options, or define them in the Makefile in
+# the appropriate keymap folder that will get included automatically
+#
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = no # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = yes # Console for debug(+400)
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+MIDI_ENABLE = yes # MIDI controls
AUDIO_ENABLE = yes # Audio output on port C6
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
RGB_MATRIX_ENABLE = yes
+API_SYSEX_ENABLE = no
+
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-MCU = at90usb1286 \ No newline at end of file
+LAYOUTS = ortho_4x12 planck_mit
+LAYOUTS_HAS_RGB = no
diff --git a/keyboards/planck/readme.md b/keyboards/planck/readme.md
index 083279e8a..94b256c74 100644
--- a/keyboards/planck/readme.md
+++ b/keyboards/planck/readme.md
@@ -6,7 +6,7 @@ Planck
A compact 40% (12x4) ortholinear keyboard kit made and sold by OLKB and Massdrop. [More info on qmk.fm](http://qmk.fm/planck/)
Keyboard Maintainer: [Jack Humbert](https://github.com/jackhumbert)
-Hardware Supported: Planck PCB rev1, rev2, rev3, rev4, Teensy 2.0
+Hardware Supported: Planck PCB rev1, rev2, rev3, rev4, rev5, rev6; Planck Light
Hardware Availability: [OLKB.com](https://olkb.com), [Massdrop](https://www.massdrop.com/buy/planck-mechanical-keyboard?mode=guest_open)
Make example for this keyboard (after setting up your build environment):
@@ -15,6 +15,7 @@ Make example for this keyboard (after setting up your build environment):
Install examples:
- make planck/rev6:default:dfu-util
+ make planck/rev5:default:dfu # For Planck rev5 or earlier and Planck Light
+ make planck/rev6:default:dfu-util # For Planck rev6
-See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/planck/rev1/rules.mk b/keyboards/planck/rev1/rules.mk
index e51af55c6..be03e4515 100644
--- a/keyboards/planck/rev1/rules.mk
+++ b/keyboards/planck/rev1/rules.mk
@@ -1 +1,29 @@
-AUDIO_ENABLE = no # Audio output on port C6
+# MCU name
+MCU = atmega32u4
+
+# Interrupt driven control endpoint task(+60)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
+# Build Options
+# change to "no" to disable the options, or define them in the Makefile in
+# the appropriate keymap folder that will get included automatically
+#
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = no # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = yes # Console for debug(+400)
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+MIDI_ENABLE = no # MIDI controls
+AUDIO_ENABLE = no # Audio output on port C6
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
+API_SYSEX_ENABLE = no
+
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+
+LAYOUTS = ortho_4x12 planck_mit
+LAYOUTS_HAS_RGB = no
diff --git a/keyboards/planck/rev2/rules.mk b/keyboards/planck/rev2/rules.mk
index e51af55c6..be03e4515 100644
--- a/keyboards/planck/rev2/rules.mk
+++ b/keyboards/planck/rev2/rules.mk
@@ -1 +1,29 @@
-AUDIO_ENABLE = no # Audio output on port C6
+# MCU name
+MCU = atmega32u4
+
+# Interrupt driven control endpoint task(+60)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
+# Build Options
+# change to "no" to disable the options, or define them in the Makefile in
+# the appropriate keymap folder that will get included automatically
+#
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = no # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = yes # Console for debug(+400)
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+MIDI_ENABLE = no # MIDI controls
+AUDIO_ENABLE = no # Audio output on port C6
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
+API_SYSEX_ENABLE = no
+
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+
+LAYOUTS = ortho_4x12 planck_mit
+LAYOUTS_HAS_RGB = no
diff --git a/keyboards/planck/rev3/rules.mk b/keyboards/planck/rev3/rules.mk
index e51af55c6..3de40a66c 100644
--- a/keyboards/planck/rev3/rules.mk
+++ b/keyboards/planck/rev3/rules.mk
@@ -1 +1,35 @@
-AUDIO_ENABLE = no # Audio output on port C6
+# MCU name
+MCU = atmega32u4
+
+# Bootloader
+# This definition is optional, and if your keyboard supports multiple bootloaders of
+# different sizes, comment this out, and the correct address will be loaded
+# automatically (+60). See bootloader.mk for all options.
+BOOTLOADER = atmel-dfu
+
+# Interrupt driven control endpoint task(+60)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
+# Build Options
+# change to "no" to disable the options, or define them in the Makefile in
+# the appropriate keymap folder that will get included automatically
+#
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = no # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = yes # Console for debug(+400)
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+MIDI_ENABLE = no # MIDI controls
+AUDIO_ENABLE = no # Audio output on port C6
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
+API_SYSEX_ENABLE = no
+
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+
+LAYOUTS = ortho_4x12 planck_mit
+LAYOUTS_HAS_RGB = no
diff --git a/keyboards/planck/rev4/rules.mk b/keyboards/planck/rev4/rules.mk
index 7e64e7edc..390f58249 100644
--- a/keyboards/planck/rev4/rules.mk
+++ b/keyboards/planck/rev4/rules.mk
@@ -1 +1,35 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader
+# This definition is optional, and if your keyboard supports multiple bootloaders of
+# different sizes, comment this out, and the correct address will be loaded
+# automatically (+60). See bootloader.mk for all options.
+BOOTLOADER = atmel-dfu
+
+# Interrupt driven control endpoint task(+60)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
+# Build Options
+# change to "no" to disable the options, or define them in the Makefile in
+# the appropriate keymap folder that will get included automatically
+#
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = no # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = yes # Console for debug(+400)
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+MIDI_ENABLE = no # MIDI controls
AUDIO_ENABLE = yes # Audio output on port C6
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
+API_SYSEX_ENABLE = no
+
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+
+LAYOUTS = ortho_4x12 planck_mit
+LAYOUTS_HAS_RGB = no
diff --git a/keyboards/planck/rev5/rules.mk b/keyboards/planck/rev5/rules.mk
index 7e64e7edc..ca63b39ac 100644
--- a/keyboards/planck/rev5/rules.mk
+++ b/keyboards/planck/rev5/rules.mk
@@ -1 +1,35 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader
+# This definition is optional, and if your keyboard supports multiple bootloaders of
+# different sizes, comment this out, and the correct address will be loaded
+# automatically (+60). See bootloader.mk for all options.
+BOOTLOADER = qmk-dfu
+
+# Interrupt driven control endpoint task(+60)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
+# Build Options
+# change to "no" to disable the options, or define them in the Makefile in
+# the appropriate keymap folder that will get included automatically
+#
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = no # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = yes # Console for debug(+400)
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+MIDI_ENABLE = no # MIDI controls
AUDIO_ENABLE = yes # Audio output on port C6
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
+API_SYSEX_ENABLE = no
+
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+
+LAYOUTS = ortho_4x12 planck_mit
+LAYOUTS_HAS_RGB = no
diff --git a/keyboards/planck/rev6/rules.mk b/keyboards/planck/rev6/rules.mk
index 1f3d1dfe5..c58275002 100644
--- a/keyboards/planck/rev6/rules.mk
+++ b/keyboards/planck/rev6/rules.mk
@@ -5,20 +5,35 @@ LAYOUTS += ortho_4x12
# Cortex version
MCU = STM32F303
+# Interrupt driven control endpoint task(+60)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
# Build Options
-# comment out to disable the options.
+# change to "no" to disable the options, or define them in the Makefile in
+# the appropriate keymap folder that will get included automatically
#
-BACKLIGHT_ENABLE = no
-BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
+BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
## (Note that for BOOTMAGIC on Teensy LC you have to use a custom .ld script.)
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = yes # Console for debug(+400)
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+MIDI_ENABLE = no # MIDI controls
+AUDIO_ENABLE = yes # Audio output on port C6
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
+API_SYSEX_ENABLE = no
+
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes # USB Nkey Rollover
+
CUSTOM_MATRIX = yes # Custom matrix file
-AUDIO_ENABLE = yes
-RGBLIGHT_ENABLE = no
# SERIAL_LINK_ENABLE = yes
ENCODER_ENABLE = yes
+
+LAYOUTS = ortho_4x12 planck_mit
+LAYOUTS_HAS_RGB = no
diff --git a/keyboards/planck/rules.mk b/keyboards/planck/rules.mk
deleted file mode 100644
index 520a2d5c7..000000000
--- a/keyboards/planck/rules.mk
+++ /dev/null
@@ -1,46 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
-ifeq ($(strip $(KEYBOARD)), planck/rev3)
- BOOTLOADER = atmel-dfu
-endif
-ifeq ($(strip $(KEYBOARD)), planck/rev4)
- BOOTLOADER = atmel-dfu
-endif
-ifeq ($(strip $(KEYBOARD)), planck/rev5)
- BOOTLOADER = qmk-dfu
-endif
-ifeq ($(strip $(KEYBOARD)), planck/light)
- BOOTLOADER = atmel-dfu
-endif
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = yes # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = yes # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
-
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
-LAYOUTS = ortho_4x12 planck_mit planck_grid
-LAYOUTS_HAS_RGB = no