From 0b69e4df818c2515cf4eee3d8b6fd4a07775b887 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Tue, 23 Feb 2021 10:57:24 -0800 Subject: [Keymap] Drashna Updates - Split+OLED edition (#11968) --- layouts/community/ergodox/drashna/keymap.c | 15 ++++++++------ layouts/community/ortho_4x12/drashna/keymap.c | 5 +++-- layouts/community/ortho_5x12/drashna/keymap.c | 18 +++++++---------- layouts/community/ortho_5x12/drashna/rules.mk | 2 ++ layouts/community/split_3x6_3/drashna/chconf.h | 9 +++++++++ layouts/community/split_3x6_3/drashna/config.h | 27 +++++++++++-------------- layouts/community/split_3x6_3/drashna/keymap.c | 11 ++++------ layouts/community/split_3x6_3/drashna/mcuconf.h | 16 +++++++++------ layouts/community/split_3x6_3/drashna/rules.mk | 2 +- 9 files changed, 57 insertions(+), 48 deletions(-) create mode 100644 layouts/community/split_3x6_3/drashna/chconf.h (limited to 'layouts') diff --git a/layouts/community/ergodox/drashna/keymap.c b/layouts/community/ergodox/drashna/keymap.c index fb5bcc6bd7..2bcf672a91 100644 --- a/layouts/community/ergodox/drashna/keymap.c +++ b/layouts/community/ergodox/drashna/keymap.c @@ -40,17 +40,20 @@ bool skip_leds = false; * ease of use. K## is a placeholder to pass through the individual keycodes */ // clang-format off +#define LAYOUT_ergodox_wrapper(...) LAYOUT_ergodox(__VA_ARGS__) +#define LAYOUT_ergodox_pretty_wrapper(...) LAYOUT_ergodox_pretty(__VA_ARGS__) + #define LAYOUT_ergodox_pretty_base( \ K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ - K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ + K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ ) \ LAYOUT_ergodox_pretty_wrapper( \ KC_ESC, ________________NUMBER_LEFT________________, UC_FLIP, UC_TABL, ________________NUMBER_RIGHT_______________, KC_MINS, \ - LALT_T(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, RALT_T(KC_QUOT), \ - 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_BTN1, KC_BTN3, KC_BTN2, PM_SCROLL, PM_PRECISION, \ + LALT_T(KC_TAB), K01, K02, K03, K04, K05, TG_DBLO, TG_DBLO, K06, K07, K08, K09, K0A, KC_BSLS, \ + KC_C1R3, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(K1B), \ + KC_MLSF, CTL_T(K21), K22, K23, K24, K25, TG_GAME, TG_GAME, K26, K27, K28, K29, RCTL_T(K2A), KC_MRSF, \ + KC_GRV, OS_MEH, OS_HYPR, KC_LBRC, KC_RBRC, KC_BTN1, KC_BTN3, KC_BTN2, PM_SCROLL, PM_PRECISION, \ OS_LALT, OS_LGUI, OS_RGUI, CTL_T(KC_ESCAPE), \ KC_APP, KC_MENU, \ KC_SPC, LT(_LOWER, KC_BSPC), OS_LWR, OS_RSE, LT(_RAISE, KC_DEL), KC_ENT \ @@ -235,7 +238,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_ESC, KC_NO, KC_1, KC_2, KC_3, HYPR(KC_Q), HYPR(KC_GRV), KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, KC_F1, KC_K, KC_Q, KC_W, KC_E, KC_R, KC_T, UC_SHRG, UC_DISA, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TAB, KC_G, KC_A, KC_S, KC_D, KC_F, KC_I, KC_O, KC_NO, KC_NO, KC_NO, KC_NO, - KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_TRNS, TG(_GAMEPAD), KC_N, KC_M, KC_NO, KC_NO, KC_NO, KC_NO, + KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_TRNS, TG_GAME, KC_N, KC_M, KC_NO, KC_NO, KC_NO, KC_NO, KC_GRV, KC_U, KC_I, KC_Y, KC_T, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_O, KC_P, MAGIC_TOGGLE_NKRO, LALT(KC_PSCR), KC_LGUI, KC_HYPR, diff --git a/layouts/community/ortho_4x12/drashna/keymap.c b/layouts/community/ortho_4x12/drashna/keymap.c index d0df7f5c37..61f22dfe95 100644 --- a/layouts/community/ortho_4x12/drashna/keymap.c +++ b/layouts/community/ortho_4x12/drashna/keymap.c @@ -50,14 +50,15 @@ enum planck_keycodes { * of use. K## is a placeholder to pass through the individual keycodes */ // clang-format off +#define LAYOUT_ortho_4x12_wrapper(...) LAYOUT_ortho_4x12(__VA_ARGS__) #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, \ + K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ ) \ LAYOUT_ortho_4x12_wrapper( \ KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_DEL, \ - LALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(KC_QUOT), \ + LALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(K1B), \ 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 \ ) diff --git a/layouts/community/ortho_5x12/drashna/keymap.c b/layouts/community/ortho_5x12/drashna/keymap.c index 98c349b2e8..9f6622c7d5 100644 --- a/layouts/community/ortho_5x12/drashna/keymap.c +++ b/layouts/community/ortho_5x12/drashna/keymap.c @@ -24,17 +24,17 @@ * of use. K## is a placeholder to pass through the individual keycodes */ // clang-format off +#define LAYOUT_ortho_5x12_wrapper(...) LAYOUT_ortho_5x12(__VA_ARGS__) #define LAYOUT_ortho_5x12_base( \ K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ - K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ - K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, \ - K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A \ + K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ + K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ ) \ LAYOUT_ortho_5x12_wrapper( \ - KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_BSPC, \ - LALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, KC_BSPC, \ - KC_C1R3, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, RALT_T(KC_QUOT), \ - KC_MLSF, CTL_T(K31), K32, K33, K34, K35, K36, K37, K38, K39, RCTL_T(K3A), KC_ENT, \ + KC_ESC, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, KC_BSPC, \ + LALT_T(KC_TAB), K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_BSPC, \ + KC_C1R3, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(K1B), \ + KC_MLSF, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), KC_ENT, \ KC_NO, OS_LCTL, OS_LALT, OS_LGUI, SP_LWER, BK_LWER, DL_RAIS, ET_RAIS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \ ) @@ -44,28 +44,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_QWERTY] = LAYOUT_ortho_5x12_base_wrapper( - ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ ), [_COLEMAK] = LAYOUT_ortho_5x12_base_wrapper( - ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, _________________COLEMAK_L3________________, _________________COLEMAK_R3________________ ), [_DVORAK] = LAYOUT_ortho_5x12_base_wrapper( - ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, _________________DVORAK_L1_________________, _________________DVORAK_R1_________________, _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, _________________DVORAK_L3_________________, _________________DVORAK_R3_________________ ), [_WORKMAN] = LAYOUT_ortho_5x12_base_wrapper( - ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, _________________WORKMAN_L1________________, _________________WORKMAN_R1________________, _________________WORKMAN_L2________________, _________________WORKMAN_R2________________, _________________WORKMAN_L3________________, _________________WORKMAN_R3________________ diff --git a/layouts/community/ortho_5x12/drashna/rules.mk b/layouts/community/ortho_5x12/drashna/rules.mk index 2c59c614fe..af68e04c01 100644 --- a/layouts/community/ortho_5x12/drashna/rules.mk +++ b/layouts/community/ortho_5x12/drashna/rules.mk @@ -9,6 +9,8 @@ NKRO_ENABLE = yes ifeq ($(strip $(KEYBOARD)), fractal) RGB_MATRIX_ENABLE = no AUDIO_ENABLE = yes + AUDIO_SUPPORTED = yes + RGBLIGHT_SUPPORTED = yes RGBLIGHT_ENABLE = yes RGBLIGHT_TWINKLE = yes RGBLIGHT_STARTUP_ANIMATION = yes diff --git a/layouts/community/split_3x6_3/drashna/chconf.h b/layouts/community/split_3x6_3/drashna/chconf.h new file mode 100644 index 0000000000..ffcfb19896 --- /dev/null +++ b/layouts/community/split_3x6_3/drashna/chconf.h @@ -0,0 +1,9 @@ + +#define CH_CFG_ST_RESOLUTION 16 +#define CH_CFG_ST_FREQUENCY 10000 + +#if __has_include("platforms/chibios/common/configs/chconf.h") +# include_next "platforms/chibios/common/configs/chconf.h" +#else +# include_next "chconf.h" +#endif diff --git a/layouts/community/split_3x6_3/drashna/config.h b/layouts/community/split_3x6_3/drashna/config.h index b9b1d073d6..6205ededf1 100644 --- a/layouts/community/split_3x6_3/drashna/config.h +++ b/layouts/community/split_3x6_3/drashna/config.h @@ -19,8 +19,10 @@ /* Select hand configuration */ // #define MASTER_LEFT -#define MASTER_RIGHT -// #define EE_HAND +// #define MASTER_RIGHT +#define EE_HANDS +#define SPLIT_MODS_ENABLE + #undef USE_I2C #undef SSD1306OLED @@ -40,7 +42,7 @@ #ifdef RGB_MATRIX_ENABLE # ifdef CONVERT_TO_PROTON_C # undef RGB_DI_PIN -# define RGB_DI_PIN PAL_LINE(GPIOA, 3) +# define RGB_DI_PIN A3 # endif # define RGB_MATRIX_KEYPRESSES // reacts to keypresses // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) @@ -56,24 +58,23 @@ #endif #ifdef CONVERT_TO_PROTON_C -# define WS2812_PWM_DRIVER PWMD15 // default: PWMD2 -# define WS2812_PWM_CHANNEL 2 // default: 2 -# define WS2812_PWM_PAL_MODE 9 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2 -# define WS2812_DMA_STREAM STM32_DMA1_STREAM5 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. -# define WS2812_DMA_CHANNEL 5 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. -# define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM15_UP // DMAMUX configuration for TIMx_UP -- only required if your MCU has a DMAMUX peripheral, see the respective reference manual for the appropriate values for your MCU. +# define WS2812_PWM_DRIVER PWMD2 // default: PWMD2 +# define WS2812_PWM_CHANNEL 4 // default: 2 +# define WS2812_PWM_PAL_MODE 1 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2 +# define WS2812_DMA_STREAM STM32_DMA1_STREAM2 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. +# define WS2812_DMA_CHANNEL 2 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. +# define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM2_UP // DMAMUX configuration for TIMx_UP -- only required if your MCU has a DMAMUX peripheral, see the respective reference manual for the appropriate values for your MCU. # undef SOFT_SERIAL_PIN # define SOFT_SERIAL_PIN D3 # define SERIAL_USART_DRIVER SD1 // USART driver of TX pin. default: SD1 # define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7 - // #define INIT_EE_HANDS_LEFT // #define INIT_EE_HANDS_RIGHT #endif -#ifdef AUDIO_ENABLE +#if defined(AUDIO_ENABLE) && !defined(CONVERT_TO_PROTON_C) # define B6_AUDIO # define NO_MUSIC_MODE #endif @@ -88,9 +89,5 @@ #else # define PRODUCT Drashna Hacked Corne Keyboard #endif -#define OLED_FONT_H "layouts/community/split_3x6_3/drashna/glcdfont.c" -// #define OLED_FONT_WIDTH 5 -// #define OLED_FONT_HEIGHT 7 -#define OLED_DISABLE_TIMEOUT #define TAPPING_TERM_PER_KEY diff --git a/layouts/community/split_3x6_3/drashna/keymap.c b/layouts/community/split_3x6_3/drashna/keymap.c index 513cc7f7dc..65e05f64b6 100644 --- a/layouts/community/split_3x6_3/drashna/keymap.c +++ b/layouts/community/split_3x6_3/drashna/keymap.c @@ -27,14 +27,15 @@ enum crkbd_keycodes { RGBRST = NEW_SAFE_RANGE }; */ // clang-format off +#define LAYOUT_split_3x6_3_wrapper(...) LAYOUT_split_3x6_3(__VA_ARGS__) #define LAYOUT_split_3x6_3_base( \ K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ - K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ + K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ ) \ LAYOUT_split_3x6_3_wrapper( \ KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_MINS, \ - ALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(KC_QUOT), \ + ALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(K1B), \ OS_LSFT, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ RGB_MOD, KC_SPC, BK_LWER, DL_RAIS, KC_ENT, OS_RGUI \ ) @@ -121,11 +122,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #ifdef OLED_DRIVER_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (is_keyboard_master()) { - return OLED_ROTATION_270; - } else { - return rotation; - } + return OLED_ROTATION_270; } #endif diff --git a/layouts/community/split_3x6_3/drashna/mcuconf.h b/layouts/community/split_3x6_3/drashna/mcuconf.h index 429e4e1cdd..649af5d1f4 100644 --- a/layouts/community/split_3x6_3/drashna/mcuconf.h +++ b/layouts/community/split_3x6_3/drashna/mcuconf.h @@ -19,14 +19,18 @@ // #undef STM32_HSE_ENABLED // #define STM32_HSE_ENABLED FALSE -#undef STM32_GPT_USE_TIM15 -#define STM32_GPT_USE_TIM15 FALSE +// #undef STM32_GPT_USE_TIM15 +// #define STM32_GPT_USE_TIM15 FALSE -#undef STM32_PWM_USE_TIM15 -#define STM32_PWM_USE_TIM15 TRUE +#undef STM32_PWM_USE_TIM2 +#define STM32_PWM_USE_TIM2 TRUE +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 FALSE #undef STM32_SERIAL_USE_USART1 #define STM32_SERIAL_USE_USART1 TRUE -#undef STM32_PWM_TIM15_IRQ_PRIORITY -#define STM32_PWM_TIM15_IRQ_PRIORITY 16 +// #undef STM32_PWM_TIM15_IRQ_PRIORITY +// #define STM32_PWM_TIM15_IRQ_PRIORITY 16 +#undef STM32_ST_USE_TIMER +#define STM32_ST_USE_TIMER 3 diff --git a/layouts/community/split_3x6_3/drashna/rules.mk b/layouts/community/split_3x6_3/drashna/rules.mk index 5358cb0ac8..db284f78dc 100644 --- a/layouts/community/split_3x6_3/drashna/rules.mk +++ b/layouts/community/split_3x6_3/drashna/rules.mk @@ -29,6 +29,6 @@ endif ifeq ($(strip $(CTPC)), yes) HAPTIC_ENABLE = no - WS2812_DRIVER = pwm + WS2812_DRIVER = pwm # won't work without a patch to the ctpc mk file SERIAL_DRIVER = usart endif -- cgit v1.2.3