config.h 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. // Copyright 2022 Danny Nguyen (@nooges)
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include "config_common.h"
  5. /* key matrix size */
  6. #define MATRIX_ROWS 1
  7. #define MATRIX_COLS 4
  8. /*
  9. * Keyboard Matrix Assignments
  10. */
  11. #define MATRIX_ROW_PINS { F0 }
  12. #define MATRIX_COL_PINS { E6, D5, B6, B7 }
  13. /* COL2ROW or ROW2COL */
  14. #define DIODE_DIRECTION COL2ROW
  15. #define RGB_DI_PIN D3
  16. #ifdef RGB_DI_PIN
  17. # define RGBLED_NUM 32
  18. # define RGBLIGHT_HUE_STEP 8
  19. # define RGBLIGHT_SAT_STEP 8
  20. # define RGBLIGHT_VAL_STEP 8
  21. # define RGBLIGHT_LIMIT_VAL 120 /* The maximum brightness level */
  22. # define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
  23. /*== enabled animations ==*/
  24. # define RGBLIGHT_EFFECT_BREATHING
  25. # define RGBLIGHT_EFFECT_RAINBOW_MOOD
  26. # define RGBLIGHT_EFFECT_RAINBOW_SWIRL
  27. # define RGBLIGHT_EFFECT_SNAKE
  28. # define RGBLIGHT_EFFECT_KNIGHT
  29. # define RGBLIGHT_EFFECT_CHRISTMAS
  30. # define RGBLIGHT_EFFECT_STATIC_GRADIENT
  31. # define RGBLIGHT_EFFECT_RGB_TEST
  32. # define RGBLIGHT_EFFECT_ALTERNATING
  33. # define RGBLIGHT_EFFECT_TWINKLE
  34. # define RGBLIGHT_DEFAULT_VAL 120
  35. # define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
  36. // RGB Matrix
  37. //# ifdef RGB_MATRIX_ENABLE
  38. # define ENABLE_RGB_MATRIX_ALPHAS_MODS
  39. # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
  40. # define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
  41. # define ENABLE_RGB_MATRIX_BREATHING
  42. # define ENABLE_RGB_MATRIX_BAND_SAT
  43. # define ENABLE_RGB_MATRIX_BAND_VAL
  44. # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
  45. # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
  46. # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
  47. # define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
  48. # define ENABLE_RGB_MATRIX_CYCLE_ALL
  49. # define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
  50. # define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
  51. # define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
  52. # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
  53. # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
  54. # define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
  55. # define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
  56. # define ENABLE_RGB_MATRIX_DUAL_BEACON
  57. # define ENABLE_RGB_MATRIX_RAINBOW_BEACON
  58. # define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
  59. // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
  60. # define ENABLE_RGB_MATRIX_TYPING_HEATMAP
  61. # define ENABLE_RGB_MATRIX_DIGITAL_RAIN
  62. // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
  63. # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
  64. # define ENABLE_RGB_MATRIX_SOLID_REACTIVE
  65. # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
  66. # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
  67. # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
  68. # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
  69. # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
  70. # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
  71. # define ENABLE_RGB_MATRIX_SPLASH
  72. # define ENABLE_RGB_MATRIX_MULTISPLASH
  73. # define ENABLE_RGB_MATRIX_SOLID_SPLASH
  74. # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
  75. # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 160
  76. # define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
  77. # define RGB_MATRIX_LED_COUNT RGBLED_NUM
  78. # define RGB_DISABLE_WHEN_USB_SUSPENDED
  79. # define RGB_MATRIX_KEYPRESSES
  80. //# endif
  81. #endif
  82. /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
  83. #define DEBOUNCE 5
  84. /* define if matrix has ghost (lacks anti-ghosting diodes) */
  85. //#define MATRIX_HAS_GHOST
  86. /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
  87. #define LOCKING_SUPPORT_ENABLE
  88. /* Locking resynchronize hack */
  89. #define LOCKING_RESYNC_ENABLE
  90. /* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
  91. * This is useful for the Windows task manager shortcut (ctrl+shift+esc).
  92. */
  93. //#define GRAVE_ESC_CTRL_OVERRIDE
  94. /*
  95. * Force NKRO
  96. *
  97. * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
  98. * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
  99. * makefile for this to work.)
  100. *
  101. * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
  102. * until the next keyboard reset.
  103. *
  104. * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
  105. * fully operational during normal computer usage.
  106. *
  107. * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
  108. * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
  109. * bootmagic, NKRO mode will always be enabled until it is toggled again during a
  110. * power-up.
  111. *
  112. */
  113. //#define FORCE_NKRO
  114. /*
  115. * Feature disable options
  116. * These options are also useful to firmware size reduction.
  117. */
  118. /* disable debug print */
  119. //#define NO_DEBUG
  120. /* disable print */
  121. //#define NO_PRINT
  122. /* disable action features */
  123. //#define NO_ACTION_LAYER
  124. //#define NO_ACTION_TAPPING
  125. //#define NO_ACTION_ONESHOT
  126. /* Bootmagic Lite key configuration */
  127. //#define BOOTMAGIC_LITE_ROW 0
  128. //#define BOOTMAGIC_LITE_COLUMN 0