From 3076f86dc11d346d07c63e5fb11702817d7034e7 Mon Sep 17 00:00:00 2001
From: Jacob Jerrell <jacob.jerrell@gmail.com>
Date: Sun, 6 Dec 2020 00:30:27 -0600
Subject: Bocaj - Third Annual Refactor (Redux) (#10295)

* Reset everything to upstream, reapply Bocaj changes

* Bocaj - address PR comments

* Just in time changes

* Bocaj - Several adjustments after using the layout for a while
---
 users/bocaj/config.h | 124 ++++++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 102 insertions(+), 22 deletions(-)

(limited to 'users/bocaj/config.h')

diff --git a/users/bocaj/config.h b/users/bocaj/config.h
index 1956ea6d96..2a44aabfc4 100644
--- a/users/bocaj/config.h
+++ b/users/bocaj/config.h
@@ -1,8 +1,82 @@
 #pragma once
 
-#ifndef QMK_KEYS_PER_SCAN
-  #define QMK_KEYS_PER_SCAN 4
-#endif // QMK KEYS PER SCAN
+// Use custom magic number so that when switching branches, EEPROM always gets reset
+#define EECONFIG_MAGIC_NUMBER (uint16_t)0x1339
+
+/* Set Polling rate to 1000Hz */
+#define USB_POLLING_INTERVAL_MS 1
+
+#ifdef AUDIO_ENABLE
+
+#    define AUDIO_CLICKY
+#    define STARTUP_SONG SONG(RICK_ROLL)
+#    define GOODBYE_SONG SONG(SONIC_RING)
+#    define DEFAULT_LAYER_SONGS \
+        { SONG(QWERTY_SOUND), SONG(COLEMAK_SOUND), SONG(DVORAK_SOUND), SONG(OVERWATCH_THEME) }
+
+#    define AUDIO_CLICKY_FREQ_RANDOMNESS 1.5f
+
+#    define UNICODE_SONG_MAC SONG(RICK_ROLL)
+#    define UNICODE_SONG_LNX SONG(RICK_ROLL)
+#    define UNICODE_SONG_WIN SONG(RICK_ROLL)
+#    define UNICODE_SONG_BSD SONG(RICK_ROLL)
+#    define UNICODE_SONG_WINC SONG(RICK_ROLL)
+#endif  // !AUDIO_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 true  // turn off effects when suspended
+// #   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
+// #   define EECONFIG_RGB_MATRIX (uint32_t *)16
+
+#    if defined(__AVR__) && !defined(__AVR_AT90USB1286__)
+#        define DISABLE_RGB_MATRIX_ALPHAS_MODS
+#        define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+#        define DISABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+#        define DISABLE_RGB_MATRIX_BREATHING
+#        define DISABLE_RGB_MATRIX_BAND_SAT
+#        define DISABLE_RGB_MATRIX_BAND_VAL
+#        define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+#        define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+#        define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+#        define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+#        define DISABLE_RGB_MATRIX_CYCLE_ALL
+#        define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+#        define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN
+#        define DISABLE_RGB_MATRIX_CYCLE_OUT_IN
+// #       define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+#        define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+#        define DISABLE_RGB_MATRIX_DUAL_BEACON
+#        define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL
+#        define DISABLE_RGB_MATRIX_CYCLE_SPIRAL
+#        define DISABLE_RGB_MATRIX_RAINBOW_BEACON
+#        define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+#        define DISABLE_RGB_MATRIX_RAINDROPS
+#        define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+// #       define DISABLE_RGB_MATRIX_TYPING_HEATMAP
+#        define DISABLE_RGB_MATRIX_DIGITAL_RAIN
+#        define DISABLE_RGB_MATRIX_SOLID_REACTIVE
+#        define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+#        define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+#        define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+#        define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+#        define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+#        define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+#        define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+#        define DISABLE_RGB_MATRIX_SPLASH
+#        define DISABLE_RGB_MATRIX_MULTISPLASH
+#        define DISABLE_RGB_MATRIX_SOLID_SPLASH
+#        define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#    endif  // AVR
+#endif      // RGB_MATRIX_ENABLE
+
+#ifdef QMK_KEYS_PER_SCAN
+#    undef QMK_KEYS_PER_SCAN
+#    define QMK_KEYS_PER_SCAN 1
+#endif  // !QMK_KEYS_PER_SCAN
 
 // this makes it possible to do rolling combos (zx) with keys that
 // convert to other keys on hold (z becomes ctrl when you hold it,
@@ -10,24 +84,30 @@
 // actually sends Ctrl-x. That's bad.)
 #define IGNORE_MOD_TAP_INTERRUPT
 #undef PERMISSIVE_HOLD
-#define PREVENT_STUCK_MODIFIERS
+//#define TAPPING_FORCE_HOLD
+//#define RETRO_TAPPING
+
+#define FORCE_NKRO
+
+#ifndef TAPPING_TOGGLE
+#    define TAPPING_TOGGLE 1
+#endif
 
 #ifdef TAPPING_TERM
-#undef TAPPING_TERM
-#endif // TAPPING_TERM
-#define TAPPING_TERM 175
-
-#define RETRO_TAPPING
-
-// Disable action_get_macro and fn_actions, since we don't use these
-// and it saves on space in the firmware.
-#ifndef NO_DEBUG
-#define NO_DEBUG
-#endif // !NO_DEBUG
-#if !defined(NO_PRINT) && !defined(CONSOLE_ENABLE)
-#define NO_PRINT
-#endif // !NO_PRINT
-#define NO_ACTION_MACRO
-#define NO_ACTION_FUNCTION
-
-#define MACRO_TIMER 5
+#    undef TAPPING_TERM
+#endif  // TAPPING_TERM
+#if defined(KEYBOARD_ergodox_ez)
+#    define TAPPING_TERM 185
+#else
+#    define TAPPING_TERM 175
+#endif
+
+#define TAP_CODE_DELAY 5
+
+/* Disable unused and unneeded features to reduce on firmware size */
+#ifdef LOCKING_SUPPORT_ENABLE
+#    undef LOCKING_SUPPORT_ENABLE
+#endif
+#ifdef LOCKING_RESYNC_ENABLE
+#    undef LOCKING_RESYNC_ENABLE
+#endif
-- 
cgit v1.2.3