summaryrefslogtreecommitdiffstats
path: root/users/bbaserdem/config.h
blob: 3c467d5e7d6cf38e1158a03256c81c02c8d11e91 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
/* 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