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.

126 lines
4.3 KiB

  1. /* Copyright 2021 zhouqiong19840119
  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. /* USB Device descriptor parameter */
  18. #include "config_common.h"
  19. #define VENDOR_ID 0x7A71 // "zq" = zhouqiong19840119
  20. #define PRODUCT_ID 0x736B // "sk" = smallkeyboard
  21. #define DEVICE_VER 0x0001
  22. #define MANUFACTURER zhouqiong19840119
  23. #define PRODUCT smallkeyboard
  24. /* key matrix size */
  25. #define MATRIX_ROWS 2
  26. #define MATRIX_COLS 3
  27. /*
  28. * Keyboard Matrix Assignments
  29. *
  30. * Change this to how you wired your keyboard
  31. * COLS: AVR pins used for columns, left to right
  32. * ROWS: AVR pins used for rows, top to bottom
  33. * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
  34. * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
  35. *
  36. */
  37. #define MATRIX_ROW_PINS {C7, C6 }
  38. #define MATRIX_COL_PINS {F7, F6, F5}
  39. #define UNUSED_PINS
  40. /* COL2ROW, ROW2COL*/
  41. #define DIODE_DIRECTION ROW2COL
  42. /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
  43. #define DEBOUNCE 3
  44. /* disable these deprecated features by default */
  45. //#define NO_ACTION_MACRO
  46. //#define NO_ACTION_FUNCTION
  47. #ifdef RGB_MATRIX_ENABLE
  48. # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
  49. # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
  50. # define RGB_MATRIX_KEYPRESSES
  51. # define RGB_MATRIX_FRAMEBUFFER_EFFECTS
  52. #define ENABLE_RGB_MATRIX_ALPHAS_MODS
  53. // #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
  54. #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
  55. #define ENABLE_RGB_MATRIX_BREATHING
  56. // #define ENABLE_RGB_MATRIX_BAND_SAT
  57. #define ENABLE_RGB_MATRIX_BAND_VAL
  58. // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
  59. #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
  60. // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
  61. #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
  62. #define ENABLE_RGB_MATRIX_CYCLE_ALL
  63. #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
  64. #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
  65. #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
  66. #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
  67. #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
  68. #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
  69. #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
  70. #define ENABLE_RGB_MATRIX_DUAL_BEACON
  71. #define ENABLE_RGB_MATRIX_RAINBOW_BEACON
  72. #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
  73. #define ENABLE_RGB_MATRIX_RAINDROPS
  74. #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
  75. #define ENABLE_RGB_MATRIX_HUE_BREATHING
  76. #define ENABLE_RGB_MATRIX_HUE_PENDULUM
  77. #define ENABLE_RGB_MATRIX_HUE_WAVE
  78. // #define ENABLE_RGB_MATRIX_FRACTAL
  79. #define ENABLE_RGB_MATRIX_PIXEL_RAIN
  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. // This is a 7-bit address, that gets left-shifted and bit 0
  95. // set to 0 for write, 1 for read (as per I2C protocol)
  96. // The address will vary depending on your wiring:
  97. // 0b1110100 AD <-> GND
  98. // 0b1110111 AD <-> VCC
  99. // 0b1110101 AD <-> SCL
  100. // 0b1110110 AD <-> SDA
  101. #define DRIVER_ADDR_1 0b1110100
  102. #define DRIVER_COUNT 1
  103. #define DRIVER_LED_TOTAL 6
  104. #endif
  105. //#define RGB_DI_PIN B7
  106. //#ifdef RGB_DI_PIN
  107. //#define RGBLIGHT_ANIMATIONS
  108. //#define RGBLED_NUM 8
  109. //#define RGBLIGHT_HUE_STEP 5
  110. //#define RGBLIGHT_SAT_STEP 5
  111. //#define RGBLIGHT_VAL_STEP 5
  112. //#define RGBLIGHT_SLEEP
  113. //#endif