config.h 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. /* Copyright 2021 Batuhan Başerdem
  2. * <baserdem.batuhan@gmail.com> @bbaserdem
  3. *
  4. * This program is free software: you can redistribute it and/or modify
  5. * it under the terms of the GNU General Public License as published by
  6. * the Free Software Foundation, either version 2 of the License, or
  7. * (at your option) any later version.
  8. *
  9. * This program is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. * GNU General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU General Public License
  15. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  16. */
  17. #pragma once
  18. /* CONFIG
  19. * Common hardware configuration accross my boards
  20. */
  21. // Space saving
  22. #ifdef LOCKING_SUPPORT_ENABLE
  23. # undef LOCKING_SUPPORT_ENABLE
  24. #endif
  25. #ifdef LOCKING_RESYNC_ENABLE
  26. # undef LOCKING_RESYNC_ENABLE
  27. #endif
  28. #ifndef NO_DEBUG
  29. # define NO_DEBUG
  30. #endif
  31. #if !defined(NO_PRINT) && !defined(CONSOLE_ENABLE)
  32. # define NO_PRINT
  33. #endif
  34. // Some of my own settings
  35. # define HOUSEKEEPING_THROTTLE_INTERVAL_MS 250
  36. // Split transport settings
  37. #ifdef SPLIT_KEYBOARD
  38. # define SPLIT_TRANSPORT_MIRROR
  39. # define SPLIT_LAYER_STATE_ENABLE
  40. # define SPLIT_MODS_ENABLE
  41. # define SPLIT_TRANSACTION_IDS_USER RPC_ID_CONFIG_SYNC, RPC_ID_RUNTIME_SYNC, RPC_ID_KEYMAP_SYNC
  42. # define SPLIT_LED_STATE_ENABLE
  43. # ifdef WPM_ENABLE
  44. # define SPLIT_WPM_ENABLE
  45. # endif // WPM_ENABLE
  46. # ifdef OLED_ENABLE
  47. # define SPLIT_OLED_ENABLE
  48. # endif // OLED_ENABLE
  49. #endif // SPLIT_KEYBOARD
  50. // Unicode entry mode
  51. #ifdef UNICODEMAP_ENABLE
  52. # define UNICODE_SELECTED_MODES UC_LNX
  53. // Adapt the unicode entry mode to dvorak
  54. # ifdef UNICODE_KEY_LNX
  55. # undef UNICODE_KEY_LNX
  56. # endif
  57. # define UNICODE_KEY_LNX LCTL(LSFT(KC_F))
  58. #endif // UNICODEMAP_ENABLE
  59. // Mousekey mode
  60. #ifdef MOUSEKEY_ENABLE
  61. # define MK_COMBINED
  62. #endif // MOUSEKEY_ENABLE
  63. // Tap-hold settings
  64. #define TAPPING_TERM 200
  65. #define TAP_CODE_DELAY 20
  66. #define IGNORE_MOD_TAP_INTERRUPT
  67. #define PERMISSIVE_HOLD
  68. #define TAPPING_FORCE_HOLD
  69. // Backlight settings
  70. #ifdef BACKLIGHT_ENABLE
  71. # define BACKLIGHT_BREATHING
  72. # define BREATHING_PERIOD 5
  73. #endif // BACKLIGHT_ENABLE
  74. // Audio definitions
  75. #ifdef AUDIO_ENABLE
  76. //# define AUDIO_ENABLE_TONE_MULTIPLEXING
  77. // Make findable songs as defaults
  78. # ifdef HOROLOGY
  79. # define STARTUP_SONG SONG(HOROLOGY)
  80. # endif
  81. # ifdef PEOPLE_VULTURES
  82. # define GOODBYE_SONG SONG(PEOPLE_VULTURES)
  83. # endif
  84. # ifdef NONAGON_INFINITY
  85. # define MUSIC_ON_SONG SONG(NONAGON_INFINITY)
  86. # endif
  87. # ifdef WAH_WAH
  88. # define MUSIC_OFF_SONG SONG(WAH_WAH)
  89. # endif
  90. // Audio code expects these to be defined
  91. # ifdef BIG_FIG_WASP
  92. # define GAME_ON_SONG SONG(BIG_FIG_WASP)
  93. # else
  94. # define GAME_ON_SONG SONG(USSR_ANTHEM)
  95. # endif
  96. # ifdef POLYGONDWANALAND
  97. # define GAME_OFF_SONG SONG(POLYGONDWANALAND)
  98. # else
  99. # define GAME_OFF_SONG SONG(NOCTURNE_OP_9_NO_1)
  100. # endif
  101. #endif // AUDIO_ENABLE
  102. // OLED definitions
  103. #ifdef OLED_ENABLE
  104. // Timeout does not work for split secondary board; i implemented it myself
  105. # define OLED_TIMEOUT 30000
  106. // Fade out the screen when timing out
  107. # define OLED_FADE_OUT
  108. # define OLED_FADE_OUT_INTERVAL 15
  109. #endif // OLED_ENABLE
  110. // For perkey leds
  111. #ifdef RGB_MATRIX_ENABLE
  112. // This is not working
  113. //# define RGB_DISABLE_TIMEOUT 1800000
  114. # define RGB_DISABLE_WHEN_USB_SUSPENDED true
  115. // Start using this mode
  116. # define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_RAINBOW_BEACON
  117. # define RGB_MATRIX_STARTUP_HUE 100
  118. # define RGB_MATRIX_STARTUP_SAT 255
  119. # define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
  120. // Some config options
  121. # define RGB_MATRIX_KEYRELEASES
  122. # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // Enable framebuffer effects
  123. #endif // RGB_MATRIX_ENABLE