From 0e6e059ef3cd88692348db1f6ef3de2b0349bfe6 Mon Sep 17 00:00:00 2001 From: Louis Orleans Date: Fri, 9 Mar 2018 10:31:09 -0800 Subject: [PATCH] layout(planck): dudeofawesome's layout (#2457) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * layout(planck): new layout initial commit * feat(planck): add workman layout * fix(planck): switching to workman * layout(planck): swapping mnext and mplay * feat(planck): prep for RGB * perf(planck): remove plover saves 256 bytes of memory * perf(planck): remove colemak saves 128 bytes * layout(planck): swapping enter and quote * perf(planck): disable console frees 1664 bytes * feat(planck): RGB under-lighting * refactor(planck): change RGB pin Uses pin labeled PB2 * feat(planck): add RGB keycodes * feat(planck): re-enable audio * style(planck): fixing indentation Because who indents like that? * style(planck): clean up keycodes * layout(planck): remove del * feat(planck): add tap-space to layer keys * docs(planck): specify pin on PCB for RGB * bug(planck): reducing tap time * Revert "bug(planck): reducing tap time" This reverts commit 62606b2dc62c5adcc06cfb5978d7e5305411a658. * Revert "feat(planck): add tap-space to layer keys" This reverts commit c74de5a4aa45c5563dcaa463395654c29f50eda3. * perf(planck): remove backlit case * feat(planck): swap enter and quote * bug(planck): moving right shift * doc(planck): update README * chore(planck): remove makefile * 🔨 add userspace config * 📝 update layer ascii art * 🔥 disable RGB lighting * ✨ add Colemak * ✨ add numpad layer * ✨ add caps lock on adjust layer * 📝 update layer renders * 🔥 remove workman sound def * 🔨 add userspace config * 📝 update layer ascii art * 🔥 disable RGB lighting * ✨ add Colemak * ✨ add numpad layer * ✨ add caps lock on adjust layer * 📝 update layer renders * 🔥 remove workman sound def --- .../planck/keymaps/dudeofawesome/config.h | 8 +- .../planck/keymaps/dudeofawesome/keymap.c | 122 ++++++++++++------ .../planck/keymaps/dudeofawesome/readme.md | 14 +- .../planck/keymaps/dudeofawesome/rules.mk | 2 +- users/dudeofawesome/dudeofawesome.c | 1 + users/dudeofawesome/dudeofawesome.h | 16 +++ users/dudeofawesome/rules.mk | 1 + 7 files changed, 111 insertions(+), 53 deletions(-) create mode 100644 users/dudeofawesome/dudeofawesome.c create mode 100644 users/dudeofawesome/dudeofawesome.h create mode 100644 users/dudeofawesome/rules.mk diff --git a/keyboards/planck/keymaps/dudeofawesome/config.h b/keyboards/planck/keymaps/dudeofawesome/config.h index 68d447dec..33dd4e41a 100644 --- a/keyboards/planck/keymaps/dudeofawesome/config.h +++ b/keyboards/planck/keymaps/dudeofawesome/config.h @@ -2,14 +2,14 @@ #define CONFIG_USER_H #include "../../config.h" - -#define WORKMAN_SOUND COLEMAK_SOUND +#include "dudeofawesome.h" #ifdef AUDIO_ENABLE #define STARTUP_SONG SONG(PLANCK_SOUND) // #define STARTUP_SONG SONG(NO_SOUND) #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \ + SONG(WORKMAN_SOUND), \ SONG(COLEMAK_SOUND), \ SONG(DVORAK_SOUND) \ } @@ -41,8 +41,4 @@ /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ //#define MIDI_TONE_KEYCODE_OCTAVES 2 -#define RGB_DI_PIN B2 // The pin the LED strip is connected to (PB2 by default) -#define RGBLED_NUM 3 // Number of LEDs in your strip -#define RGBLIGHT_ANIMATIONS - #endif diff --git a/keyboards/planck/keymaps/dudeofawesome/keymap.c b/keyboards/planck/keymaps/dudeofawesome/keymap.c index 3fa739908..55ef0e39b 100644 --- a/keyboards/planck/keymaps/dudeofawesome/keymap.c +++ b/keyboards/planck/keymaps/dudeofawesome/keymap.c @@ -22,17 +22,20 @@ extern keymap_config_t keymap_config; enum planck_layers { _QWERTY, - _DVORAK, _WORKMAN, + _COLEMAK, + _DVORAK, _LOWER, _RAISE, - _ADJUST + _ADJUST, + _NUMPAD, }; enum planck_keycodes { QWERTY = SAFE_RANGE, - DVORAK, WORKMAN, + COLEMAK, + DVORAK, LOWER, RAISE, BACKLIT @@ -44,61 +47,79 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------------------------------------------------. * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | S | D | F | G | H | J | K | L | ; |Enter | + * | Esc | A | S | D | F | G | H | J | K | L | ; | ' | * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | N | M | , | . | / | ' | + * | Shift| Z | X | C | V | B | N | M | , | . | / | Enter| * |------+------+------+------+------+------+------+------+------+------+------+------| - * | RGB | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * | Num | Ctrl | Alt | GUI | Lower| Space | Raise| Left | Down | Up | Right| * `-----------------------------------------------------------------------------------' */ [_QWERTY] = { - {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC }, - {KC_ESC, 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, RSFT_T(KC_ENT)}, - {RGB_TOG, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT } - }, - - /* Dvorak - * ,-----------------------------------------------------------------------------------. - * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | O | E | U | I | D | H | T | N | S |Enter | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| ; | Q | J | K | X | B | M | W | V | Z | / | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | RGB | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | - * `-----------------------------------------------------------------------------------' - */ - [_DVORAK] = { - {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC }, - {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH }, - {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, RSFT_T(KC_ENT)}, - {RGB_TOG, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT } + {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC }, + {KC_ESC, 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, RSFT_T(KC_ENT)}, + {TT(_NUMPAD), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT } }, /* Workman * ,-----------------------------------------------------------------------------------. * | Tab | Q | W | R | W | B | J | F | U | P | ; | Bksp | * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | S | H | T | G | Y | N | E | O | I |Enter | + * | Esc | A | S | H | T | G | Y | N | E | O | I | ' | * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | M | C | V | K | L | , | . | / | ' | + * | Shift| Z | X | M | C | V | K | L | , | . | / | Enter| * |------+------+------+------+------+------+------+------+------+------+------+------| - * | RGB | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * | Num | Ctrl | Alt | GUI | Lower| Space | Raise| Left | Down | Up | Right| * `-----------------------------------------------------------------------------------' */ [_WORKMAN] = { - {KC_TAB, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_BSPC }, - {KC_ESC, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT }, - {KC_LSFT, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT)}, - {RGB_TOG, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT } + {KC_TAB, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_BSPC }, + {KC_ESC, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT }, + {KC_LSFT, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT)}, + {TT(_NUMPAD), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT } + }, + + /* Colemak + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | R | S | T | D | H | N | E | I | O | ' | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | K | M | , | . | / | Enter| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Num | Ctrl | Alt | GUI | Lower| Space | Raise| Left | Down | Up | Right| + * `-----------------------------------------------------------------------------------' + */ + [_COLEMAK] = { + {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC}, + {KC_ESC, 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, RSFT_T(KC_ENT)}, + {TT(_NUMPAD), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} + }, + + /* Dvorak + * ,-----------------------------------------------------------------------------------. + * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | O | E | U | I | D | H | T | N | S | / | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| ; | Q | J | K | X | B | M | W | V | Z | Enter| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Num | Ctrl | Alt | GUI | Lower| Space | Raise| Left | Down | Up | Right| + * `-----------------------------------------------------------------------------------' + */ + [_DVORAK] = { + {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC }, + {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH }, + {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, RSFT_T(KC_ENT)}, + {TT(_NUMPAD), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT } }, /* Lower * ,-----------------------------------------------------------------------------------. * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | * |------+------+------+------+------+------|------+------+------+------+------+------| * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | | * |------+------+------+------+------+------+------+------+------+------+------+------| @@ -116,7 +137,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------------------------------------------------. * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | * |------+------+------+------+------+------|------+------+------+------+------+------| * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | | * |------+------+------+------+------+------+------+------+------+------+------+------| @@ -134,7 +155,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------------------------------------------------. * | | Reset| | | | | | | | | | Del | * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Wrkman|Dvorak| | | + * |CPSLCK| | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Wrkman|Dvorak|Colemk| | * |------+------+------+------+------+------|------+------+------+------+------+------| * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| @@ -143,9 +164,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = { {_______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL }, - {_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, WORKMAN, DVORAK, _______, _______}, + {KC_CAPS, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, WORKMAN, DVORAK, COLEMAK, _______}, {_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, RGB_M_R, _______, _______, _______, _______}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} + }, + + /* Numpad + * ,-----------------------------------------------------------------------------------. + * | | ✗ | Home | Up | End | PgUp | ✗ | 7 | 8 | 9 | + | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | ✗ | Left | Down | Right| PgDn | ✗ | 4 | 5 | 6 | - | ✗ | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | / | * | - | + | Enter| ✗ | 1 | 2 | 3 | * | Enter| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | ✗ | | 0 | 0 | . | / | = | + * `-----------------------------------------------------------------------------------' + */ + [_NUMPAD] = { + {_______, KC_NO, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_NO, KC_P7, KC_P8, KC_P9, KC_PPLS, _______}, + {_______, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_NO, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_NO}, + {_______, KC_PSLS, KC_PAST, KC_PMNS, KC_PPLS, KC_PENT, KC_NO, KC_P1, KC_P2, KC_P3, KC_PAST, KC_PENT}, + {_______, _______, _______, _______, KC_NO, _______, _______, KC_P0, KC_P0, KC_PDOT, KC_PSLS, KC_PEQL} } }; @@ -168,6 +207,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { set_single_persistent_default_layer(_DVORAK); } return false; + case COLEMAK: + if (record->event.pressed) { + set_single_persistent_default_layer(_COLEMAK); + } + return false; case LOWER: if (record->event.pressed) { layer_on(_LOWER); diff --git a/keyboards/planck/keymaps/dudeofawesome/readme.md b/keyboards/planck/keymaps/dudeofawesome/readme.md index 7dccbaabc..7e2f7dc94 100644 --- a/keyboards/planck/keymaps/dudeofawesome/readme.md +++ b/keyboards/planck/keymaps/dudeofawesome/readme.md @@ -1,17 +1,17 @@ # DudeOfAwesome's Planck Layout -A basic Planck layout with simultaneous RGB and audio support. - -![Planck Layout](https://i.imgur.com/2p1TEEH.png) +![Planck Layout](https://i.imgur.com/mOc2Sbd.png) ## Features - Base Layers - - QWERTY - - Workman - - Dvorak + - QWERTY + - Workman + - Dvorak + - Colemak +- Numpad layer + ![numpad layer](https://i.imgur.com/PQENcut.png) - Audio -- WS2812b RGB backlight ## Building and flashing diff --git a/keyboards/planck/keymaps/dudeofawesome/rules.mk b/keyboards/planck/keymaps/dudeofawesome/rules.mk index 42c370aa1..edeab1643 100644 --- a/keyboards/planck/keymaps/dudeofawesome/rules.mk +++ b/keyboards/planck/keymaps/dudeofawesome/rules.mk @@ -7,4 +7,4 @@ CONSOLE_ENABLE = no # Console for debug(+400) MIDI_ENABLE = no # MIDI controls MOUSEKEY_ENABLE = no # Mouse keys(+4700) NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. +RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. diff --git a/users/dudeofawesome/dudeofawesome.c b/users/dudeofawesome/dudeofawesome.c new file mode 100644 index 000000000..5a9117b02 --- /dev/null +++ b/users/dudeofawesome/dudeofawesome.c @@ -0,0 +1 @@ +#include "dudeofawesome.h" diff --git a/users/dudeofawesome/dudeofawesome.h b/users/dudeofawesome/dudeofawesome.h new file mode 100644 index 000000000..b0387f2ad --- /dev/null +++ b/users/dudeofawesome/dudeofawesome.h @@ -0,0 +1,16 @@ +#ifndef USERSPACE +#define USERSPACE + +#define TAPPING_TOGGLE 2 + +#ifdef AUDIO_ENABLE + #define WORKMAN_SOUND \ + E__NOTE(_GS7), \ + ED_NOTE(_E7), \ + S__NOTE(_REST), \ + E__NOTE(_A6), \ + S__NOTE(_REST), \ + ED_NOTE(_GS6), +#endif + +#endif diff --git a/users/dudeofawesome/rules.mk b/users/dudeofawesome/rules.mk new file mode 100644 index 000000000..b99697b58 --- /dev/null +++ b/users/dudeofawesome/rules.mk @@ -0,0 +1 @@ +SRC += dudeofawesome.c