summaryrefslogtreecommitdiff
path: root/users/drashna/config.h
diff options
context:
space:
mode:
Diffstat (limited to 'users/drashna/config.h')
-rw-r--r--users/drashna/config.h262
1 files changed, 46 insertions, 216 deletions
diff --git a/users/drashna/config.h b/users/drashna/config.h
index 4a34f5d66a..57b26786b3 100644
--- a/users/drashna/config.h
+++ b/users/drashna/config.h
@@ -4,41 +4,35 @@
#pragma once
// Use custom magic number so that when switching branches, EEPROM always gets reset
-#define EECONFIG_MAGIC_NUMBER (uint16_t)0x1339
+#define EECONFIG_MAGIC_NUMBER (uint16_t)0x1339
#ifdef IS_COMMAND
-#undef IS_COMMAND
+# undef IS_COMMAND
#endif
#define IS_COMMAND() (((get_mods() | get_oneshot_mods()) & MOD_MASK_SHIFT) == MOD_MASK_SHIFT)
-/* Set Polling rate to 1000Hz */
-#define USB_POLLING_INTERVAL_MS 1
#if defined(SPLIT_KEYBOARD)
-// # define SPLIT_TRANSPORT_MIRROR
-# define SPLIT_LAYER_STATE_ENABLE
-# define SPLIT_LED_STATE_ENABLE
-# define SPLIT_MODS_ENABLE
-# ifdef WPM_ENABLE
-# define SPLIT_WPM_ENABLE
-# endif
-# ifdef OLED_ENABLE
-# define SPLIT_OLED_ENABLE
-# endif
-# if defined(__AVR__) && !defined(SELECT_SOFT_SERIAL_SPEED)
-# define SELECT_SOFT_SERIAL_SPEED 1
-# endif
-# ifdef CUSTOM_SPLIT_TRANSPORT_SYNC
-# define SPLIT_TRANSACTION_IDS_USER RPC_ID_USER_STATE_SYNC, RPC_ID_USER_KEYMAP_SYNC, RPC_ID_USER_CONFIG_SYNC, RPC_ID_USER_WATCHDOG_SYNC, RPC_ID_USER_KEYLOG_STR
-# endif
+# include "split/split_config.h"
+#endif
+#ifdef RGBLIGHT_ENABLE
+# include "rgb/rgblight_config.h"
+#endif // RGBLIGHT_ENABLE
+
+#ifdef RGB_MATRIX_ENABLE
+# include "rgb/rgb_matrix_config.h"
+#endif // RGB_MATRIX_ENABLE
+
+#ifdef OLED_ENABLE
+# include "oled/oled_config.h"
#endif
#if defined(WPM_ENABLE)
// # define WPM_LAUNCH_CONTROL
// # define WPM_ALLOW_COUNT_REGRESSOIN
// # define WPM_UNFILTERED
-# define WPM_SAMPLE_SECONDS 10
-# define WPM_SAMPLE_PERIODS 50
+# define WPM_SAMPLE_SECONDS 10
+# define WPM_SAMPLE_PERIODS 50
# define WPM_ESTIMATED_WORD_SIZE 5
#endif
@@ -51,171 +45,26 @@
# define GOODBYE_SONG SONG(SONIC_RING)
# define DEFAULT_LAYER_SONGS \
{ SONG(QWERTY_SOUND), SONG(COLEMAK_SOUND), SONG(DVORAK_SOUND), SONG(OVERWATCH_THEME) }
-# define UNICODE_SONG_MAC SONG(MARIO_THEME)
-# define UNICODE_SONG_LNX SONG(MARIO_POWERUP)
-# define UNICODE_SONG_WIN SONG(MARIO_ONEUP)
-# define UNICODE_SONG_BSD SONG(RICK_ROLL)
+# define UNICODE_SONG_MAC SONG(MARIO_THEME)
+# define UNICODE_SONG_LNX SONG(MARIO_POWERUP)
+# define UNICODE_SONG_WIN SONG(MARIO_ONEUP)
+# define UNICODE_SONG_BSD SONG(RICK_ROLL)
# define UNICODE_SONG_WINC SONG(RICK_ROLL)
# else
# define STARTUP_SONG SONG(STARTUP_SOUND)
# define GOODBYE_SONG SONG(GOODBYE_SOUND)
# define DEFAULT_LAYER_SONGS \
{ SONG(QWERTY_SOUND), SONG(COLEMAK_SOUND), SONG(DVORAK_SOUND), SONG(WORKMAN_SOUND) }
-# define UNICODE_SONG_MAC SONG(QWERTY_SOUND)
-# define UNICODE_SONG_LNX SONG(COLEMAK_SOUND)
-# define UNICODE_SONG_WIN SONG(DVORAK_SOUND)
-# define UNICODE_SONG_BSD SONG(WORKMAN_SOUND)
+# define UNICODE_SONG_MAC SONG(QWERTY_SOUND)
+# define UNICODE_SONG_LNX SONG(COLEMAK_SOUND)
+# define UNICODE_SONG_WIN SONG(DVORAK_SOUND)
+# define UNICODE_SONG_BSD SONG(WORKMAN_SOUND)
# define UNICODE_SONG_WINC SONG(PLOVER_GOODBYE_SOUND)
# endif
-#endif // !AUDIO_ENABLE
+#endif // !AUDIO_ENABLE
#define UNICODE_SELECTED_MODES UC_WINC, UC_MAC
-#ifdef RGBLIGHT_ENABLE
-# define RGBLIGHT_SLEEP
-# define RGBLIGHT_EFFECT_TWINKLE_LIFE 250
-# define RGBLIGHT_EFFECT_TWINKLE_PROBABILITY 1 / 24
-#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_KEYRELEASES // reacts to keyreleases (not recommened)
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-// # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-
-# undef ENABLE_RGB_MATRIX_ALPHAS_MODS
-# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# undef ENABLE_RGB_MATRIX_BREATHING
-# undef ENABLE_RGB_MATRIX_BAND_SAT
-# undef ENABLE_RGB_MATRIX_BAND_VAL
-# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# undef ENABLE_RGB_MATRIX_CYCLE_ALL
-# undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# undef ENABLE_RGB_MATRIX_DUAL_BEACON
-# undef ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# undef ENABLE_RGB_MATRIX_RAINDROPS
-# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# undef ENABLE_RGB_MATRIX_HUE_BREATHING
-# undef ENABLE_RGB_MATRIX_HUE_PENDULUM
-# undef ENABLE_RGB_MATRIX_HUE_WAVE
-# undef ENABLE_RGB_MATRIX_PIXEL_RAIN
-# undef ENABLE_RGB_MATRIX_PIXEL_FLOW
-# undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# undef ENABLE_RGB_MATRIX_SPLASH
-# undef ENABLE_RGB_MATRIX_MULTISPLASH
-# undef ENABLE_RGB_MATRIX_SOLID_SPLASH
-# undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# if !defined(SPLIT_KEYBOARD) && !defined(KEYBOARD_ergodox_ez) && !defined(KEYBOARD_moonlander)
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# endif
-# if defined(__arm__) || defined(__AVR_AT90USB1286__) || defined(KEYBOARD_launchpad)
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-# endif // AVR
-#endif // RGB_MATRIX_ENABLE
-
-#ifdef OLED_ENABLE
-# ifdef SPLIT_KEYBOARD
-# define OLED_UPDATE_INTERVAL 60
-# else
-# define OLED_UPDATE_INTERVAL 15
-# endif
-# define OLED_DISABLE_TIMEOUT
-# ifdef OLED_FONT_H
-# undef OLED_FONT_H
-# endif
-# define OLED_FONT_H "oled/drashna_font.h"
-# define OLED_FONT_END 255
-// # define OLED_FONT_5X5
-// # define OLED_FONT_AZTECH
-// # define OLED_FONT_BMPLAIN
-// # define OLED_FONT_CRACKERS
-# define OLED_FONT_DEAD_MEAL
-// # define OLED_FONT_EIN
-// # define OLED_FONT_HISKYF21
-// # define OLED_FONT_SQUASH
-// # define OLED_FONT_ZXPIX
-// # define OLED_FONT_SUPER_DIGG
-
-// # define OLED_LOGO_BEBOP
-// # define OLED_LOGO_CORNE
-// # define OLED_LOGO_GMK_BAD
-// # define OLED_LOGO_GOTHAM
-// # define OLED_LOGO_HUE_MANITEE
-// # define OLED_LOGO_LOOSE
-# define OLED_LOGO_SCIFI
-// # define OLED_LOGO_SETS3N
-// # define OLED_LOGO_SKEEB
-#endif
-
// #define WPM_ESTIMATED_WORD_SIZE 5
#define WPM_ALLOW_COUNT_REGRESSION
// #define WPM_UNFILTERED
@@ -223,21 +72,26 @@
// #define WPM_SAMPLE_PERIODS 50
// #define WPM_LAUNCH_CONTROL
-
#ifndef ONESHOT_TAP_TOGGLE
# define ONESHOT_TAP_TOGGLE 2
-#endif // !ONESHOT_TAP_TOGGLE
+#endif // !ONESHOT_TAP_TOGGLE
#ifndef ONESHOT_TIMEOUT
# define ONESHOT_TIMEOUT 3000
-#endif // !ONESHOT_TIMEOUT
-
-#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
-#define PERMISSIVE_HOLD_PER_KEY
-#define TAPPING_FORCE_HOLD_PER_KEY
-#define RETRO_TAPPING_PER_KEY
-#define TAPPING_TERM_PER_KEY
-
+#endif // !ONESHOT_TIMEOUT
+
+#if defined(PER_KEY_TAPPING)
+# define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
+# define PERMISSIVE_HOLD_PER_KEY
+# define TAPPING_FORCE_HOLD_PER_KEY
+# define HOLD_ON_OTHER_KEY
+# define RETRO_TAPPING_PER_KEY
+# define HOLD_ON_OTHER_KEY_PRESS_PER_KEY
+# define TAPPING_TERM_PER_KEY
+#else
+# define IGNORE_MOD_TAP_INTERRUPT
+# undef PERMISSIVE_HOLD
+#endif
#ifndef TAPPING_TOGGLE
# define TAPPING_TOGGLE 1
@@ -255,12 +109,12 @@
#ifdef CONVERT_TO_PROTON_C
// pins that are available but not present on Pro Micro
-# define A3 PAL_LINE(GPIOA, 3)
-# define A4 PAL_LINE(GPIOA, 4)
-# define A5 PAL_LINE(GPIOA, 5)
-# define A6 PAL_LINE(GPIOA, 6)
-# define A7 PAL_LINE(GPIOA, 7)
-# define A8 PAL_LINE(GPIOA, 8)
+# define A3 PAL_LINE(GPIOA, 3)
+# define A4 PAL_LINE(GPIOA, 4)
+# define A5 PAL_LINE(GPIOA, 5)
+# define A6 PAL_LINE(GPIOA, 6)
+# define A7 PAL_LINE(GPIOA, 7)
+# define A8 PAL_LINE(GPIOA, 8)
# define A13 PAL_LINE(GPIOA, 13)
# define A14 PAL_LINE(GPIOA, 14)
# define A15 PAL_LINE(GPIOA, 15)
@@ -272,30 +126,6 @@
# define C15 PAL_LINE(GPIOC, 15)
#endif
-#ifdef OLED_DRIVER_SH1107
-# define OLED_DISPLAY_CUSTOM
-# define OLED_IC_SH1107 2
-# define OLED_DISPLAY_128X128
-# define OLED_DISPLAY_WIDTH 128
-# define OLED_DISPLAY_HEIGHT 128
-# define OLED_MATRIX_SIZE (OLED_DISPLAY_HEIGHT / 8 * OLED_DISPLAY_WIDTH)
-# define OLED_BLOCK_TYPE uint32_t
-# define OLED_SOURCE_MAP \
- { 0, 8, 16, 24, 32, 40, 48, 56 }
-# define OLED_TARGET_MAP \
- { 56, 48, 40, 32, 24, 16, 8, 0 }
-# define OLED_BLOCK_COUNT (sizeof(OLED_BLOCK_TYPE) * 8)
-# define OLED_BLOCK_SIZE (OLED_MATRIX_SIZE / OLED_BLOCK_COUNT)
-# define OLED_COM_PINS COM_PINS_ALT
-# define OLED_IC OLED_IC_SH1107
-# ifndef OLED_BRIGHTNESS
-# define OLED_BRIGHTNESS 50
-# endif
-# if !defined(STM32F4XX)
-# undef OLED_UPDATE_INTERVAL
-# define OLED_UPDATE_INTERVAL 75
-# endif
-#endif
#define ENABLE_COMPILE_KEYCODE