diff options
author | Drashna Jaelre <drashna@live.com> | 2019-05-06 22:34:09 -0700 |
---|---|---|
committer | MechMerlin <30334081+mechmerlin@users.noreply.github.com> | 2019-05-06 22:34:09 -0700 |
commit | f3d5b1091d364468cd9f5510aef9e723d8542279 (patch) | |
tree | 762b8f562b1e96e42657f872fd4b04c8efaaa829 /layouts/community | |
parent | 7a751f114114bf3b78d5d8fc8bedf2b42b665dba (diff) |
[Keymap] RGB Changes for Drashna Keyboards (#5803)
* Disable a bunch of reactive modes
* Enable rgb matrix for Corne Keyboard
* Convert CRKBD to rgb matrix
* Add Gergo keyboard layout
* Make Diablo 3 tap dance better
* Add basic support for Planck EZ
* Fix RGB Matrix stuff
* Fix keycodes for Planck EZ
* Update CRKBD OLED stuff
* Fix typo for sleep on ergodox glow
* Improve my gergo layout
* Scrolling OLED key logger!
* Change gergo layout
* Hnadle unicode keycodes if unicode is disabled
* Disable COMMAND/CONSOLE for gergo
* Fix right side control
* Re-enable LTO for all platforms
Since I got updated arm gcc binaries that no longer error out on lto
* Update formatting to match newer community standards
Poor 2 space
* Re-alight startup animation to use new HUE range
* Streamline gitlab ci scripts
* Disabled Space Cadet
* Add support for breathing table
* Enable new LTO Option
And clean up defines that will now be repeatitive
* Remove vscode settings
* Additional formatting cleanup of config.h files
Diffstat (limited to 'layouts/community')
-rw-r--r-- | layouts/community/ergodox/drashna/config.h | 9 | ||||
-rw-r--r-- | layouts/community/ergodox/drashna/keymap.c | 300 | ||||
-rw-r--r-- | layouts/community/ergodox/drashna/rules.mk | 23 | ||||
-rw-r--r-- | layouts/community/ergodox/drashna_glow/config.h | 15 | ||||
-rw-r--r-- | layouts/community/numpad_5x6/drashna/config.h | 19 | ||||
-rw-r--r-- | layouts/community/ortho_4x12/drashna/config.h | 59 | ||||
-rw-r--r-- | layouts/community/ortho_4x12/drashna/keymap.c | 312 | ||||
-rw-r--r-- | layouts/community/ortho_4x12/drashna/rules.mk | 25 | ||||
-rw-r--r-- | layouts/community/ortho_5x12/drashna/config.h | 29 |
9 files changed, 419 insertions, 372 deletions
diff --git a/layouts/community/ergodox/drashna/config.h b/layouts/community/ergodox/drashna/config.h index 7b2ad4fa1c..7feaf6f252 100644 --- a/layouts/community/ergodox/drashna/config.h +++ b/layouts/community/ergodox/drashna/config.h @@ -1,12 +1,11 @@ #pragma once #ifdef RGBLIGHT_ENABLE -#undef RGBLIGHT_SAT_STEP -#define RGBLIGHT_SAT_STEP 12 +# undef RGBLIGHT_SAT_STEP +# define RGBLIGHT_SAT_STEP 12 -#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 3 -#define RGBLIGHT_EFFECT_SNAKE_LENGTH 3 -#define RGBLIGHT_EFFECT_BREATHE_CENTER 1 +# define RGBLIGHT_EFFECT_KNIGHT_LENGTH 3 +# define RGBLIGHT_EFFECT_SNAKE_LENGTH 3 #endif // RGBLIGHT_ENABLE diff --git a/layouts/community/ergodox/drashna/keymap.c b/layouts/community/ergodox/drashna/keymap.c index 26c2e33040..eeb21501ba 100644 --- a/layouts/community/ergodox/drashna/keymap.c +++ b/layouts/community/ergodox/drashna/keymap.c @@ -20,6 +20,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #ifdef UNICODEMAP_ENABLE #include "drashna_unicode.h" #endif // UNICODEMAP_ENABLE +#ifndef UNICODE_ENABLE +# define UC(x) KC_NO +#endif #ifdef RGB_MATRIX_ENABLE extern bool g_suspend_state; @@ -28,7 +31,7 @@ extern rgb_config_t rgb_matrix_config; extern userspace_config_t userspace_config; enum more_custom_keycodes { - KC_SWAP_NUM = NEW_SAFE_RANGE + KC_SWAP_NUM = NEW_SAFE_RANGE }; //define layer change stuff for underglow indicator @@ -43,7 +46,7 @@ bool skip_leds = false; KC_ESC, ________________NUMBER_LEFT________________, UC_FLIP, UC_TABL, ________________NUMBER_RIGHT_______________, KC_MINS, \ KC_TAB, K01, K02, K03, K04, K05, TG(_DIABLO), TG(_DIABLO), K06, K07, K08, K09, K0A, KC_BSLS, \ KC_C1R3, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, KC_QUOT, \ - KC_MLSF, CTL_T(K21), K22, K23, K24, K25, TG(_GAMEPAD), TG(_GAMEPAD), K26, K27, K28, K29, CTL_T(K2A), KC_MRSF, \ + KC_MLSF, CTL_T(K21), K22, K23, K24, K25, TG(_GAMEPAD), TG(_GAMEPAD), K26, K27, K28, K29, RCTL_T(K2A), KC_MRSF, \ KC_GRV, OS_MEH, OS_HYPR, KC_LBRC, KC_RBRC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, UC(0x2E2E), \ OS_LALT, OS_LGUI, OS_RGUI, CTL_T(KC_ESCAPE), \ KC_APP, KC_MENU, \ @@ -305,87 +308,88 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case KC_1: - if (IS_LAYER_ON(_GAMEPAD) && userspace_config.swapped_numbers) { - if (record->event.pressed) { - register_code(KC_2); - } else { - unregister_code(KC_2); - } - return false; - } - break; - case KC_2: - if (IS_LAYER_ON(_GAMEPAD) && userspace_config.swapped_numbers) { - if (record->event.pressed) { - register_code(KC_1); - } else { - unregister_code(KC_1); - } - return false; - } - break; - case KC_SWAP_NUM: - if (record->event.pressed) { - userspace_config.swapped_numbers ^= 1; - eeconfig_update_user(userspace_config.raw); - } - } - //switch (keycode) { - // case KC_P00: - // if (!record->event.pressed) { - // register_code(KC_KP_0); - // unregister_code(KC_KP_0); - // register_code(KC_KP_0); - // unregister_code(KC_KP_0); - // } - // return false; - // break; - //} - return true; + switch (keycode) { + case KC_1: + if (IS_LAYER_ON(_GAMEPAD) && userspace_config.swapped_numbers) { + if (record->event.pressed) { + register_code(KC_2); + } else { + unregister_code(KC_2); + } + return false; + } + break; + case KC_2: + if (IS_LAYER_ON(_GAMEPAD) && userspace_config.swapped_numbers) { + if (record->event.pressed) { + register_code(KC_1); + } else { + unregister_code(KC_1); + } + return false; + } + break; + case KC_SWAP_NUM: + if (record->event.pressed) { + userspace_config.swapped_numbers ^= 1; + eeconfig_update_user(userspace_config.raw); + } + break; + } + //switch (keycode) { + // case KC_P00: + // if (!record->event.pressed) { + // register_code(KC_KP_0); + // unregister_code(KC_KP_0); + // register_code(KC_KP_0); + // unregister_code(KC_KP_0); + // } + // return false; + // break; + //} + return true; } void matrix_scan_keymap(void) { // runs frequently to update info - uint8_t modifiers = get_mods(); - uint8_t led_usb_state = host_keyboard_leds(); - uint8_t one_shot = get_oneshot_mods(); - - if (!skip_leds) { - ergodox_board_led_off(); - ergodox_right_led_1_off(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); - - // 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 | one_shot ) & MOD_MASK_SHIFT || led_usb_state & (1<<USB_LED_CAPS_LOCK) ) { - ergodox_right_led_2_on(); - ergodox_right_led_2_set( 50 ); - } - if ( ( modifiers | one_shot ) & MOD_MASK_CTRL) { - ergodox_right_led_1_on(); - ergodox_right_led_1_set( 10 ); - } - if ( ( modifiers | one_shot ) & MOD_MASK_ALT) { - ergodox_right_led_3_on(); - ergodox_right_led_3_set( 10 ); - } + uint8_t modifiers = get_mods(); + uint8_t led_usb_state = host_keyboard_leds(); + uint8_t one_shot = get_oneshot_mods(); + + if (!skip_leds) { + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + + // 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 | one_shot ) & MOD_MASK_SHIFT || led_usb_state & (1<<USB_LED_CAPS_LOCK) ) { + ergodox_right_led_2_on(); + ergodox_right_led_2_set( 50 ); + } + if ( ( modifiers | one_shot ) & MOD_MASK_CTRL) { + ergodox_right_led_1_on(); + ergodox_right_led_1_set( 10 ); + } + if ( ( modifiers | one_shot ) & MOD_MASK_ALT) { + ergodox_right_led_3_on(); + ergodox_right_led_3_set( 10 ); + } - } + } -}; +} bool indicator_is_this_led_used_keyboard(uint8_t index) { - switch (index) { - case 13 ... 14: - return true; - break; - default: - return false; - } + switch (index) { + case 13 ... 14: + return true; + break; + default: + return false; + } } @@ -393,101 +397,81 @@ bool indicator_is_this_led_used_keyboard(uint8_t index) { void suspend_power_down_keymap(void) { rgb_matrix_set_suspend_state(true); - rgb_matrix_config.enable = false; } void suspend_wakeup_init_keymap(void) { - rgb_matrix_config.enable = true; rgb_matrix_set_suspend_state(false); } void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) { - rgb_led led; - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { - led = g_rgb_leds[i]; - if (HAS_FLAGS(led.flags, LED_FLAG_MODIFIER)) { - rgb_matrix_set_color( i, red, green, blue ); + rgb_led led; + for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + led = g_rgb_leds[i]; + if (HAS_FLAGS(led.flags, LED_FLAG_MODIFIER)) { + rgb_matrix_set_color( i, red, green, blue ); + } } - } } void rgb_matrix_indicators_user(void) { - if (g_suspend_state || !rgb_matrix_config.enable || !userspace_config.rgb_layer_change) { return; } - - switch (biton32(layer_state)) { - case _MODS: - rgb_matrix_layer_helper(0xFF, 0xFF, 0x00); break; - case _GAMEPAD: - rgb_matrix_layer_helper(0xFF, 0x80, 0x00); - rgb_matrix_set_color(32, 0x00, 0xFF, 0x00); // Q - rgb_matrix_set_color(31, 0x00, 0xFF, 0xFF); // W - rgb_matrix_set_color(30, 0xFF, 0x00, 0x00); // E - rgb_matrix_set_color(29, 0xFF, 0x80, 0x00); // R - rgb_matrix_set_color(37, 0x00, 0xFF, 0xFF); // A - rgb_matrix_set_color(36, 0x00, 0xFF, 0xFF); // S - rgb_matrix_set_color(35, 0x00, 0xFF, 0xFF); // D - rgb_matrix_set_color(34, 0x7A, 0x00, 0xFF); // F - - rgb_matrix_set_color(27, 0xFF, 0xFF, 0xFF); // 1 - rgb_matrix_set_color(26, 0x00, 0xFF, 0x00); // 2 - rgb_matrix_set_color(25, 0x7A, 0x00, 0xFF); // 3 - - break; - case _DIABLO: - rgb_matrix_layer_helper(0xFF, 0x00, 0x00); break; - case _RAISE: - rgb_matrix_layer_helper(0xFF, 0xFF, 0x00); break; - case _LOWER: - rgb_matrix_layer_helper(0x00, 0xFF, 0x00); break; - case _ADJUST: - rgb_matrix_layer_helper(0xFF, 0x00, 0x00); break; - default: - switch (biton32(default_layer_state)) { - case _QWERTY: - rgb_matrix_layer_helper(0x00, 0xFF, 0xFF); break; - case _COLEMAK: - rgb_matrix_layer_helper(0xFF, 0x00, 0xFF); break; - case _DVORAK: - rgb_matrix_layer_helper(0x00, 0xFF, 0x00); break; - case _WORKMAN: - rgb_matrix_layer_helper(0xD9, 0xA5, 0x21); break; - case _NORMAN: - rgb_matrix_layer_helper(0xFF, 0x7C, 0x4D); break; - case _MALTRON: - rgb_matrix_layer_helper(0xFF, 0xFF, 0x00); break; - case _EUCALYN: - rgb_matrix_layer_helper(0xFF, 0x80, 0xBF); break; - case _CARPLAX: - rgb_matrix_layer_helper(0x00, 0x00, 0xFF); break; - } - } -#if 0 - if (this_mod & MOD_MASK_SHIFT || this_led & (1<<USB_LED_CAPS_LOCK) || this_osm & MOD_MASK_SHIFT) { - rgb_matrix_set_color(24, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(36, 0x00, 0xFF, 0x00); - } - if (this_mod & MOD_MASK_CTRL || this_osm & MOD_MASK_CTRL) { - rgb_matrix_set_color(25, 0xFF, 0x00, 0x00); - rgb_matrix_set_color(34, 0xFF, 0x00, 0x00); - rgb_matrix_set_color(37, 0xFF, 0x00, 0x00); - - } - if (this_mod & MOD_MASK_GUI || this_osm & MOD_MASK_GUI) { - rgb_matrix_set_color(39, 0xFF, 0xD9, 0x00); - } - if (this_mod & MOD_MASK_ALT || this_osm & MOD_MASK_ALT) { - rgb_matrix_set_color(38, 0x00, 0x00, 0xFF); - } + if ( userspace_config.rgb_layer_change && +#ifdef RGB_DISABLE_WHEN_USB_SUSPENDED + !g_suspend_state && #endif -} - -void matrix_init_keymap(void) { -#if 0 - #ifdef RGB_MATRIX_KEYPRESSES - rgblight_mode(RGB_MATRIX_MULTISPLASH); - #else - rgblight_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON); - #endif +#if defined(RGBLIGHT_ENABLE) + (!rgblight_config.enable && rgb_matrix_config.enable) +#else + rgb_matrix_config.enable #endif + ) { + switch (biton32(layer_state)) { + case _MODS: + rgb_matrix_layer_helper(0xFF, 0xFF, 0x00); break; + case _GAMEPAD: + rgb_matrix_layer_helper(0xFF, 0x80, 0x00); + rgb_matrix_set_color(32, 0x00, 0xFF, 0x00); // Q + rgb_matrix_set_color(31, 0x00, 0xFF, 0xFF); // W + rgb_matrix_set_color(30, 0xFF, 0x00, 0x00); // E + rgb_matrix_set_color(29, 0xFF, 0x80, 0x00); // R + rgb_matrix_set_color(37, 0x00, 0xFF, 0xFF); // A + rgb_matrix_set_color(36, 0x00, 0xFF, 0xFF); // S + rgb_matrix_set_color(35, 0x00, 0xFF, 0xFF); // D + rgb_matrix_set_color(34, 0x7A, 0x00, 0xFF); // F + + rgb_matrix_set_color(27, 0xFF, 0xFF, 0xFF); // 1 + rgb_matrix_set_color(26, 0x00, 0xFF, 0x00); // 2 + rgb_matrix_set_color(25, 0x7A, 0x00, 0xFF); // 3 + + break; + case _DIABLO: + rgb_matrix_layer_helper(0xFF, 0x00, 0x00); break; + case _RAISE: + rgb_matrix_layer_helper(0xFF, 0xFF, 0x00); break; + case _LOWER: + rgb_matrix_layer_helper(0x00, 0xFF, 0x00); break; + case _ADJUST: + rgb_matrix_layer_helper(0xFF, 0x00, 0x00); break; + default: + switch (biton32(default_layer_state)) { + case _QWERTY: + rgb_matrix_layer_helper(0x00, 0xFF, 0xFF); break; + case _COLEMAK: + rgb_matrix_layer_helper(0xFF, 0x00, 0xFF); break; + case _DVORAK: + rgb_matrix_layer_helper(0x00, 0xFF, 0x00); break; + case _WORKMAN: + rgb_matrix_layer_helper(0xD9, 0xA5, 0x21); break; + case _NORMAN: + rgb_matrix_layer_helper(0xFF, 0x7C, 0x4D); break; + case _MALTRON: + rgb_matrix_layer_helper(0xFF, 0xFF, 0x00); break; + case _EUCALYN: + rgb_matrix_layer_helper(0xFF, 0x80, 0xBF); break; + case _CARPLAX: + rgb_matrix_layer_helper(0x00, 0x00, 0xFF); break; + } + } + } } + #endif //RGB_MATRIX_INIT diff --git a/layouts/community/ergodox/drashna/rules.mk b/layouts/community/ergodox/drashna/rules.mk index ee231321e3..f0628d9daf 100644 --- a/layouts/community/ergodox/drashna/rules.mk +++ b/layouts/community/ergodox/drashna/rules.mk @@ -1,19 +1,20 @@ -TAP_DANCE_ENABLE = yes -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -COMMAND_ENABLE = no # Commands for debug and configuration +TAP_DANCE_ENABLE = yes +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +COMMAND_ENABLE = no # Commands for debug and configuration +SPACE_CADET_ENABLE = no ifneq (,$(findstring ergodox_ez,$(KEYBOARD))) - RGBLIGHT_ENABLE = yes + RGBLIGHT_ENABLE = yes RGB_MATRIX_ENABLE = no endif -CONSOLE_ENABLE = no -BOOTMAGIC_ENABLE = yes +CONSOLE_ENABLE = no +BOOTMAGIC_ENABLE = yes -UNICODE_ENABLE = yes -UNICDOEMAP_ENABLE = no +UNICODE_ENABLE = yes +UNICDOEMAP_ENABLE = no -MACROS_ENABLED = no -RGBLIGHT_TWINKLE = no -INDICATOR_LIGHTS = no +MACROS_ENABLED = no +RGBLIGHT_TWINKLE = no +INDICATOR_LIGHTS = no RGBLIGHT_STARTUP_ANIMATION = yes DEBOUNCE_TYPE = eager_pk diff --git a/layouts/community/ergodox/drashna_glow/config.h b/layouts/community/ergodox/drashna_glow/config.h index e2d9594267..5eb1c6d0f3 100644 --- a/layouts/community/ergodox/drashna_glow/config.h +++ b/layouts/community/ergodox/drashna_glow/config.h @@ -6,10 +6,21 @@ #define PRODUCT DrashnaDox - Hacked ErgoDox EZ Glow #ifdef RGB_MATRIX_ENABLE -#define RGB_MATRIX_KEYPRESSES // reacts to keypresses (will slow down matrix scan by a lot) +# 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 true// turn off effects when suspended +# define RGB_DISABLE_WHEN_USB_SUSPENDED true// turn off effects when suspended // #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 DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN +# define DISABLE_RGB_MATRIX_CYCLE_ALL +# define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +# define DISABLE_RGB_MATRIX_DUAL_BEACON +# define DISABLE_RGB_MATRIX_RAINBOW_BEACON +# define DISABLE_RGB_MATRIX_DIGITAL_RAIN +# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS + #endif diff --git a/layouts/community/numpad_5x6/drashna/config.h b/layouts/community/numpad_5x6/drashna/config.h index e3a70694a7..2fc5ab6588 100644 --- a/layouts/community/numpad_5x6/drashna/config.h +++ b/layouts/community/numpad_5x6/drashna/config.h @@ -3,18 +3,17 @@ // #define B6_AUDIO #if defined(RGBLIGHT_ENABLE) && !defined(RGBLED_NUM) -#define RGB_DI_PIN B1 -#define RGBLED_NUM 16 // Number of LEDs +# 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 +# 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 #endif // RGBLIGHT_ENABLE #if defined(KEYBOARD_primekb_prime_m) -#undef PRODUCT -#define PRODUCT Drashna Hacked Prime_M Macro Pad +# undef PRODUCT +# define PRODUCT Drashna Hacked Prime_M Macro Pad #endif diff --git a/layouts/community/ortho_4x12/drashna/config.h b/layouts/community/ortho_4x12/drashna/config.h index f8e12f33d7..475afd213f 100644 --- a/layouts/community/ortho_4x12/drashna/config.h +++ b/layouts/community/ortho_4x12/drashna/config.h @@ -2,49 +2,52 @@ #if defined(RGBLIGHT_ENABLE) && !defined(RGBLED_NUM) -#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 -#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2 -#define RGBLIGHT_EFFECT_SNAKE_LENGTH 2 -#define RGBLIGHT_EFFECT_BREATHE_CENTER 1 +# 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 +# define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2 +# define RGBLIGHT_EFFECT_SNAKE_LENGTH 2 +# ifdef RGB_MATRIX_ENABLE +# define RGBLIGHT_DISABLE_KEYCODES +# endif #endif // RGBLIGHT_ENABLE #ifdef RGB_MATRIX_ENABLE -#define RGB_MATRIX_KEYPRESSES // reacts to keypresses (will slow down matrix scan by a lot) +# 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 true// turn off effects when suspended // #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 *)15 +# define RGB_DISABLE_WHEN_USB_SUSPENDED true// turn off effects when suspended +# ifndef KEYBOARD_planck_ez +# define EECONFIG_RGB_MATRIX (uint32_t *)15 +# endif #endif #if defined(KEYBOARD_lets_split_rev2) -#define USE_SERIAL -#undef USE_I2C - -#define EE_HANDS +# define USE_SERIAL +# undef USE_I2C +# define EE_HANDS #endif #if !defined(KEYBOARD_planck_light) -#ifdef RGBLIGHT_ENABLE -#define NO_MUSIC_MODE -#endif // RGBLIGHT_ENABLE +# ifdef RGBLIGHT_ENABLE +# define NO_MUSIC_MODE +# endif // RGBLIGHT_ENABLE #endif // KEYBOARD_planck_light #if defined(KEYBOARD_planck) -#undef PRODUCT -#if defined(KEYBOARD_planck_light) -#define PRODUCT Drashna Hacked RGB Beacon (Planck Light) -#elif defined(KEYBOARD_planck_rev6) -#define PRODUCT Drashna Hacked Planck Rev6 -#elif defined(KEYBOARD_planck_EZ) -#define PRODUCT Drashna Hacked Planck EZ -#endif +# undef PRODUCT +# if defined(KEYBOARD_planck_light) +# define PRODUCT Drashna Hacked RGB Beacon (Planck Light) +# elif defined(KEYBOARD_planck_rev6) +# define PRODUCT Drashna Hacked Planck Rev6 +# elif defined(KEYBOARD_planck_EZ) +# define PRODUCT Drashna Hacked Planck EZ +# endif #endif /* @@ -58,7 +61,7 @@ - MIDI notes can be sent when in Music mode is on */ -#define MIDI_BASIC +// #define MIDI_BASIC /* enable advanced MIDI features: - MIDI notes can be added to the keymap diff --git a/layouts/community/ortho_4x12/drashna/keymap.c b/layouts/community/ortho_4x12/drashna/keymap.c index f82b4e7da7..5eef2e0234 100644 --- a/layouts/community/ortho_4x12/drashna/keymap.c +++ b/layouts/community/ortho_4x12/drashna/keymap.c @@ -34,6 +34,18 @@ enum planck_keycodes { #define BACKLIT OSM(MOD_LSFT) #endif +#ifdef KEYBOARD_planck_ez +# define PLNK_1 BK_LWER +# define PLNK_2 SP_LWER +# define PLNK_3 KC_NO +# define PLNK_4 ET_RAIS +#else +# define PLNK_1 SP_LWER +# define PLNK_2 BK_LWER +# define PLNK_3 DL_RAIS +# define PLNK_4 ET_RAIS +#endif + #define LAYOUT_ortho_4x12_base( \ K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ @@ -42,8 +54,8 @@ enum planck_keycodes { LAYOUT_ortho_4x12_wrapper( \ KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_BSPC, \ KC_TAB, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, KC_QUOT, \ - KC_MLSF, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, CTL_T(K2A), KC_ENT, \ - BACKLIT, OS_LCTL, OS_LALT, OS_LGUI, SP_LWER, BK_LWER, DL_RAIS, ET_RAIS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \ + KC_MLSF, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), KC_ENT, \ + BACKLIT, OS_LCTL, OS_LALT, OS_LGUI, PLNK_1, PLNK_2, PLNK_3, PLNK_4, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \ ) #define LAYOUT_ortho_4x12_base_wrapper(...) LAYOUT_ortho_4x12_base(__VA_ARGS__) @@ -130,128 +142,132 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - -#ifdef BACKLIGHT_ENABLE - case BACKLIT: - if (record->event.pressed) { - register_code(KC_RSFT); - #ifdef BACKLIGHT_ENABLE - backlight_step(); - #endif - } else { - unregister_code(KC_RSFT); - } - return false; - break; + switch (keycode) { + #ifdef BACKLIGHT_ENABLE + case BACKLIT: + if (record->event.pressed) { + register_code(KC_RSFT); + #ifdef BACKLIGHT_ENABLE + backlight_step(); + #endif + } else { + unregister_code(KC_RSFT); + } + return false; + break; #endif - } - return true; + } + return true; } bool music_mask_user(uint16_t keycode) { - switch (keycode) { - case RAISE: - case LOWER: - case BK_LWER: - case SP_LWER: - case DL_RAIS: - case ET_RAIS: - return false; - default: - return true; - } + switch (keycode) { + case RAISE: + case LOWER: + case BK_LWER: + case SP_LWER: + case DL_RAIS: + case ET_RAIS: + return false; + default: + return true; + } } #ifdef RGB_MATRIX_ENABLE void suspend_power_down_keymap(void) { rgb_matrix_set_suspend_state(true); - rgb_matrix_config.enable = false; } void suspend_wakeup_init_keymap(void) { - rgb_matrix_config.enable = true; rgb_matrix_set_suspend_state(false); } -void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue, bool default_layer) { - rgb_led led; - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { - led = g_rgb_leds[i]; - if (HAS_FLAGS(led.flags, LED_FLAG_MODIFIER)) { - rgb_matrix_set_color( i, red, green, blue ); +void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) { + rgb_led led; + for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + led = g_rgb_leds[i]; + if (HAS_FLAGS(led.flags, LED_FLAG_MODIFIER)) { + rgb_matrix_set_color( i, red, green, blue ); + } } - } } 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 && userspace_config.rgb_layer_change && -#if defined(RGBLIGHT_ENABLE) && defined(RGB_MATRIX_ENABLE) - (!rgblight_config.enable && rgb_matrix_config.enable) + uint8_t this_mod = get_mods(); + uint8_t this_led = host_keyboard_leds(); + uint8_t this_osm = get_oneshot_mods(); + bool is_ez; + #ifdef KEYBOARD_planck_ez + is_ez = true; + #endif + + if ( userspace_config.rgb_layer_change && +#ifdef RGB_DISABLE_WHEN_USB_SUSPENDED + !g_suspend_state && +#endif +#if defined(RGBLIGHT_ENABLE) + (!rgblight_config.enable && rgb_matrix_config.enable) #else - rgb_matrix_config.enable + rgb_matrix_config.enable #endif - ) { - switch (biton32(layer_state)) { - case _RAISE: - rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, false); break; - case _LOWER: - rgb_matrix_layer_helper(0x00, 0xFF, 0x00, false); break; - case _ADJUST: - rgb_matrix_layer_helper(0xFF, 0x00, 0x00, false); break; - default: - switch (biton32(default_layer_state)) { - case _QWERTY: - rgb_matrix_layer_helper(0x00, 0xFF, 0xFF, true); break; - case _COLEMAK: - rgb_matrix_layer_helper(0xFF, 0x00, 0xFF, true); break; - case _DVORAK: - rgb_matrix_layer_helper(0x00, 0xFF, 0x00, true); break; - case _WORKMAN: - rgb_matrix_layer_helper(0xD9, 0xA5, 0x21, true); break; - case _NORMAN: - rgb_matrix_layer_helper(0xFF, 0x7C, 0x4D, true); break; - case _MALTRON: - rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, true); break; - case _EUCALYN: - rgb_matrix_layer_helper(0xFF, 0x80, 0xBF, true); break; - case _CARPLAX: - rgb_matrix_layer_helper(0x00, 0x00, 0xFF, true); break; + ) { + switch (biton32(layer_state)) { + case _RAISE: + rgb_matrix_layer_helper(0xFF, 0xFF, 0x00); break; + case _LOWER: + rgb_matrix_layer_helper(0x00, 0xFF, 0x00); break; + case _ADJUST: + rgb_matrix_layer_helper(0xFF, 0x00, 0x00); break; + default: + switch (biton32(default_layer_state)) { + case _QWERTY: + rgb_matrix_layer_helper(0x00, 0xFF, 0xFF); break; + case _COLEMAK: + rgb_matrix_layer_helper(0xFF, 0x00, 0xFF); break; + case _DVORAK: + rgb_matrix_layer_helper(0x00, 0xFF, 0x00); break; + case _WORKMAN: + rgb_matrix_layer_helper(0xD9, 0xA5, 0x21); break; + case _NORMAN: + rgb_matrix_layer_helper(0xFF, 0x7C, 0x4D); break; + case _MALTRON: + rgb_matrix_layer_helper(0xFF, 0xFF, 0x00); break; + case _EUCALYN: + rgb_matrix_layer_helper(0xFF, 0x80, 0xBF); break; + case _CARPLAX: + rgb_matrix_layer_helper(0x00, 0x00, 0xFF); break; + } } } - } - - switch (biton32(default_layer_state)) { - case _QWERTY: - rgb_matrix_set_color(42, 0x00, 0xFF, 0xFF); break; - case _COLEMAK: - rgb_matrix_set_color(42, 0xFF, 0x00, 0xFF); break; - case _DVORAK: - rgb_matrix_set_color(42, 0x00, 0xFF, 0x00); break; - case _WORKMAN: - rgb_matrix_set_color(42, 0xD9, 0xA5, 0x21); break; - } - if ( (this_mod | this_osm) & MOD_MASK_SHIFT || this_led & (1<<USB_LED_CAPS_LOCK)) { - rgb_matrix_set_color(24, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(36, 0x00, 0xFF, 0x00); - } - if ( (this_mod | this_osm) & MOD_MASK_CTRL) { - rgb_matrix_set_color(25, 0xFF, 0x00, 0x00); - rgb_matrix_set_color(34, 0xFF, 0x00, 0x00); - rgb_matrix_set_color(37, 0xFF, 0x00, 0x00); - - } - if ( (this_mod | this_osm) & MOD_MASK_GUI) { - rgb_matrix_set_color(39, 0xFF, 0xD9, 0x00); - } - if ( (this_mod | this_osm) & MOD_MASK_ALT) { - rgb_matrix_set_color(38, 0x00, 0x00, 0xFF); - } + + switch (biton32(default_layer_state)) { + case _QWERTY: + rgb_matrix_set_color(is_ez ? 41 : 42, 0x00, 0xFF, 0xFF); break; + case _COLEMAK: + rgb_matrix_set_color(is_ez ? 41 : 42, 0xFF, 0x00, 0xFF); break; + case _DVORAK: + rgb_matrix_set_color(is_ez ? 41 : 42, 0x00, 0xFF, 0x00); break; + case _WORKMAN: + rgb_matrix_set_color(is_ez ? 41 : 42, 0xD9, 0xA5, 0x21); break; + } + if ( (this_mod | this_osm) & MOD_MASK_SHIFT || this_led & (1<<USB_LED_CAPS_LOCK)) { + rgb_matrix_set_color(24, 0x00, 0xFF, 0x00); + rgb_matrix_set_color(36, 0x00, 0xFF, 0x00); + } + if ( (this_mod | this_osm) & MOD_MASK_CTRL) { + rgb_matrix_set_color(25, 0xFF, 0x00, 0x00); + rgb_matrix_set_color(34, 0xFF, 0x00, 0x00); + rgb_matrix_set_color(37, 0xFF, 0x00, 0x00); + + } + if ( (this_mod | this_osm) & MOD_MASK_GUI) { + rgb_matrix_set_color(39, 0xFF, 0xD9, 0x00); + } + if ( (this_mod | this_osm) & MOD_MASK_ALT) { + rgb_matrix_set_color(38, 0x00, 0x00, 0xFF); + } } void matrix_init_keymap(void) { @@ -260,57 +276,81 @@ void matrix_init_keymap(void) { #else //RGB_MATRIX_INIT void matrix_init_keymap(void) { - #if !defined(CONVERT_TO_PROTON_C) && !defined(KEYBOARD_planck) +#if !defined(CONVERT_TO_PROTON_C) && !defined(KEYBOARD_planck) setPinOutput(D5); writePinHigh(D5); setPinOutput(B0); writePinHigh(B0); - #endif +#endif } #endif //RGB_MATRIX_INIT #ifdef ENCODER_ENABLE void encoder_update(bool clockwise) { - switch (biton32(layer_state)) { - case _RAISE: - clockwise ? tap_code(KC_VOLD) : tap_code(KC_VOLU); - break; - case _LOWER: - #ifdef RGB_MATRIX_ENABLE - clockwise ? rgb_matrix_step() : rgblight_step_reverse(); - #else - clockwise ? tap_code(KC_PGDN) : tap_code(KC_PGUP); - #endif - case _ADJUST: - #ifdef AUDIO_CLICKY - clockwise ? clicky_freq_up() : clicky_freq_down(); - #endif - break; - default: - clockwise ? tap_code(KC_DOWN) : tap_code(KC_UP); - } - #ifdef AUDIO_CLICKY + switch (biton32(layer_state)) { + case _RAISE: + clockwise ? tap_code(KC_VOLD) : tap_code(KC_VOLU); + break; + case _LOWER: +#ifdef RGB_MATRIX_ENABLE + clockwise ? rgb_matrix_step() : rgblight_step_reverse(); +#else + clockwise ? tap_code(KC_PGDN) : tap_code(KC_PGUP); +#endif + break; + case _ADJUST: +#ifdef AUDIO_CLICKY + clockwise ? clicky_freq_up() : clicky_freq_down(); +#endif + break; + default: + clockwise ? tap_code(KC_DOWN) : tap_code(KC_UP); + } +#ifdef AUDIO_CLICKY clicky_play(); - #endif +#endif } #endif // ENCODER_ENABLE #ifdef KEYBOARD_planck_rev6 void dip_update(uint8_t index, bool active) { - switch (index) { - case 0: - if(active) { audio_on(); } else { audio_off(); } - break; - case 1: - if(active) { clicky_on(); } else { clicky_off(); } - break; - case 2: - keymap_config.swap_lalt_lgui = keymap_config.swap_ralt_rgui = active; - break; - case 3: - userspace_config.nuke_switch = active; - break; - } + switch (index) { + case 0: + if(active) { audio_on(); } else { audio_off(); } + break; + case 1: + if(active) { clicky_on(); } else { clicky_off(); } + break; + case 2: + keymap_config.swap_lalt_lgui = keymap_config.swap_ralt_rgui = active; + break; + case 3: + userspace_config.nuke_switch = active; + break; + } } #endif // KEYBOARD_planck_rev6 + +#ifdef KEYBOARD_planck_ez +uint32_t layer_state_set_keymap(uint32_t state) { + + palClearPad(GPIOB, 8); + palClearPad(GPIOB, 9); + switch (biton32(state)) { + case _LOWER: + palSetPad(GPIOB, 9); + break; + case _RAISE: + palSetPad(GPIOB, 8); + break; + case _ADJUST: + palSetPad(GPIOB, 9); + palSetPad(GPIOB, 8); + break; + default: + break; + } + return state; +} +#endif diff --git a/layouts/community/ortho_4x12/drashna/rules.mk b/layouts/community/ortho_4x12/drashna/rules.mk index 89acba9eb8..351201e2f0 100644 --- a/layouts/community/ortho_4x12/drashna/rules.mk +++ b/layouts/community/ortho_4x12/drashna/rules.mk @@ -5,16 +5,27 @@ CONSOLE_ENABLE = no # Console for debug(+400) COMMAND_ENABLE = no # Commands for debug and configuration TAP_DANCE_ENABLE = no AUDIO_ENABLE = yes +SPACE_CADET_ENABLE = no + ifeq (,$(findstring planck/rev6,$(KEYBOARD))) # Make sure it's NOT the Planck Rev6 - RGBLIGHT_ENABLE = yes - INDICATOR_LIGHTS = yes - RGBLIGHT_TWINKLE = yes - RGBLIGHT_STARTUP_ANIMATION = yes + RGBLIGHT_ENABLE = yes + INDICATOR_LIGHTS = yes + RGBLIGHT_TWINKLE = yes + RGBLIGHT_STARTUP_ANIMATION = yes endif ifneq (,$(findstring planck/light,$(KEYBOARD))) # Make sure it IS the Planck Light - RGB_MATRIX_ENABLE = yes - RGBLIGHT_ENABLE = no - RGBLIGHT_STARTUP_ANIMATION = no + RGB_MATRIX_ENABLE = yes + RGBLIGHT_ENABLE = no + RGBLIGHT_STARTUP_ANIMATION = no +endif +ifneq (,$(findstring planck/ez,$(KEYBOARD))) # Make sure it IS the Planck Light + RGBLIGHT_ENABLE = no + # SERIAL_LINK_ENABLE = yes + ENCODER_ENABLE = no + RGB_MATRIX_ENABLE = IS31FL3737 + INDICATOR_LIGHTS = yes + RGBLIGHT_TWINKLE = yes + RGBLIGHT_STARTUP_ANIMATION = yes endif ifeq ($(strip $(PROTOCOL)), VUSB) diff --git a/layouts/community/ortho_5x12/drashna/config.h b/layouts/community/ortho_5x12/drashna/config.h index 480bf658c3..123c284a2c 100644 --- a/layouts/community/ortho_5x12/drashna/config.h +++ b/layouts/community/ortho_5x12/drashna/config.h @@ -3,20 +3,19 @@ /* ws2812 RGB LED */ #if defined(KEYBOARD_fractal) - #define RGB_DI_PIN D2 - #undef RGBLED_NUM - #define RGBLIGHT_ANIMATIONS - #define RGBLED_NUM 29 // Number of LEDs - #undef RGBLIGHT_HUE_STEP - #define RGBLIGHT_HUE_STEP 8 - #undef RGBLIGHT_SAT_STEP - #define RGBLIGHT_SAT_STEP 8 - #undef RGBLIGHT_VAL_STEP - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_LIMIT_VAL 175 - #define RGBLIGHT_SLEEP - - #define RGBLIGHT_EFFECT_KNIGHT_OFFSET 3 - #define RGBLIGHT_EFFECT_KNIGHT_LED_NUM 14 +# define RGB_DI_PIN D2 +# undef RGBLED_NUM +# define RGBLIGHT_ANIMATIONS +# define RGBLED_NUM 29 // Number of LEDs +# undef RGBLIGHT_HUE_STEP +# define RGBLIGHT_HUE_STEP 8 +# undef RGBLIGHT_SAT_STEP +# define RGBLIGHT_SAT_STEP 8 +# undef RGBLIGHT_VAL_STEP +# define RGBLIGHT_VAL_STEP 8 +# define RGBLIGHT_LIMIT_VAL 175 +# define RGBLIGHT_SLEEP +# define RGBLIGHT_EFFECT_KNIGHT_OFFSET 3 +# define RGBLIGHT_EFFECT_KNIGHT_LED_NUM 14 #endif |