135 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			135 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* Copyright 2021 Batuhan Başerdem
 | 
						|
 * <baserdem.batuhan@gmail.com> @bbaserdem
 | 
						|
 *
 | 
						|
 * This program is free software: you can redistribute it and/or modify
 | 
						|
 * it under the terms of the GNU General Public License as published by
 | 
						|
 * the Free Software Foundation, either version 2 of the License, or
 | 
						|
 * (at your option) any later version.
 | 
						|
 *
 | 
						|
 * This program is distributed in the hope that it will be useful,
 | 
						|
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
						|
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
						|
 * GNU General Public License for more details.
 | 
						|
 *
 | 
						|
 * You should have received a copy of the GNU General Public License
 | 
						|
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
						|
 */
 | 
						|
#pragma once
 | 
						|
 | 
						|
/* CONFIG
 | 
						|
 * Common hardware configuration accross my boards
 | 
						|
 */
 | 
						|
// Space saving
 | 
						|
#ifdef LOCKING_SUPPORT_ENABLE
 | 
						|
#    undef LOCKING_SUPPORT_ENABLE
 | 
						|
#endif
 | 
						|
#ifdef LOCKING_RESYNC_ENABLE
 | 
						|
#    undef LOCKING_RESYNC_ENABLE
 | 
						|
#endif
 | 
						|
#ifndef NO_DEBUG
 | 
						|
#   define NO_DEBUG
 | 
						|
#endif
 | 
						|
 | 
						|
#if !defined(NO_PRINT) && !defined(CONSOLE_ENABLE)
 | 
						|
#   define NO_PRINT
 | 
						|
#endif
 | 
						|
 | 
						|
// Some of my own settings
 | 
						|
# define HOUSEKEEPING_THROTTLE_INTERVAL_MS 250
 | 
						|
 | 
						|
// Split transport settings
 | 
						|
#ifdef SPLIT_KEYBOARD
 | 
						|
#   define SPLIT_TRANSPORT_MIRROR
 | 
						|
#   define SPLIT_LAYER_STATE_ENABLE
 | 
						|
#   define SPLIT_MODS_ENABLE
 | 
						|
#   define SPLIT_TRANSACTION_IDS_USER RPC_ID_CONFIG_SYNC, RPC_ID_RUNTIME_SYNC, RPC_ID_KEYMAP_SYNC
 | 
						|
#   define SPLIT_LED_STATE_ENABLE
 | 
						|
#   ifdef WPM_ENABLE
 | 
						|
#       define SPLIT_WPM_ENABLE
 | 
						|
#   endif // WPM_ENABLE
 | 
						|
#   ifdef OLED_ENABLE
 | 
						|
#       define SPLIT_OLED_ENABLE
 | 
						|
#   endif // OLED_ENABLE
 | 
						|
#endif // SPLIT_KEYBOARD
 | 
						|
 | 
						|
// Unicode entry mode
 | 
						|
#ifdef UNICODEMAP_ENABLE
 | 
						|
#   define UNICODE_SELECTED_MODES UC_LNX
 | 
						|
    // Adapt the unicode entry mode to dvorak
 | 
						|
#   ifdef UNICODE_KEY_LNX
 | 
						|
#   undef UNICODE_KEY_LNX
 | 
						|
#   endif
 | 
						|
#   define UNICODE_KEY_LNX LCTL(LSFT(KC_F))
 | 
						|
#endif // UNICODEMAP_ENABLE
 | 
						|
 | 
						|
// Mousekey mode
 | 
						|
#ifdef MOUSEKEY_ENABLE
 | 
						|
#   define MK_COMBINED
 | 
						|
#endif // MOUSEKEY_ENABLE
 | 
						|
 | 
						|
// Tap-hold settings
 | 
						|
#define TAPPING_TERM 200
 | 
						|
#define TAP_CODE_DELAY 20
 | 
						|
#define IGNORE_MOD_TAP_INTERRUPT
 | 
						|
#define PERMISSIVE_HOLD
 | 
						|
#define TAPPING_FORCE_HOLD
 | 
						|
 | 
						|
// Backlight settings
 | 
						|
#ifdef BACKLIGHT_ENABLE
 | 
						|
#   define BACKLIGHT_BREATHING
 | 
						|
#   define BREATHING_PERIOD 5
 | 
						|
#endif // BACKLIGHT_ENABLE
 | 
						|
 | 
						|
// Audio definitions
 | 
						|
#ifdef AUDIO_ENABLE
 | 
						|
//#   define AUDIO_ENABLE_TONE_MULTIPLEXING
 | 
						|
    // Make findable songs as defaults
 | 
						|
#   ifdef HOROLOGY
 | 
						|
#   define STARTUP_SONG    SONG(HOROLOGY)
 | 
						|
#   endif
 | 
						|
#   ifdef PEOPLE_VULTURES
 | 
						|
#   define GOODBYE_SONG    SONG(PEOPLE_VULTURES)
 | 
						|
#   endif
 | 
						|
#   ifdef NONAGON_INFINITY
 | 
						|
#   define MUSIC_ON_SONG   SONG(NONAGON_INFINITY)
 | 
						|
#   endif
 | 
						|
#   ifdef WAH_WAH
 | 
						|
#   define MUSIC_OFF_SONG  SONG(WAH_WAH)
 | 
						|
#   endif
 | 
						|
    // Audio code expects these to be defined
 | 
						|
#   ifdef BIG_FIG_WASP
 | 
						|
#   define GAME_ON_SONG    SONG(BIG_FIG_WASP)
 | 
						|
#   else
 | 
						|
#   define GAME_ON_SONG    SONG(USSR_ANTHEM)
 | 
						|
#   endif
 | 
						|
#   ifdef POLYGONDWANALAND
 | 
						|
#   define GAME_OFF_SONG   SONG(POLYGONDWANALAND)
 | 
						|
#   else
 | 
						|
#   define GAME_OFF_SONG   SONG(NOCTURNE_OP_9_NO_1)
 | 
						|
#   endif
 | 
						|
#endif // AUDIO_ENABLE
 | 
						|
 | 
						|
// OLED definitions
 | 
						|
#ifdef OLED_ENABLE
 | 
						|
    // Timeout does not work for split secondary board; i implemented it myself
 | 
						|
#   define OLED_TIMEOUT 30000
 | 
						|
    // Fade out the screen when timing out
 | 
						|
#   define OLED_FADE_OUT
 | 
						|
#   define OLED_FADE_OUT_INTERVAL 15
 | 
						|
#endif // OLED_ENABLE
 | 
						|
 | 
						|
// For perkey leds
 | 
						|
#ifdef RGB_MATRIX_ENABLE
 | 
						|
// This is not working
 | 
						|
//#   define RGB_MATRIX_TIMEOUT 1800000
 | 
						|
#   define RGB_DISABLE_WHEN_USB_SUSPENDED true
 | 
						|
    // Start using this mode
 | 
						|
#   define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_RAINBOW_BEACON
 | 
						|
#   define RGB_MATRIX_STARTUP_HUE 100
 | 
						|
#   define RGB_MATRIX_STARTUP_SAT 255
 | 
						|
#   define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
 | 
						|
    // Some config options
 | 
						|
#   define RGB_MATRIX_KEYRELEASES
 | 
						|
#   define RGB_MATRIX_FRAMEBUFFER_EFFECTS      // Enable framebuffer effects
 | 
						|
#endif // RGB_MATRIX_ENABLE
 |