mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-12-26 19:18:03 +06:00
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_DISABLE_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
|