You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

156 lines
4.6 KiB

  1. /* Copyright 2021 Chris Laprade
  2. *
  3. * This program is free software: you can redistribute it and/or modify
  4. * it under the terms of the GNU General Public License as published by
  5. * the Free Software Foundation, either version 2 of the License, or
  6. * (at your option) any later version.
  7. *
  8. * This program is distributed in the hope that it will be useful,
  9. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. * GNU General Public License for more details.
  12. *
  13. * You should have received a copy of the GNU General Public License
  14. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  15. */
  16. #pragma once
  17. /*
  18. * USB/POWER OPTIONS
  19. */
  20. // #define USB_MAX_POWER_CONSUMPTION 500
  21. #define USB_SUSPEND_WAKEUP_DELAY 200
  22. #define USB_POLLING_INTERVAL_MS 1
  23. /*
  24. * MUSIC/AUDIO options
  25. */
  26. #ifdef AUDIO_ENABLE
  27. # define AUDIO_CLICKY
  28. # define MUSIC_MAP
  29. # define AUDIO_VOICES
  30. # define AUDIO_VOICE_DEFAULT something
  31. # define AUDIO_DAC_SAMPLE_MAX 2732U
  32. # define DEFAULT_LAYER_SONGS \
  33. { SONG(QWERTY_SOUND), SONG(COLEMAK_SOUND), SONG(DVORAK_SOUND) }
  34. /* Plays during keyboard startup */
  35. # define STARTUP_SONG SONG(NO_SOUND)
  36. #endif
  37. /*
  38. * MIDI options
  39. */
  40. /* enable basic MIDI features:
  41. - MIDI notes can be sent when in Music mode is on
  42. */
  43. #define MIDI_BASIC
  44. /* enable advanced MIDI features:
  45. - MIDI notes can be added to the keymap
  46. - Octave shift and transpose
  47. - Virtual sustain, portamento, and modulation wheel
  48. - etc.
  49. */
  50. #define MIDI_ADVANCED
  51. /*
  52. * ENCODER options
  53. */
  54. #define ENCODER_DIRECTION_FLIP
  55. #define ENCODER_RESOLUTION 4 // Define number of stages between detents on encoders
  56. #define ENCODERS_PAD_A \
  57. { B12 }
  58. #define ENCODERS_PAD_B \
  59. { B13 }
  60. /*
  61. * RGB options
  62. */
  63. #ifdef RGBLIGHT_ENABLE
  64. # define RGBLIGHT_SLEEP // Allows rgb to sleep when the host/keyboard does
  65. # define RGBLIGHT_EFFECT_BREATHING
  66. # define RGBLIGHT_EFFECT_RAINBOW_MOOD
  67. # define RGBLIGHT_EFFECT_RAINBOW_SWIRL
  68. # define RGBLIGHT_EFFECT_SNAKE
  69. # define RGBLIGHT_EFFECT_KNIGHT
  70. # define RGBLIGHT_EFFECT_CHRISTMAS
  71. # define RGBLIGHT_EFFECT_STATIC_GRADIENT
  72. # define RGBLIGHT_EFFECT_RGB_TEST
  73. # define RGBLIGHT_EFFECT_ALTERNATING
  74. # define RGBLIGHT_EFFECT_TWINKLE
  75. # define RGBLIGHT_LAYERS // Enable indicating layers using layered rgb assignments
  76. # define RGBLIGHT_LAYER_BLINK // Allows rgb layers to be blinked (activate for a set amount of time)
  77. # define RGBLIGHT_MAX_LAYERS 32 // Overides the default (8) max number of rgb layers
  78. # define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF // Allows rgb layers to work even when rgb is toggled off
  79. #endif
  80. /*
  81. * UNICODE options
  82. */
  83. #define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_LINUX, UNICODE_MODE_MACOS // Define the methods used for in/outputting unicode
  84. /*
  85. * TAP-DANCE options
  86. */
  87. #define TAPPING_TERM_PER_KEY // Control Tap-Dance time individually by key
  88. #define TAPPING_TERM 250 // Default time allowed before resetting a Tap-Dance combo
  89. #define ONESHOT_TAP_TOGGLE 5 /* Tapping this number of times holds the key until tapped once again. */
  90. #define ONESHOT_TIMEOUT 5000 /* Time (in ms) before the one shot key is released */
  91. #define TAPPING_TOGGLE 3
  92. /*
  93. * LEADER-KEY options
  94. */ // Used for on-board chording
  95. #define LEADER_PER_KEY_TIMING
  96. #define LEADER_TIMEOUT 500
  97. /*
  98. * COMBO-KEY options
  99. */
  100. #define COMBO_COUNT 2
  101. #define COMBO_TERM 300
  102. /*
  103. * MACRO per-key options
  104. */
  105. #define RETRO_TAPPING_PER_KEY // Control Retro-Tap individually by key
  106. #define QUICK_TAP_TERM_PER_KEY // Control Quick-Tap individually by key
  107. #define HOLD_ON_OTHER_KEY_PRESS_PER_KEY // Control Hold-on-Other-Key-Press individually by key
  108. #define PERMISSIVE_HOLD_PER_KEY // Control Permissive-Hold individually by key
  109. #define MK_KINETIC_SPEED // Use kinetic acceleration for mouse-keys
  110. // Fall-back defines to prevent compile errors if user_song_list is missing
  111. #ifndef ZELDA_PUZZLE2
  112. # define ZELDA_PUZZLE2 Q__NOTE(_G5)
  113. #endif
  114. #ifndef SONIC_RING2
  115. # define SONIC_RING2 E__NOTE(_E6)
  116. #endif
  117. #ifndef ZELDA_CHEST2
  118. # define ZELDA_CHEST2 Q__NOTE(_G5)
  119. #endif
  120. #ifndef COIN_SOUND2
  121. # define COIN_SOUND2 E__NOTE(_A5)
  122. #endif
  123. #ifndef ONE_UP_SOUND2
  124. # define ONE_UP_SOUND2 Q__NOTE(_E6)
  125. #endif
  126. #ifndef IMPERIAL_MARCH
  127. # define IMPERIAL_MARCH HD_NOTE(_A4)
  128. #endif
  129. #ifndef MARIO_GAMEOVER
  130. # define MARIO_GAMEOVER HD_NOTE(_C5)
  131. #endif
  132. #ifndef LEAD_START_SOUND
  133. # define LEAD_START_SOUND E__NOTE(_C5)
  134. #endif
  135. #ifndef LEAD_SUCCESS_SOUND
  136. # define LEAD_SUCCESS_SOUND E__NOTE(_A5), HD_NOTE(_E6),
  137. #endif
  138. #ifndef LEAD_FAIL_SOUND
  139. # define LEAD_FAIL_SOUND E__NOTE(_A5), HD_NOTE(_E4),
  140. #endif