summaryrefslogtreecommitdiff
path: root/layouts
diff options
context:
space:
mode:
authorDrashna Jaelre <drashna@live.com>2022-11-29 11:43:42 -0800
committerGitHub <noreply@github.com>2022-11-29 11:43:42 -0800
commit4a87af0e9af046d5fc00d930476920c0c34a57a7 (patch)
treecb2da20c670a49b9fcada84822a7bdb2bd144d60 /layouts
parent8a8000b4ec379448848f561f57bbe2c781376357 (diff)
[Keymap] Drashna updates for 0.19 (#19175)
* Fix up bastardkb boards since blackpill support is officially added. * Check for blackpill version, not elite c. * Add checks in chibiOS config since multiple ARM controllers supported. * Rework rules.mk for keymaps to better handle arm vs avr support * Start moving away from `matrix_*_*` functions. * `housekeeping_task_*` instead of `matrix_scan_*` * `keyboard_(pre|post)_init_*` instead of `matrix_init_*` * Add ℂℴmⅈℂ unicode input method. * Clean up unicode code to be more compact and flexible. * Remove/move Pro Micro LED commands to userspace and better filter them * Fixup OLED code * Use newer quantum keycode functions/preprocessors rather than manual bit manipulation * Make unicode mode render much more compact/simple. * Make qmk secrets more self contained * Remove custom implementation of split watchdog
Diffstat (limited to 'layouts')
-rw-r--r--layouts/community/ergodox/drashna/keymap.c2
-rw-r--r--layouts/community/ortho_4x12/drashna/config.h4
-rw-r--r--layouts/community/ortho_4x12/drashna/keymap.c13
-rw-r--r--layouts/community/ortho_4x12/drashna/rules.mk11
-rw-r--r--layouts/community/ortho_5x12/drashna/rules.mk6
-rw-r--r--layouts/community/split_3x6_3/drashna/chconf.h6
-rw-r--r--layouts/community/split_3x6_3/drashna/config.h9
-rw-r--r--layouts/community/split_3x6_3/drashna/halconf.h7
-rw-r--r--layouts/community/split_3x6_3/drashna/keymap.c3
-rw-r--r--layouts/community/split_3x6_3/drashna/mcuconf.h24
-rw-r--r--layouts/community/split_3x6_3/drashna/rules.mk27
11 files changed, 63 insertions, 49 deletions
diff --git a/layouts/community/ergodox/drashna/keymap.c b/layouts/community/ergodox/drashna/keymap.c
index 64ef098280..e5675854e1 100644
--- a/layouts/community/ergodox/drashna/keymap.c
+++ b/layouts/community/ergodox/drashna/keymap.c
@@ -268,7 +268,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
return true;
}
-void matrix_scan_keymap(void) { // runs frequently to update info
+void housekeeping_task_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();
diff --git a/layouts/community/ortho_4x12/drashna/config.h b/layouts/community/ortho_4x12/drashna/config.h
index e2154cbe2f..85112d8ce4 100644
--- a/layouts/community/ortho_4x12/drashna/config.h
+++ b/layouts/community/ortho_4x12/drashna/config.h
@@ -66,12 +66,14 @@
#endif // KEYBOARD_planck_light
#if defined(KEYBOARD_planck)
-# undef PRODUCT
# if defined(KEYBOARD_planck_light)
+# undef PRODUCT
# define PRODUCT "Drashna Hacked RGB Beacon(Planck Light)"
# elif defined(KEYBOARD_planck_rev6)
+# undef PRODUCT
# define PRODUCT "Drashna Hacked Planck Rev6"
# elif defined(KEYBOARD_planck_ez)
+# undef PRODUCT
# define PRODUCT "Drashna Hacked Planck EZ"
# define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095
# endif
diff --git a/layouts/community/ortho_4x12/drashna/keymap.c b/layouts/community/ortho_4x12/drashna/keymap.c
index b7a132db12..b22401a77e 100644
--- a/layouts/community/ortho_4x12/drashna/keymap.c
+++ b/layouts/community/ortho_4x12/drashna/keymap.c
@@ -249,23 +249,12 @@ bool rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) {
return true;
}
-void matrix_init_keymap(void) {
+void keyboard_post_init_keymap(void) {
# ifdef KEYBOARD_planck_light
writePinLow(D6);
# endif
// rgblight_mode(RGB_MATRIX_MULTISPLASH);
}
-#else // RGB_MATRIX_INIT
-
-void matrix_init_keymap(void) {
-# if !defined(CONVERT_TO_PROTON_C) && !defined(KEYBOARD_planck)
- setPinOutput(D5);
- writePinHigh(D5);
-
- setPinOutput(B0);
- writePinHigh(B0);
-# endif
-}
#endif // RGB_MATRIX_INIT
#ifdef ENCODER_ENABLE
diff --git a/layouts/community/ortho_4x12/drashna/rules.mk b/layouts/community/ortho_4x12/drashna/rules.mk
index e5c25d6fd5..a2278e931d 100644
--- a/layouts/community/ortho_4x12/drashna/rules.mk
+++ b/layouts/community/ortho_4x12/drashna/rules.mk
@@ -20,7 +20,7 @@ ifeq ($(strip $(KEYBOARD)), planck/rev6)
AUDIO_ENABLE = yes
EEPROM_DRIVER = i2c
ENCODER_MAP_ENABLE = yes
- AUTOCORRECTION_ENABLE = yes
+ AUTOCORRECT_ENABLE = yes
CAPS_WORD_ENABLE = yes
endif
ifeq ($(strip $(KEYBOARD)), planck/light)
@@ -39,6 +39,13 @@ ifeq ($(strip $(KEYBOARD)), planck/ez)
CONSOLE_ENABLE = yes
COMMAND_ENABLE = yes
AUDIO_ENABLE = yes
- AUTOCORRECTION_ENABLE = yes
+ AUTOCORRECT_ENABLE = yes
CAPS_WORD_ENABLE = yes
endif
+
+ifeq ($(strip $(MCU)), atmega32u4)
+ BOOTLOADER = qmk-hid
+ BOOTLOADER_SIZE = 512
+ LTO_ENABLE = yes
+ CUSTOM_UNICODE_ENABLE = no
+endif
diff --git a/layouts/community/ortho_5x12/drashna/rules.mk b/layouts/community/ortho_5x12/drashna/rules.mk
index 57cc3ce0be..c3b417f1bd 100644
--- a/layouts/community/ortho_5x12/drashna/rules.mk
+++ b/layouts/community/ortho_5x12/drashna/rules.mk
@@ -16,3 +16,9 @@ ifeq ($(strip $(KEYBOARD)), fractal)
BOOTLOADER = qmk-dfu
CUSTOM_UNICODE_ENABLE = no
endif
+
+ifeq ($(strip $(MCU)), atmega32u4)
+ BOOTLOADER = qmk-dfu
+ BOOTLOADER_SIZE = 512
+ LTO_ENABLE = yes
+endif
diff --git a/layouts/community/split_3x6_3/drashna/chconf.h b/layouts/community/split_3x6_3/drashna/chconf.h
index ffcfb19896..9dbc78b973 100644
--- a/layouts/community/split_3x6_3/drashna/chconf.h
+++ b/layouts/community/split_3x6_3/drashna/chconf.h
@@ -1,6 +1,8 @@
-#define CH_CFG_ST_RESOLUTION 16
-#define CH_CFG_ST_FREQUENCY 10000
+#if defined(KEYBOARD_crkbd)
+# define CH_CFG_ST_RESOLUTION 16
+# define CH_CFG_ST_FREQUENCY 10000
+#endif
#if __has_include("platforms/chibios/common/configs/chconf.h")
# include_next "platforms/chibios/common/configs/chconf.h"
diff --git a/layouts/community/split_3x6_3/drashna/config.h b/layouts/community/split_3x6_3/drashna/config.h
index 0944e37077..0ef36d1f32 100644
--- a/layouts/community/split_3x6_3/drashna/config.h
+++ b/layouts/community/split_3x6_3/drashna/config.h
@@ -80,8 +80,13 @@
# define NO_MUSIC_MODE
#endif
-#ifdef HAPTIC_ENABLE
-# define SOLENOID_PIN B7
+#if defined(HAPTIC_ENABLE)
+# if defined(CONVERT_TO_PROTON_C)
+# define A13 PAL_LINE(GPIOA, 13)
+# define SOLENOID_PIN A13
+# else
+# define SOLENOID_PIN B7
+# endif
#endif
#undef PRODUCT
diff --git a/layouts/community/split_3x6_3/drashna/halconf.h b/layouts/community/split_3x6_3/drashna/halconf.h
index b099320b30..7cc1306598 100644
--- a/layouts/community/split_3x6_3/drashna/halconf.h
+++ b/layouts/community/split_3x6_3/drashna/halconf.h
@@ -15,8 +15,9 @@
*/
#pragma once
-// #define HAL_USE_DAC TRUE
-#define HAL_USE_PWM TRUE
-#define HAL_USE_SERIAL TRUE
+#if defined(KEYBOARD_crkbd)
+# define HAL_USE_PWM TRUE
+# define HAL_USE_SERIAL TRUE
+#endif
#include_next <halconf.h>
diff --git a/layouts/community/split_3x6_3/drashna/keymap.c b/layouts/community/split_3x6_3/drashna/keymap.c
index 707e688267..59f5fefb48 100644
--- a/layouts/community/split_3x6_3/drashna/keymap.c
+++ b/layouts/community/split_3x6_3/drashna/keymap.c
@@ -238,8 +238,7 @@ void render_small_kitty(void) {
void oled_driver_render_logo_right(void) {
render_small_kitty();
- oled_set_cursor(0, 4);
- render_default_layer_state();
+ render_default_layer_state(0, 4);
}
# endif
#endif
diff --git a/layouts/community/split_3x6_3/drashna/mcuconf.h b/layouts/community/split_3x6_3/drashna/mcuconf.h
index 649af5d1f4..920261476c 100644
--- a/layouts/community/split_3x6_3/drashna/mcuconf.h
+++ b/layouts/community/split_3x6_3/drashna/mcuconf.h
@@ -17,20 +17,16 @@
#include_next <mcuconf.h>
-// #undef STM32_HSE_ENABLED
-// #define STM32_HSE_ENABLED FALSE
-// #undef STM32_GPT_USE_TIM15
-// #define STM32_GPT_USE_TIM15 FALSE
+#if defined(KEYBOARD_crkbd)
-#undef STM32_PWM_USE_TIM2
-#define STM32_PWM_USE_TIM2 TRUE
-#undef STM32_PWM_USE_TIM3
-#define STM32_PWM_USE_TIM3 FALSE
+# 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_SERIAL_USE_USART1
+# define STM32_SERIAL_USE_USART1 TRUE
-// #undef STM32_PWM_TIM15_IRQ_PRIORITY
-// #define STM32_PWM_TIM15_IRQ_PRIORITY 16
-#undef STM32_ST_USE_TIMER
-#define STM32_ST_USE_TIMER 3
+# undef STM32_ST_USE_TIMER
+# define STM32_ST_USE_TIMER 3
+#endif
diff --git a/layouts/community/split_3x6_3/drashna/rules.mk b/layouts/community/split_3x6_3/drashna/rules.mk
index 83eb699812..3fd4279bef 100644
--- a/layouts/community/split_3x6_3/drashna/rules.mk
+++ b/layouts/community/split_3x6_3/drashna/rules.mk
@@ -13,6 +13,10 @@ AUDIO_ENABLE = no # Audio output
UNICODE_ENABLE = no # Unicode
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
SWAP_HANDS_ENABLE = no # Enable one-hand typing
+OS_DETECTION_ENABLE = no
+CUSTOM_UNICODE_ENABLE = no
+CUSTOM_POINTING_DEVICE = no
+CUSTOM_SPLIT_TRANSPORT_SYNC = no
USE_ARM_CONFIG ?= no
ifeq ($(strip $(CONVERT_TO)), proton_c)
@@ -27,19 +31,26 @@ endif
ifeq ($(strip $(MCU)), STM32F401)
USE_ARM_CONFIG = yes
endif
+ifeq ($(strip $(MCU)), STM32F411)
+ USE_ARM_CONFIG = yes
+endif
+
+ifeq ($(strip $(MCU)), atmega32u4)
+ BOOTLOADER = qmk-hid
+ BOOTLOADER_SIZE = 512
+endif
ifeq ($(strip $(USE_ARM_CONFIG)), yes)
HAPTIC_ENABLE = no
WS2812_DRIVER = pwm # won't work without a patch to the ctpc mk file
SERIAL_DRIVER = usart
- SWAP_HANDS_ENABLE = yes
WPM_ENABLE = yes
- AUTOCORRECTION_ENABLE = yes
+ AUTOCORRECT_ENABLE = yes
CAPS_WORD_ENABLE = yes
-else
- CUSTOM_UNICODE_ENABLE = no
- BOOTLOADER = qmk-hid
- BOOTLOADER_SIZE = 512
+ OS_DETECTION_ENABLE = yes
+ CUSTOM_UNICODE_ENABLE = no
+ CUSTOM_POINTING_DEVICE = no
+ CUSTOM_SPLIT_TRANSPORT_SYNC = no
endif
ifeq ($(strip $(KEYBOARD)), crkbd/rev1)
@@ -47,7 +58,3 @@ ifeq ($(strip $(KEYBOARD)), crkbd/rev1)
RGB_MATRIX_ENABLE = yes
HAPTIC_ENABLE = no
endif
-
-ifeq ($(strip $(KEYBOARD)), cantor)
- SWAP_HANDS_ENABLE = no
-endif