From 63a0b1241d204873cd5156a959e913c602b0c386 Mon Sep 17 00:00:00 2001 From: Daniel Shields Date: Sat, 21 Sep 2019 19:04:27 +0100 Subject: [PATCH] [Keymap] Move common code and configuration to userspace for dshields keymaps. (#6537) --- keyboards/model01/keymaps/dshields/config.h | 26 ---------------- keyboards/model01/keymaps/dshields/keymap.c | 28 +---------------- keyboards/model01/keymaps/dshields/rules.mk | 3 -- keyboards/planck/keymaps/dshields/config.h | 29 ----------------- keyboards/planck/keymaps/dshields/keymap.c | 29 ++--------------- users/dshields/config.h | 14 +++++++++ users/dshields/dshields.c | 30 ++++++++++++++++++ users/dshields/dshields.h | 31 +++++++++++++++++++ .../keymaps => users}/dshields/rules.mk | 0 9 files changed, 79 insertions(+), 111 deletions(-) delete mode 100644 keyboards/model01/keymaps/dshields/rules.mk create mode 100644 users/dshields/config.h create mode 100644 users/dshields/dshields.c create mode 100644 users/dshields/dshields.h rename {keyboards/planck/keymaps => users}/dshields/rules.mk (100%) diff --git a/keyboards/model01/keymaps/dshields/config.h b/keyboards/model01/keymaps/dshields/config.h index 0896a1f45..fdb23d46b 100644 --- a/keyboards/model01/keymaps/dshields/config.h +++ b/keyboards/model01/keymaps/dshields/config.h @@ -1,30 +1,4 @@ #pragma once -#define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_DIGITAL_RAIN_DROPS 18 -#define USB_MAX_POWER_CONSUMPTION 100 -#define ONESHOT_TAP_TOGGLE 2 -#define ONESHOT_TIMEOUT 3000 - -#define MOUSEKEY_INTERVAL 20 -#define MOUSEKEY_DELAY 0 -#define MOUSEKEY_TIME_TO_MAX 40 -#define MOUSEKEY_MAX_SPEED 7 -#define MOUSEKEY_WHEEL_DELAY 0 - -// dynamic macro keys -#define DM_PLAY DYN_MACRO_PLAY1 -#define DM_STRT DYN_REC_START1 -#define DM_STOP DYN_REC_STOP - -// one-shot layer keys -#define OSL_FUN OSL(FUN) - -// one-shot modifier keys -#define OSMLCTL OSM(MOD_LCTL) -#define OSMRCTL OSM(MOD_RCTL) -#define OSMLALT OSM(MOD_LALT) -#define OSMRALT OSM(MOD_RALT) -#define OSMLSFT OSM(MOD_LSFT) -#define OSMRSFT OSM(MOD_RSFT) diff --git a/keyboards/model01/keymaps/dshields/keymap.c b/keyboards/model01/keymaps/dshields/keymap.c index dedfd69b4..6b9a54132 100644 --- a/keyboards/model01/keymaps/dshields/keymap.c +++ b/keyboards/model01/keymaps/dshields/keymap.c @@ -1,4 +1,5 @@ #include QMK_KEYBOARD_H +#include "dshields.h" enum { DEF, FUN }; enum { DYNAMIC_MACRO_RANGE = SAFE_RANGE }; @@ -30,30 +31,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -uint32_t layer_state_set_user(uint32_t state) { - switch (biton32(state)) { - case DEF: - set_all_leds_to(0,0,0); - break; - case FUN: - // TODO light the fn keys - // set_led_to(?, 0, 128, 0); - // set_led_to(?, 0, 128, 0); - break; - } - return state; -} - -/* -void matrix_init_user(void) { - eeconfig_init(); -}; -*/ - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (!process_record_dynamic_macro(keycode, record)) { - return false; - } - return true; -} - diff --git a/keyboards/model01/keymaps/dshields/rules.mk b/keyboards/model01/keymaps/dshields/rules.mk deleted file mode 100644 index d3754cc1f..000000000 --- a/keyboards/model01/keymaps/dshields/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -MOUSEKEY_ENABLE = yes -EXTRAKEY_ENABLE = no -CONSOLE_ENABLE = no diff --git a/keyboards/planck/keymaps/dshields/config.h b/keyboards/planck/keymaps/dshields/config.h index 8d90d0d2c..857c8164e 100644 --- a/keyboards/planck/keymaps/dshields/config.h +++ b/keyboards/planck/keymaps/dshields/config.h @@ -1,33 +1,4 @@ #pragma once -#define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_DIGITAL_RAIN_DROPS 24 -#define USB_MAX_POWER_CONSUMPTION 100 -#define ONESHOT_TAP_TOGGLE 2 -#define ONESHOT_TIMEOUT 3000 -#define RETRO_TAPPING - -#define MOUSEKEY_INTERVAL 20 -#define MOUSEKEY_DELAY 0 -#define MOUSEKEY_TIME_TO_MAX 40 -#define MOUSEKEY_MAX_SPEED 7 -#define MOUSEKEY_WHEEL_DELAY 0 - -// dynamic macro keys -#define DM_PLAY DYN_MACRO_PLAY1 -#define DM_STRT DYN_REC_START1 -#define DM_STOP DYN_REC_STOP - -// one-shot layer keys -#define OSL_RSE OSL(RSE) -#define OSL_LWR OSL(LWR) -#define OSL_FUN OSL(FUN) - -// one-shot modifier keys -#define OSM_CTL OSM(MOD_LCTL) -#define OSM_ALT OSM(MOD_LALT) -#define OSM_SFT OSM(MOD_LSFT) - -// mod-tap keys -#define MT_SPC SFT_T(KC_SPC) diff --git a/keyboards/planck/keymaps/dshields/keymap.c b/keyboards/planck/keymaps/dshields/keymap.c index 18e246a3e..18b026da4 100644 --- a/keyboards/planck/keymaps/dshields/keymap.c +++ b/keyboards/planck/keymaps/dshields/keymap.c @@ -1,27 +1,17 @@ #include QMK_KEYBOARD_H -#include "config.h" - -extern keymap_config_t keymap_config; +#include "dshields.h" enum planck_layers { DEF, LWR, RSE, FUN }; enum planck_keycodes { DYNAMIC_MACRO_RANGE = SAFE_RANGE }; #include "dynamic_macro.h" -#ifdef KEYBOARD_planck_light - #define LGT_TOG RGB_TOG - #define LGT_MOD RGB_MOD -#else - #define LGT_TOG BL_TOGG - #define LGT_MOD BL_STEP -#endif - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [DEF] = LAYOUT_planck_grid( KC_Q, KC_W, KC_E, KC_R, KC_T, KC_ESC, KC_BSPC, KC_Y, KC_U, KC_I, KC_O, KC_P , KC_A, KC_S, KC_D, KC_F, KC_G, KC_TAB, KC_ENT, KC_H, KC_J, KC_K, KC_L, KC_SCLN, - KC_Z, KC_X, KC_C, KC_V, KC_B, OSM_SFT, DM_PLAY, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, - OSM_CTL, KC_LGUI, OSM_ALT, OSL_FUN, OSL_LWR, MT_SPC, MT_SPC, OSL_RSE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + KC_Z, KC_X, KC_C, KC_V, KC_B, OSMLSFT, DM_PLAY, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, + OSMLCTL, KC_LGUI, OSMLALT, OSL_FUN, OSL_LWR, MT_SPC, MT_SPC, OSL_RSE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT ), [LWR] = LAYOUT_planck_grid( KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, @@ -43,16 +33,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -/* -void matrix_init_user(void) { - eeconfig_init(); -}; -*/ - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (!process_record_dynamic_macro(keycode, record)) { - return false; - } - return true; -} - diff --git a/users/dshields/config.h b/users/dshields/config.h new file mode 100644 index 000000000..743f16f99 --- /dev/null +++ b/users/dshields/config.h @@ -0,0 +1,14 @@ +#pragma once + +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define USB_MAX_POWER_CONSUMPTION 100 +#define ONESHOT_TAP_TOGGLE 2 +#define ONESHOT_TIMEOUT 3000 +#define RETRO_TAPPING + +#define MOUSEKEY_INTERVAL 20 +#define MOUSEKEY_DELAY 0 +#define MOUSEKEY_TIME_TO_MAX 40 +#define MOUSEKEY_MAX_SPEED 7 +#define MOUSEKEY_WHEEL_DELAY 0 + diff --git a/users/dshields/dshields.c b/users/dshields/dshields.c new file mode 100644 index 000000000..6aff5c671 --- /dev/null +++ b/users/dshields/dshields.c @@ -0,0 +1,30 @@ +extern keymap_config_t keymap_config; + +/* uncomment to reset +void matrix_init_user(void) { + eeconfig_init(); +}; +*/ + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (!process_record_dynamic_macro(keycode, record)) { + return false; + } + return true; +} + +// work in progress +uint32_t layer_state_set_user(uint32_t state) { + switch (biton32(state)) { + case DEF: + set_all_leds_to(0,0,0); + break; + case FUN: + // TODO light the fn keys + // set_led_to(?, 0, 128, 0); + // set_led_to(?, 0, 128, 0); + break; + } + return state; +} + diff --git a/users/dshields/dshields.h b/users/dshields/dshields.h new file mode 100644 index 000000000..c746e74fb --- /dev/null +++ b/users/dshields/dshields.h @@ -0,0 +1,31 @@ +#pragma once + +// dynamic macro keys +#define DM_PLAY DYN_MACRO_PLAY1 +#define DM_STRT DYN_REC_START1 +#define DM_STOP DYN_REC_STOP + +// one-shot layer keys +#define OSL_RSE OSL(RSE) +#define OSL_LWR OSL(LWR) +#define OSL_FUN OSL(FUN) + +// one-shot modifier keys +#define OSMLCTL OSM(MOD_LCTL) +#define OSMRCTL OSM(MOD_RCTL) +#define OSMLALT OSM(MOD_LALT) +#define OSMRALT OSM(MOD_RALT) +#define OSMLSFT OSM(MOD_LSFT) +#define OSMRSFT OSM(MOD_RSFT) + +// mod-tap keys +#define MT_SPC SFT_T(KC_SPC) + +#ifdef KEYBOARD_planck_light + #define LGT_TOG RGB_TOG + #define LGT_MOD RGB_MOD +#else + #define LGT_TOG BL_TOGG + #define LGT_MOD BL_STEP +#endif + diff --git a/keyboards/planck/keymaps/dshields/rules.mk b/users/dshields/rules.mk similarity index 100% rename from keyboards/planck/keymaps/dshields/rules.mk rename to users/dshields/rules.mk