From 63a0b1241d204873cd5156a959e913c602b0c386 Mon Sep 17 00:00:00 2001 From: Daniel Shields Date: Sat, 21 Sep 2019 19:04:27 +0100 Subject: [Keymap] Move common code and configuration to userspace for dshields keymaps. (#6537) --- users/dshields/config.h | 14 ++++++++++++++ users/dshields/dshields.c | 30 ++++++++++++++++++++++++++++++ users/dshields/dshields.h | 31 +++++++++++++++++++++++++++++++ users/dshields/rules.mk | 24 ++++++++++++++++++++++++ 4 files changed, 99 insertions(+) create mode 100644 users/dshields/config.h create mode 100644 users/dshields/dshields.c create mode 100644 users/dshields/dshields.h create mode 100644 users/dshields/rules.mk (limited to 'users/dshields') diff --git a/users/dshields/config.h b/users/dshields/config.h new file mode 100644 index 0000000000..743f16f999 --- /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 0000000000..6aff5c6716 --- /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 0000000000..c746e74fb5 --- /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/users/dshields/rules.mk b/users/dshields/rules.mk new file mode 100644 index 0000000000..a2bec43357 --- /dev/null +++ b/users/dshields/rules.mk @@ -0,0 +1,24 @@ +MOUSEKEY_ENABLE = yes # Mouse keys(+4700) +COMMAND_ENABLE = no # Commands for debug and configuration +CONSOLE_ENABLE = no # Console for debug(+400) +EXTRAKEY_ENABLE = no +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +API_SYSEX_ENABLE = no + +ifeq ($(strip $(KEYBOARD)), planck/rev3) + AUDIO_ENABLE = no + BACKLIGHT_ENABLE = yes + RGB_MATRIX_ENABLE = no +endif +ifeq ($(strip $(KEYBOARD)), planck/rev6) + EXTRALDFLAGS = -Wl,--build-id=none + AUDIO_ENABLE = no + BACKLIGHT_ENABLE = no + RGB_MATRIX_ENABLE = no +endif +ifeq ($(strip $(KEYBOARD)), planck/light) + AUDIO_ENABLE = yes + BACKLIGHT_ENABLE = no + RGB_MATRIX_ENABLE = yes +endif + -- cgit v1.2.3