config.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. // Copyright 2021 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 2
  7. #define MATRIX_COLS 4
  8. /*
  9. * Keyboard Matrix Assignments
  10. */
  11. #define DIRECT_PINS { \
  12. { E6, B6, D6, NO_PIN }, \
  13. { NO_PIN, NO_PIN, NO_PIN, NO_PIN } \
  14. }
  15. #define AUDIO_PIN C6
  16. #ifdef AUDIO_ENABLE
  17. # define STARTUP_SONG SONG(STARTUP_SOUND)
  18. #endif
  19. #define ENCODERS_PAD_A { C7, D7 }
  20. #define ENCODERS_PAD_B { B5, D4 }
  21. #define ENCODERS 2
  22. #define ENCODERS_CW_KEY { { 1, 1 }, { 3, 1 } }
  23. #define ENCODERS_CCW_KEY { { 0, 1 }, { 2, 1 } }
  24. #define RGB_DI_PIN D3
  25. #ifdef RGB_DI_PIN
  26. # define RGBLED_NUM 16
  27. # define RGBLIGHT_HUE_STEP 8
  28. # define RGBLIGHT_SAT_STEP 8
  29. # define RGBLIGHT_VAL_STEP 8
  30. # define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
  31. # define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
  32. # define RGBLIGHT_EFFECT_BREATHING
  33. # define RGBLIGHT_EFFECT_RAINBOW_MOOD
  34. # define RGBLIGHT_EFFECT_RAINBOW_SWIRL
  35. # define RGBLIGHT_EFFECT_SNAKE
  36. # define RGBLIGHT_EFFECT_KNIGHT
  37. # define RGBLIGHT_EFFECT_CHRISTMAS
  38. # define RGBLIGHT_EFFECT_STATIC_GRADIENT
  39. # define RGBLIGHT_EFFECT_RGB_TEST
  40. # define RGBLIGHT_EFFECT_ALTERNATING
  41. #endif
  42. #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
  43. /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
  44. #define DEBOUNCE 5
  45. /* define if matrix has ghost (lacks anti-ghosting diodes) */
  46. //#define MATRIX_HAS_GHOST
  47. /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
  48. #define LOCKING_SUPPORT_ENABLE
  49. /* Locking resynchronize hack */
  50. #define LOCKING_RESYNC_ENABLE
  51. /* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
  52. * This is useful for the Windows task manager shortcut (ctrl+shift+esc).
  53. */
  54. //#define GRAVE_ESC_CTRL_OVERRIDE
  55. /*
  56. * Force NKRO
  57. *
  58. * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
  59. * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
  60. * makefile for this to work.)
  61. *
  62. * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
  63. * until the next keyboard reset.
  64. *
  65. * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
  66. * fully operational during normal computer usage.
  67. *
  68. * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
  69. * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
  70. * bootmagic, NKRO mode will always be enabled until it is toggled again during a
  71. * power-up.
  72. *
  73. */
  74. //#define FORCE_NKRO
  75. /*
  76. * Feature disable options
  77. * These options are also useful to firmware size reduction.
  78. */
  79. /* disable debug print */
  80. //#define NO_DEBUG
  81. /* disable print */
  82. //#define NO_PRINT
  83. /* disable action features */
  84. //#define NO_ACTION_LAYER
  85. //#define NO_ACTION_TAPPING
  86. //#define NO_ACTION_ONESHOT
  87. /* Bootmagic Lite key configuration */
  88. //#define BOOTMAGIC_LITE_ROW 0
  89. //#define BOOTMAGIC_LITE_COLUMN 0