]> git.donarmstrong.com Git - qmk_firmware.git/blob - users/drashna/config.h
[Keymap] Drashna's Feature madness (#6128)
[qmk_firmware.git] / users / drashna / config.h
1 #pragma once
2
3 #ifdef AUDIO_ENABLE
4 #    if __GNUC__ > 7
5 #        if __has_include("drashna_song_list.h")
6 #            include "drashna_song_list.h"
7 #        endif  // if file exists
8 #    endif      // __GNUC__
9
10 #    define AUDIO_CLICKY
11 #    define STARTUP_SONG SONG(RICK_ROLL)
12 #    define GOODBYE_SONG SONG(SONIC_RING)
13 #    define DEFAULT_LAYER_SONGS \
14         { SONG(QWERTY_SOUND), SONG(COLEMAK_SOUND), SONG(DVORAK_SOUND), SONG(OVERWATCH_THEME) }
15
16 #    define AUDIO_CLICKY_FREQ_RANDOMNESS 1.5f
17
18 #    define UNICODE_SONG_OSX SONG(RICK_ROLL)
19 #    define UNICODE_SONG_LNX SONG(RICK_ROLL)
20 #    define UNICODE_SONG_WIN SONG(RICK_ROLL)
21 #    define UNICODE_SONG_BSD SONG(RICK_ROLL)
22 #    define UNICODE_SONG_WINC SONG(RICK_ROLL)
23 #endif  // !AUDIO_ENABLE
24
25 #ifdef RGBLIGHT_ENABLE
26 #    define RGBLIGHT_SLEEP
27 #    undef RGBLIGHT_ANIMATIONS
28 #    define RGBLIGHT_EFFECT_BREATHING
29 #    define RGBLIGHT_EFFECT_SNAKE
30 #    define RGBLIGHT_EFFECT_KNIGHT
31 #endif  // RGBLIGHT_ENABLE
32
33 #ifdef RGB_MATRIX_ENABLE
34 #    define RGB_MATRIX_KEYPRESSES  // reacts to keypresses (will slow down matrix scan by a lot)
35 // #   define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (not recommened)
36 #    define RGB_MATRIX_FRAMEBUFFER_EFFECTS
37 // #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
38 #    define RGB_DISABLE_WHEN_USB_SUSPENDED true  // turn off effects when suspended
39 // #   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
40 // #   define EECONFIG_RGB_MATRIX (uint32_t *)16
41
42 #    if defined(__AVR__) && !defined(__AVR_AT90USB1286__)
43 #        define DISABLE_RGB_MATRIX_ALPHAS_MODS
44 #        define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
45 #        define DISABLE_RGB_MATRIX_BREATHING
46 #        define DISABLE_RGB_MATRIX_BAND_SAT
47 #        define DISABLE_RGB_MATRIX_BAND_VAL
48 #        define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
49 #        define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
50 #        define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
51 #        define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL
52 #        define DISABLE_RGB_MATRIX_CYCLE_ALL
53 #        define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
54 #        define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN
55 #        define DISABLE_RGB_MATRIX_CYCLE_OUT_IN
56 // #       define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
57 #        define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
58 #        define DISABLE_RGB_MATRIX_DUAL_BEACON
59 #        define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL
60 #        define DISABLE_RGB_MATRIX_CYCLE_SPIRAL
61 #        define DISABLE_RGB_MATRIX_RAINBOW_BEACON
62 #        define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS
63 #        define DISABLE_RGB_MATRIX_RAINDROPS
64 #        define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
65 // #       define DISABLE_RGB_MATRIX_TYPING_HEATMAP
66 #        define DISABLE_RGB_MATRIX_DIGITAL_RAIN
67 #        define DISABLE_RGB_MATRIX_SOLID_REACTIVE
68 #        define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
69 #        define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
70 #        define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
71 #        define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
72 #        define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
73 #        define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
74 #        define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
75 #        define DISABLE_RGB_MATRIX_SPLASH
76 #        define DISABLE_RGB_MATRIX_MULTISPLASH
77 #        define DISABLE_RGB_MATRIX_SOLID_SPLASH
78 #        define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
79 #    endif  // AVR
80 #endif      // RGB_MATRIX_ENABLE
81
82 #ifndef ONESHOT_TAP_TOGGLE
83 #    define ONESHOT_TAP_TOGGLE 2
84 #endif  // !ONESHOT_TAP_TOGGLE
85
86 #ifndef ONESHOT_TIMEOUT
87 #    define ONESHOT_TIMEOUT 3000
88 #endif  // !ONESHOT_TIMEOUT
89
90 #ifndef QMK_KEYS_PER_SCAN
91 #    define QMK_KEYS_PER_SCAN 4
92 #endif  // !QMK_KEYS_PER_SCAN
93
94 // this makes it possible to do rolling combos (zx) with keys that
95 // convert to other keys on hold (z becomes ctrl when you hold it,
96 // and when this option isn't enabled, z rapidly followed by x
97 // actually sends Ctrl-x. That's bad.)
98 #define IGNORE_MOD_TAP_INTERRUPT
99 #undef PERMISSIVE_HOLD
100 //#define TAPPING_FORCE_HOLD
101 //#define RETRO_TAPPING
102
103 #define FORCE_NKRO
104
105 #ifndef TAPPING_TOGGLE
106 #    define TAPPING_TOGGLE 1
107 #endif
108
109 #ifdef TAPPING_TERM
110 #    undef TAPPING_TERM
111 #endif  // TAPPING_TERM
112 #if defined(KEYBOARD_ergodox_ez)
113 #    define TAPPING_TERM 185
114 #elif defined(KEYBOARD_crkbd)
115 #    define TAPPING_TERM 200
116 #else
117 #    define TAPPING_TERM 175
118 #endif
119
120 #define TAP_CODE_DELAY 5
121
122 /* Disable unused and unneeded features to reduce on firmware size */
123 #ifdef LOCKING_SUPPORT_ENABLE
124 #    undef LOCKING_SUPPORT_ENABLE
125 #endif
126 #ifdef LOCKING_RESYNC_ENABLE
127 #    undef LOCKING_RESYNC_ENABLE
128 #endif