summaryrefslogtreecommitdiff
path: root/layouts/community/ortho_4x12/drashna
diff options
context:
space:
mode:
authorDrashna Jaelre <drashna@live.com>2019-07-22 20:22:33 -0700
committerMechMerlin <30334081+mechmerlin@users.noreply.github.com>2019-07-22 20:22:33 -0700
commitd41961c9eddb78591d3b55ea65e6e0baff4bdd69 (patch)
treea2e03c31b93dc35fbdb539c59de0d2f7c655f02f /layouts/community/ortho_4x12/drashna
parent840b9090a0fd4faf070d9bbb9039337ecdb82de4 (diff)
downloadqmk_firmware-d41961c9eddb78591d3b55ea65e6e0baff4bdd69.tar.gz
qmk_firmware-d41961c9eddb78591d3b55ea65e6e0baff4bdd69.zip
[Keymap] Drashna's Feature madness (#6128)
* Fix my Tap Dance issues after I broke them * Cleanup and organization of userspace documentation As well as some additional cleanup of functions due to review of documentation. * Enable Tapdance on Glow and remove more animations * Revert to Eager PR debouncing * Add better check for startup animation * Move where RGB Matrix defines are listed * Limit RGB Matrix max val * Update keyboard for Iris Rev 3 conflicts * Enable encoder support on planck ez * Remove is_master check from corne\'s OLED code * Overhaul OLED screens for my Corne * One last removal * Show RGB valu On both sides * Updates for OLED display info * Fix compile issues for rgb config * Disabled Space Cadet for all drashna keymaps * Fix OLED Screen configs * Minor OLED Tweaks * Revert some Iris changes * Fix song include * Handle MAKE macro for the Corne boards better * Add super hacky-hack for eeconfig initialization * Add audio support for Fractal since Elite Cs support it * Add defines for keycode steps * Add White layout * Update Corne RGB info * Add fun effects to layer indication for RGB Matrix enabled boards * Use proper define for product name detection * Update formatting * Use custom timeout mechanism for OLED timeout * Fix up OLED screen HSV code for new HSV structure * Better handle turning off RGB Matrix when sleeping * Disable MultiSplash Animation * Change Iris back to using serial * Why was RGB disabled?!?!?! * Limit val in rgb_matrix_layer_helper function * Remove EECONFIG setting for RGB matrix
Diffstat (limited to 'layouts/community/ortho_4x12/drashna')
-rw-r--r--layouts/community/ortho_4x12/drashna/config.h63
-rw-r--r--layouts/community/ortho_4x12/drashna/keymap.c180
-rw-r--r--layouts/community/ortho_4x12/drashna/rules.mk2
3 files changed, 136 insertions, 109 deletions
diff --git a/layouts/community/ortho_4x12/drashna/config.h b/layouts/community/ortho_4x12/drashna/config.h
index 475afd213f..30db12965d 100644
--- a/layouts/community/ortho_4x12/drashna/config.h
+++ b/layouts/community/ortho_4x12/drashna/config.h
@@ -1,53 +1,48 @@
#pragma once
-
#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
-# ifdef RGB_MATRIX_ENABLE
-# define RGBLIGHT_DISABLE_KEYCODES
-# endif
-#endif // RGBLIGHT_ENABLE
+# 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_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true// turn off effects when suspended
-# ifndef KEYBOARD_planck_ez
-# define EECONFIG_RGB_MATRIX (uint32_t *)15
-# endif
+# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
#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
-#endif // KEYBOARD_planck_light
-
+# 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
/*
diff --git a/layouts/community/ortho_4x12/drashna/keymap.c b/layouts/community/ortho_4x12/drashna/keymap.c
index c1c016ce9f..3e26b93fcd 100644
--- a/layouts/community/ortho_4x12/drashna/keymap.c
+++ b/layouts/community/ortho_4x12/drashna/keymap.c
@@ -21,27 +21,27 @@
extern rgblight_config_t rgblight_config;
#endif
-
#ifdef BACKLIGHT_ENABLE
enum planck_keycodes {
- BACKLIT = NEW_SAFE_RANGE,
+ BACKLIT = NEW_SAFE_RANGE,
};
#else
- #define BACKLIT OSM(MOD_LSFT)
+# 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
+# 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
+# define PLNK_1 SP_LWER
+# define PLNK_2 BK_LWER
+# define PLNK_3 DL_RAIS
+# define PLNK_4 ET_RAIS
#endif
+// clang-format off
#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, \
@@ -135,17 +135,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
)
};
-
+// clang-format on
bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
- #ifdef BACKLIGHT_ENABLE
+#ifdef BACKLIGHT_ENABLE
case BACKLIT:
if (record->event.pressed) {
register_code(KC_RSFT);
- #ifdef BACKLIGHT_ENABLE
+# ifdef BACKLIGHT_ENABLE
backlight_step();
- #endif
+# endif
} else {
unregister_code(KC_RSFT);
}
@@ -172,6 +172,7 @@ bool music_mask_user(uint16_t keycode) {
#ifdef RGB_MATRIX_ENABLE
+// clang-format off
void suspend_power_down_keymap(void) {
rgb_matrix_set_suspend_state(true);
}
@@ -179,98 +180,122 @@ void suspend_power_down_keymap(void) {
void suspend_wakeup_init_keymap(void) {
rgb_matrix_set_suspend_state(false);
}
+// clang-format on
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();
- bool is_ez;
- #ifdef KEYBOARD_planck_ez
+ bool is_ez;
+# ifdef KEYBOARD_planck_ez
is_ez = true;
- #endif
+# endif
- if ( userspace_config.rgb_layer_change &&
-#ifdef RGB_DISABLE_WHEN_USB_SUSPENDED
+ 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
-#endif
- ) {
+# endif
+# if defined(RGBLIGHT_ENABLE)
+ (!rgblight_config.enable && rgb_matrix_config.enable)
+# else
+ rgb_matrix_config.enable
+# endif
+ ) {
switch (biton32(layer_state)) {
+ case _GAMEPAD:
+ rgb_matrix_layer_helper(HSV_ORANGE, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER);
+ break;
+ case _DIABLO:
+ rgb_matrix_layer_helper(HSV_RED, 1, rgb_matrix_config.speed * 8, LED_FLAG_MODIFIER);
+ break;
case _RAISE:
- rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, LED_FLAG_MODIFIER); break;
+ rgb_matrix_layer_helper(HSV_YELLOW, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER);
+ break;
case _LOWER:
- rgb_matrix_layer_helper(0x00, 0xFF, 0x00, LED_FLAG_MODIFIER); break;
+ rgb_matrix_layer_helper(HSV_GREEN, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER);
+ break;
case _ADJUST:
- rgb_matrix_layer_helper(0xFF, 0x00, 0x00, LED_FLAG_MODIFIER); break;
- default:
+ rgb_matrix_layer_helper(HSV_RED, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER);
+ break;
+ default: {
+ bool mods_enabled = IS_LAYER_ON(_MODS);
switch (biton32(default_layer_state)) {
- case _QWERTY:
- rgb_matrix_layer_helper(0x00, 0xFF, 0xFF, LED_FLAG_MODIFIER); break;
- case _COLEMAK:
- rgb_matrix_layer_helper(0xFF, 0x00, 0xFF, LED_FLAG_MODIFIER); break;
- case _DVORAK:
- rgb_matrix_layer_helper(0x00, 0xFF, 0x00, LED_FLAG_MODIFIER); break;
- case _WORKMAN:
- rgb_matrix_layer_helper(0xD9, 0xA5, 0x21, LED_FLAG_MODIFIER); break;
- case _NORMAN:
- rgb_matrix_layer_helper(0xFF, 0x7C, 0x4D, LED_FLAG_MODIFIER); break;
- case _MALTRON:
- rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, LED_FLAG_MODIFIER); break;
- case _EUCALYN:
- rgb_matrix_layer_helper(0xFF, 0x80, 0xBF, LED_FLAG_MODIFIER); break;
- case _CARPLAX:
- rgb_matrix_layer_helper(0x00, 0x00, 0xFF, LED_FLAG_MODIFIER); break;
+ case _QWERTY:
+ rgb_matrix_layer_helper(HSV_CYAN, mods_enabled, rgb_matrix_config.speed, LED_FLAG_MODIFIER);
+ break;
+ case _COLEMAK:
+ rgb_matrix_layer_helper(HSV_MAGENTA, mods_enabled, rgb_matrix_config.speed, LED_FLAG_MODIFIER);
+ break;
+ case _DVORAK:
+ rgb_matrix_layer_helper(HSV_SPRINGGREEN, mods_enabled, rgb_matrix_config.speed, LED_FLAG_MODIFIER);
+ break;
+ case _WORKMAN:
+ rgb_matrix_layer_helper(HSV_GOLDENROD, mods_enabled, rgb_matrix_config.speed, LED_FLAG_MODIFIER);
+ break;
+ case _NORMAN:
+ rgb_matrix_layer_helper(HSV_CORAL, mods_enabled, rgb_matrix_config.speed, LED_FLAG_MODIFIER);
+ break;
+ case _MALTRON:
+ rgb_matrix_layer_helper(HSV_YELLOW, mods_enabled, rgb_matrix_config.speed, LED_FLAG_MODIFIER);
+ break;
+ case _EUCALYN:
+ rgb_matrix_layer_helper(HSV_PINK, mods_enabled, rgb_matrix_config.speed, LED_FLAG_MODIFIER);
+ break;
+ case _CARPLAX:
+ rgb_matrix_layer_helper(HSV_BLUE, mods_enabled, rgb_matrix_config.speed, LED_FLAG_MODIFIER);
+ break;
}
+ break;
+ }
}
}
switch (biton32(default_layer_state)) {
case _QWERTY:
- rgb_matrix_set_color(is_ez ? 41 : 42, 0x00, 0xFF, 0xFF); break;
+ 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;
+ 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;
+ 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;
+ 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)) {
+ 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) {
+ 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) {
+ if ((this_mod | this_osm) & MOD_MASK_GUI) {
rgb_matrix_set_color(39, 0xFF, 0xD9, 0x00);
}
- if ( (this_mod | this_osm) & MOD_MASK_ALT) {
+ if ((this_mod | this_osm) & MOD_MASK_ALT) {
rgb_matrix_set_color(38, 0x00, 0x00, 0xFF);
}
}
void matrix_init_keymap(void) {
- // rgblight_mode(RGB_MATRIX_MULTISPLASH);
+ // rgblight_mode(RGB_MATRIX_MULTISPLASH);
}
-#else //RGB_MATRIX_INIT
+#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
+#endif // RGB_MATRIX_INIT
#ifdef ENCODER_ENABLE
void encoder_update(bool clockwise) {
@@ -279,34 +304,42 @@ void encoder_update(bool clockwise) {
clockwise ? tap_code(KC_VOLD) : tap_code(KC_VOLU);
break;
case _LOWER:
-#ifdef RGB_MATRIX_ENABLE
- clockwise ? rgb_matrix_step() : rgblight_step_reverse();
-#else
+# ifdef RGB_MATRIX_ENABLE
+ clockwise ? rgb_matrix_step() : rgb_matrix_step_reverse();
+# else
clockwise ? tap_code(KC_PGDN) : tap_code(KC_PGUP);
-#endif
+# endif
break;
case _ADJUST:
-#ifdef AUDIO_CLICKY
+# ifdef AUDIO_CLICKY
clockwise ? clicky_freq_up() : clicky_freq_down();
-#endif
+# endif
break;
default:
clockwise ? tap_code(KC_DOWN) : tap_code(KC_UP);
}
-#ifdef AUDIO_CLICKY
+# ifdef AUDIO_CLICKY
clicky_play();
-#endif
+# endif
}
-#endif // ENCODER_ENABLE
+#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(); }
+ if (active) {
+ audio_on();
+ } else {
+ audio_off();
+ }
break;
case 1:
- if(active) { clicky_on(); } else { clicky_off(); }
+ if (active) {
+ clicky_on();
+ } else {
+ clicky_off();
+ }
break;
case 2:
keymap_config.swap_lalt_lgui = keymap_config.swap_ralt_rgui = active;
@@ -316,11 +349,10 @@ void dip_update(uint8_t index, bool active) {
break;
}
}
-#endif // KEYBOARD_planck_rev6
+#endif // KEYBOARD_planck_rev6
#ifdef KEYBOARD_planck_ez
layer_state_t layer_state_set_keymap(layer_state_t state) {
-
palClearPad(GPIOB, 8);
palClearPad(GPIOB, 9);
switch (biton32(state)) {
diff --git a/layouts/community/ortho_4x12/drashna/rules.mk b/layouts/community/ortho_4x12/drashna/rules.mk
index 351201e2f0..21ce7ebb1c 100644
--- a/layouts/community/ortho_4x12/drashna/rules.mk
+++ b/layouts/community/ortho_4x12/drashna/rules.mk
@@ -21,7 +21,7 @@ endif
ifneq (,$(findstring planck/ez,$(KEYBOARD))) # Make sure it IS the Planck Light
RGBLIGHT_ENABLE = no
# SERIAL_LINK_ENABLE = yes
- ENCODER_ENABLE = no
+ ENCODER_ENABLE = yes
RGB_MATRIX_ENABLE = IS31FL3737
INDICATOR_LIGHTS = yes
RGBLIGHT_TWINKLE = yes