[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
This commit is contained in:
		
							parent
							
								
									8a8000b4ec
								
							
						
					
					
						commit
						4a87af0e9a
					
				
					 49 changed files with 622 additions and 560 deletions
				
			
		| 
						 | 
				
			
			@ -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();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue