config.h 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. /*
  2. Copyright 2021 3araht
  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. This program is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. GNU General Public License for more details.
  11. You should have received a copy of the GNU General Public License
  12. along with this program. If not, see <http://www.gnu.org/licenses/>.
  13. */
  14. #pragma once
  15. /* ws2812 RGB LED */
  16. #define RGB_DI_PIN D3
  17. #ifdef RGB_MATRIX_ENABLE
  18. /* ws2812 RGB MATRIX */
  19. # define RGB_MATRIX_LED_COUNT 116
  20. // reacts to keypresses
  21. # define RGB_MATRIX_KEYPRESSES
  22. // for all fingers used at once.
  23. # define LED_HITS_TO_REMEMBER 10
  24. # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
  25. # define RGB_MATRIX_DEFAULT_SPD 127
  26. # define RGB_MATRIX_CENTER { 124, 32 }
  27. // the above brighness setting has no effect on rgb_matrix_set_color().
  28. // Use darker colors instead.
  29. /* RGB darker COLORS */
  30. # define RGB_DARKWHITE 0x33, 0x33, 0x33
  31. # define RGB_DARKRED 0x33, 0x0, 0x0
  32. # define RGB_DARKCORAL 0x33, 0x18, 0xF
  33. # define RGB_DARKORANGE 0x33, 0x19, 0x0
  34. # define RGB_DARKGOLDENROD 0x2B, 0x21, 0x6
  35. # define RGB_DARKGOLD 0x33, 0x2B, 0x0
  36. # define RGB_DARKYELLOW 0x33, 0x33, 0x0
  37. # define RGB_DARKCHARTREUSE 0x19, 0x33, 0x0
  38. # define RGB_DARKGREEN 0x0, 0x33, 0x0
  39. # define RGB_DARKSPRINGGREEN 0x0, 0x33, 0x19
  40. # define RGB_DARKTURQUOISE 0xE, 0x16, 0x15
  41. # define RGB_DARKTEAL 0x0, 0x19, 0x19
  42. # define RGB_DARKCYAN 0x0, 0x33, 0x33
  43. # define RGB_DARKAZURE 0x1E, 0x31, 0x33
  44. # define RGB_DARKBLUE 0x0, 0x0, 0x33
  45. # define RGB_DARKPURPLE 0x18, 0x0, 0x33
  46. # define RGB_DARKMAGENTA 0x33, 0x0, 0x33
  47. # define RGB_DARKPINK 0x33, 0x19, 0x26
  48. // https://docs.qmk.fm/#/feature_rgb_matrix
  49. // Enable suspend mode.
  50. # define RGB_DISABLE_WHEN_USB_SUSPENDED
  51. # ifdef CONSOLE_ENABLE
  52. # define ENABLE_RGB_MATRIX_SOLID_COLOR
  53. # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
  54. # else
  55. # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
  56. # define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
  57. # define ENABLE_RGB_MATRIX_BREATHING
  58. # define ENABLE_RGB_MATRIX_BAND_SAT
  59. # define ENABLE_RGB_MATRIX_BAND_VAL
  60. # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
  61. # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
  62. # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
  63. # define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
  64. # define ENABLE_RGB_MATRIX_CYCLE_ALL
  65. # define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
  66. # define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
  67. # define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
  68. # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
  69. # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
  70. # define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
  71. # define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
  72. # define ENABLE_RGB_MATRIX_DUAL_BEACON
  73. # define ENABLE_RGB_MATRIX_RAINBOW_BEACON
  74. # define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
  75. # define ENABLE_RGB_MATRIX_RAINDROPS
  76. # define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
  77. # define ENABLE_RGB_MATRIX_HUE_BREATHING
  78. # define ENABLE_RGB_MATRIX_HUE_PENDULUM
  79. # define ENABLE_RGB_MATRIX_HUE_WAVE
  80. # define ENABLE_RGB_MATRIX_TYPING_HEATMAP
  81. # define ENABLE_RGB_MATRIX_DIGITAL_RAIN
  82. # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
  83. # define ENABLE_RGB_MATRIX_SOLID_REACTIVE
  84. # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
  85. # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
  86. # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
  87. # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
  88. # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
  89. # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
  90. # define ENABLE_RGB_MATRIX_SPLASH
  91. # define ENABLE_RGB_MATRIX_MULTISPLASH
  92. # define ENABLE_RGB_MATRIX_SOLID_SPLASH
  93. # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
  94. # endif // CONSOLE_ENABLE
  95. #endif // RGB_MATRIX_ENABLE
  96. /* Audio */
  97. #ifdef AUDIO_ENABLE
  98. # define AUDIO_PIN B6 // use PB6 = PIN10 as Audio output
  99. // #define DAC_SAMPLE_MAX 32768U
  100. # define DAC_SAMPLE_MAX 65535U
  101. // #define AUDIO_CLICKY
  102. # define NO_MUSIC_MODE
  103. // #define STARTUP_SONG SONG(FANTASIE_IMPROMPTU)
  104. // #define STARTUP_SONG SONG(NOCTURNE_OP_9_NO_1)
  105. // #define STARTUP_SONG SONG(USSR_ANTHEM)
  106. // #define STARTUP_SONG SONG(CAMPANELLA)
  107. #endif // AUDIO_ENABLE
  108. /*
  109. * MIDI options
  110. */
  111. /* enable basic MIDI features:
  112. - MIDI notes can be sent when in Music mode is on
  113. */
  114. //#define MIDI_BASIC
  115. /* enable advanced MIDI features:
  116. - MIDI notes can be added to the keymap
  117. - Octave shift and transpose
  118. - Virtual sustain, portamento, and modulation wheel
  119. - etc.
  120. */
  121. #ifdef MIDI_ENABLE
  122. # define MIDI_ADVANCED
  123. // Initial velocity value (avoid using 127 since it is used as a special number in some sound sources.)
  124. # define MIDI_INITIAL_VELOCITY 117
  125. #endif // MIDI_ENABLE
  126. /* disable action features */
  127. //#define NO_ACTION_LAYER
  128. //#define NO_ACTION_TAPPING
  129. /* 2021/01/22 added to shrink firmware size */
  130. // NO_ACTION_TAPPING -1964 bytes, however, this disables Layer mods...
  131. // #define NO_ACTION_TAPPING
  132. // NO_ACTION_ONESHOT -388 bytes
  133. #define NO_ACTION_ONESHOT