From 493fbb3dc1423e0d42e57a6dc7ba38b880b37eb5 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Fri, 15 Mar 2019 08:57:44 -0700 Subject: [Keymap] Update to drashna keymaps: Conform to QMK Standards Edition (#5377) * Use correct functions for dip switch code * Some planck cleanup * Hopefully fix RGB Sleeping with RGB Matrix * Add rgbmatrix extern * Add numpad 5x6 layout * RGB Tweaks * Add RGB startup animation * Minor RGB Fixes * Turn off RBG on planck * Enable separate storage of EEPROM * Update Macro pad * Add BJohnson Keymap and minor darshna tweaks * Clean up rgb and other code for new numpad * Remove clicky hachy thing * Update my code to use built in MOD_MASK defines * Fix up modifier calls * Tweak to KC_MAKE * Tweak to KC_MAKE * Add Semi-colon to numpad * Preprocess out rgb matrix stuff if not enabled * Formatting of KC_MAKE * Add stuff for matrix and light rgb coexistance * Fix bad spelling * Change where layer indication shows based on rgblight status * Force set mods in KC_MAKE * Optimize CRKBD --- layouts/community/ergodox/drashna/keymap.c | 16 ++++---- layouts/community/ergodox/drashna_glow/config.h | 11 ++++++ layouts/community/ergodox/drashna_glow/keymap.c | 3 ++ layouts/community/numpad_5x6/bjohnson/config.h | 25 ++++++++++++ layouts/community/numpad_5x6/bjohnson/keymap.c | 51 +++++++++++++++++++++++++ layouts/community/numpad_5x6/bjohnson/rules.mk | 5 +++ layouts/community/numpad_5x6/drashna/config.h | 18 +++++++++ layouts/community/numpad_5x6/drashna/keymap.c | 22 +++++++++++ layouts/community/numpad_5x6/drashna/rules.mk | 9 +++++ layouts/community/numpad_5x6/layout.json | 6 +++ layouts/community/numpad_5x6/readme.md | 3 ++ layouts/community/ortho_4x12/drashna/config.h | 10 ++--- layouts/community/ortho_4x12/drashna/keymap.c | 39 +++++++++++-------- layouts/community/ortho_4x12/drashna/rules.mk | 2 +- 14 files changed, 191 insertions(+), 29 deletions(-) create mode 100644 layouts/community/numpad_5x6/bjohnson/config.h create mode 100644 layouts/community/numpad_5x6/bjohnson/keymap.c create mode 100644 layouts/community/numpad_5x6/bjohnson/rules.mk create mode 100644 layouts/community/numpad_5x6/drashna/config.h create mode 100644 layouts/community/numpad_5x6/drashna/keymap.c create mode 100644 layouts/community/numpad_5x6/drashna/rules.mk create mode 100644 layouts/community/numpad_5x6/layout.json create mode 100644 layouts/community/numpad_5x6/readme.md (limited to 'layouts') diff --git a/layouts/community/ergodox/drashna/keymap.c b/layouts/community/ergodox/drashna/keymap.c index e0100de8f..428706e2d 100644 --- a/layouts/community/ergodox/drashna/keymap.c +++ b/layouts/community/ergodox/drashna/keymap.c @@ -360,15 +360,15 @@ void matrix_scan_keymap(void) { // runs frequently to update info // Since we're not using the LEDs here for layer indication anymore, // then lets use them for modifier indicators. Shame we don't have 4... // Also, no "else", since we want to know each, independently. - if (modifiers & MODS_SHIFT_MASK || led_usb_state & (1< 0; i--) { + rgblight_sethsv_noeeprom( ( i + 180) % 360, 255, 255); + wait_ms(8); + } + led_set_user(host_keyboard_leds()); + rgblight_mode_noeeprom(temp_mode); +#endif +} + +void led_set_user(uint8_t usb_led) { + if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) { + rgblight_sethsv_noeeprom_cyan(); + } else { + rgblight_sethsv_noeeprom_magenta(); + } +} + +void shutdown_user (void) { + #ifdef RGBLIGHT_ENABLE + rgblight_enable_noeeprom(); + rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); + rgblight_setrgb_red(); + #endif // RGBLIGHT_ENABLE +} diff --git a/layouts/community/numpad_5x6/bjohnson/rules.mk b/layouts/community/numpad_5x6/bjohnson/rules.mk new file mode 100644 index 000000000..d370da7f1 --- /dev/null +++ b/layouts/community/numpad_5x6/bjohnson/rules.mk @@ -0,0 +1,5 @@ +AUDIO_ENABLE = no +RGBLIGHT_ENABLE = yes +BACKLIGHT_ENABLE = no +NO_SECRETS = yes +BOOTMAGIC_ENABLE = lite diff --git a/layouts/community/numpad_5x6/drashna/config.h b/layouts/community/numpad_5x6/drashna/config.h new file mode 100644 index 000000000..ec66940e0 --- /dev/null +++ b/layouts/community/numpad_5x6/drashna/config.h @@ -0,0 +1,18 @@ +#pragma once + +// #define B6_AUDIO + +#if defined(RGBLIGHT_ENABLE) && !defined(RGBLED_NUM) +#define RGB_DI_PIN B1 +#define RGBLED_NUM 16 // Number of LEDs + +#define RGBLIGHT_HUE_STEP 12 +#define RGBLIGHT_SAT_STEP 12 +#define RGBLIGHT_VAL_STEP 12 +#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2 +#define RGBLIGHT_EFFECT_SNAKE_LENGTH 2 +#define RGBLIGHT_EFFECT_BREATHE_CENTER 1 +#endif // RGBLIGHT_ENABLE + + +#define TAP_CODE_DELAY 10 diff --git a/layouts/community/numpad_5x6/drashna/keymap.c b/layouts/community/numpad_5x6/drashna/keymap.c new file mode 100644 index 000000000..646f4db33 --- /dev/null +++ b/layouts/community/numpad_5x6/drashna/keymap.c @@ -0,0 +1,22 @@ +#include QMK_KEYBOARD_H +#include "drashna.h" + +#define F2_MCRO LT(_GAMEPAD, KC_F2) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_NUMLOCK] = LAYOUT_numpad_5x6( + KC_F1, F2_MCRO, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + KC_F3, KC_F4, KC_P7, KC_P8, KC_P9, + KC_F5, KC_F6, KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_F7, KC_F8, KC_P1, KC_P2, KC_P3, + KC_F9, KC_COLN, KC_P0, KC_PDOT, KC_PENT + ), + + [_GAMEPAD] = LAYOUT_numpad_5x6( + RGB_TOG, _______, _______, EEP_RST, KC_MAKE, RESET, + RGB_MOD, RGB_RMOD, _______, _______, _______, + RGB_HUI, RGB_HUD, _______, _______, _______, _______, + RGB_SAI, RGB_SAD, _______, _______, _______, + RGB_VAI, RGB_VAD, _______, _______, _______ + ), +}; diff --git a/layouts/community/numpad_5x6/drashna/rules.mk b/layouts/community/numpad_5x6/drashna/rules.mk new file mode 100644 index 000000000..ed6fa8c79 --- /dev/null +++ b/layouts/community/numpad_5x6/drashna/rules.mk @@ -0,0 +1,9 @@ +AUDIO_ENABLE = no +RGBLIGHT_ENABLE = yes +BACKLIGHT_ENABLE = no +NO_SECRETS = yes +BOOTMAGIC_ENABLE = lite +INDICATOR_LIGHTS = no +RGBLIGHT_TWINKLE = yes +MACROS_ENABLED = no +MAKE_BOOTLOADER = yes diff --git a/layouts/community/numpad_5x6/layout.json b/layouts/community/numpad_5x6/layout.json new file mode 100644 index 000000000..7264cd5a6 --- /dev/null +++ b/layouts/community/numpad_5x6/layout.json @@ -0,0 +1,6 @@ +["","","",""], +[{y:0.5},"","","",""], +["","","",{h:2},""], +["","",""], +["","","",{h:2},""], +[{w:2},"",""] diff --git a/layouts/community/numpad_5x6/readme.md b/layouts/community/numpad_5x6/readme.md new file mode 100644 index 000000000..147097c83 --- /dev/null +++ b/layouts/community/numpad_5x6/readme.md @@ -0,0 +1,3 @@ +# numpad_5x6 + + LAYOUT_numpad_5x6 diff --git a/layouts/community/ortho_4x12/drashna/config.h b/layouts/community/ortho_4x12/drashna/config.h index 55862aec3..f648d1127 100644 --- a/layouts/community/ortho_4x12/drashna/config.h +++ b/layouts/community/ortho_4x12/drashna/config.h @@ -2,9 +2,9 @@ #if defined(RGBLIGHT_ENABLE) && !defined(RGBLED_NUM) -#define RGB_DI_PIN D3 -#define RGBLED_NUM 16 // Number of LEDs - +#define RGB_DI_PIN B3 +#define RGBLED_NUM 13 // Number of LEDs +#define RGBLIGHT_ANIMATIONS #define RGBLIGHT_HUE_STEP 12 #define RGBLIGHT_SAT_STEP 12 #define RGBLIGHT_VAL_STEP 12 @@ -17,10 +17,10 @@ #define RGB_MATRIX_KEYPRESSES // reacts to keypresses (will slow down matrix scan by a lot) // #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (not recommened) // #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -// #define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended +#define RGB_DISABLE_WHEN_USB_SUSPENDED true// turn off effects when suspended // #define RGB_MATRIX_SKIP_FRAMES 1 // number of frames to skip when displaying animations (0 is full effect) if not defined defaults to 1 // #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 -// #define EECONFIG_RGB_MATRIX (uint32_t *)16 +#define EECONFIG_RGB_MATRIX (uint32_t *)15 #endif #if defined(KEYBOARD_lets_split_rev2) diff --git a/layouts/community/ortho_4x12/drashna/keymap.c b/layouts/community/ortho_4x12/drashna/keymap.c index f5ead81da..28da1b204 100644 --- a/layouts/community/ortho_4x12/drashna/keymap.c +++ b/layouts/community/ortho_4x12/drashna/keymap.c @@ -19,7 +19,12 @@ #ifdef RGB_MATRIX_ENABLE extern bool g_suspend_state; +extern rgb_config_t rgb_matrix_config; #endif +#ifdef RGBLIGHT_ENABLE +extern rgblight_config_t rgblight_config; +#endif + #ifdef BACKLIGHT_ENABLE enum planck_keycodes { @@ -162,13 +167,13 @@ bool music_mask_user(uint16_t keycode) { #ifdef RGB_MATRIX_ENABLE -void suspend_power_down_keymap(void) -{ +void suspend_power_down_keymap(void) { rgb_matrix_set_suspend_state(true); + rgb_matrix_config.enable = false; } -void suspend_wakeup_init_keymap(void) -{ +void suspend_wakeup_init_keymap(void) { + rgb_matrix_config.enable = true; rgb_matrix_set_suspend_state(false); } @@ -188,7 +193,14 @@ void rgb_matrix_indicators_user(void) { uint8_t this_mod = get_mods(); uint8_t this_led = host_keyboard_leds(); uint8_t this_osm = get_oneshot_mods(); - if (!g_suspend_state) { + + if (!g_suspend_state && userspace_config.rgb_layer_change && +#if defined(RGBLIGHT_ENABLE) && defined(RGB_MATRIX_ENABLE) + (!rgblight_config.enable && rgb_matrix_config.enable) +#else + rgb_matrix_config.enable +#endif + ) { switch (biton32(layer_state)) { case _RAISE: rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, false); break; @@ -228,27 +240,26 @@ void rgb_matrix_indicators_user(void) { case _WORKMAN: rgb_matrix_set_color(42, 0xD9, 0xA5, 0x21); break; } - - if (this_mod & MODS_SHIFT_MASK || this_led & (1<