config.h 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. /*
  2. Copyright 2021 kb-elmo<mail@elmo.space>
  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. #include "config_common.h"
  16. /* key matrix size */
  17. #define MATRIX_ROWS 5
  18. #define MATRIX_COLS 15
  19. /* Keyboard Matrix Assignments */
  20. #define MATRIX_ROW_PINS { B0, B1, B2, B10, B11 }
  21. #define MATRIX_COL_PINS { A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A15, B8, B9, B12, B13 }
  22. /* COL2ROW, ROW2COL */
  23. #define DIODE_DIRECTION COL2ROW
  24. /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
  25. #define DEBOUNCE 5
  26. /* NKRO */
  27. #ifdef NKRO_ENABLE
  28. # define FORCE_NKRO
  29. #endif
  30. /* RGB stripe */
  31. #define RGB_DI_PIN B15
  32. #ifdef RGB_DI_PIN
  33. # define RGBLIGHT_EFFECT_ALTERNATING
  34. # define RGBLIGHT_EFFECT_BREATHING
  35. # define RGBLIGHT_EFFECT_CHRISTMAS
  36. # define RGBLIGHT_EFFECT_KNIGHT
  37. # define RGBLIGHT_EFFECT_RAINBOW_MOOD
  38. # define RGBLIGHT_EFFECT_RAINBOW_SWIRL
  39. # define RGBLIGHT_EFFECT_SNAKE
  40. # define RGBLIGHT_EFFECT_STATIC_GRADIENT
  41. # define RGBLIGHT_EFFECT_TWINKLE
  42. # define RGBLED_NUM 20
  43. # define RGBLIGHT_HUE_STEP 8
  44. # define RGBLIGHT_SAT_STEP 8
  45. # define RGBLIGHT_VAL_STEP 10
  46. # define RGBLIGHT_LIMIT_VAL 180
  47. # define OWL_VOLUME_RANGE 50
  48. #endif
  49. /* RGB matrix */
  50. #ifdef RGB_MATRIX_ENABLE
  51. # define USE_I2CV2
  52. # define RGB_MATRIX_DISABLE_KEYCODES
  53. # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
  54. # define RGB_MATRIX_KEYPRESSES
  55. # define RGB_MATRIX_LED_PROCESS_LIMIT 4
  56. # define RGB_MATRIX_LED_FLUSH_LIMIT 26
  57. # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
  58. # define RGB_MATRIX_STARTUP_VAL 128
  59. # define DRIVER_ADDR_1 0b0110000
  60. # define DRIVER_COUNT 1
  61. # define RGB_MATRIX_LED_COUNT 67
  62. // RGB Matrix Animation modes. Explicitly enabled
  63. // For full list of effects, see:
  64. // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
  65. # define ENABLE_RGB_MATRIX_ALPHAS_MODS
  66. # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
  67. # define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
  68. # define ENABLE_RGB_MATRIX_BREATHING
  69. # define ENABLE_RGB_MATRIX_BAND_SAT
  70. # define ENABLE_RGB_MATRIX_BAND_VAL
  71. # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
  72. # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
  73. # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
  74. # define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
  75. # define ENABLE_RGB_MATRIX_CYCLE_ALL
  76. # define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
  77. # define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
  78. # define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
  79. # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
  80. # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
  81. # define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
  82. # define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
  83. # define ENABLE_RGB_MATRIX_DUAL_BEACON
  84. # define ENABLE_RGB_MATRIX_RAINBOW_BEACON
  85. # define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
  86. # define ENABLE_RGB_MATRIX_RAINDROPS
  87. # define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
  88. # define ENABLE_RGB_MATRIX_HUE_BREATHING
  89. # define ENABLE_RGB_MATRIX_HUE_PENDULUM
  90. # define ENABLE_RGB_MATRIX_HUE_WAVE
  91. # define ENABLE_RGB_MATRIX_PIXEL_RAIN
  92. # define ENABLE_RGB_MATRIX_PIXEL_FLOW
  93. # define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
  94. // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
  95. # define ENABLE_RGB_MATRIX_TYPING_HEATMAP
  96. # define ENABLE_RGB_MATRIX_DIGITAL_RAIN
  97. // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
  98. # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
  99. # define ENABLE_RGB_MATRIX_SOLID_REACTIVE
  100. # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
  101. # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
  102. # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
  103. # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
  104. # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
  105. # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
  106. # define ENABLE_RGB_MATRIX_SPLASH
  107. # define ENABLE_RGB_MATRIX_MULTISPLASH
  108. # define ENABLE_RGB_MATRIX_SOLID_SPLASH
  109. # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
  110. #endif
  111. /* Encoder */
  112. #define ENCODERS_PAD_A { B4 }
  113. #define ENCODERS_PAD_B { B5 }
  114. #define ENCODER_RESOLUTION 4
  115. #define TAP_CODE_DELAY 10