Advertisement
Guest User

config.h

a guest
Jun 24th, 2022
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.96 KB | None | 0 0
  1. /* Copyright 2021 @ Keychron(https://www.keychron.com)
  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.  
  17. #pragma once
  18.  
  19. /* USB Device descriptor parameter */
  20. #define VENDOR_ID       0x3434
  21. #define MANUFACTURER    Keychron
  22. #define PRODUCT         Keychron Q3
  23.  
  24. /* key matrix size */
  25. #define MATRIX_ROWS 6
  26. #define MATRIX_COLS 16
  27.  
  28. /* COL2ROW or ROW2COL */
  29. #define DIODE_DIRECTION ROW2COL
  30.  
  31. /* Set 0 if debouncing isn't needed */
  32. #define DEBOUNCE 5
  33.  
  34. /* RGB Matrix Driver Configuration */
  35. #define DRIVER_COUNT 2
  36. #define DRIVER_ADDR_1 0b1110111
  37. #define DRIVER_ADDR_2 0b1110100
  38.  
  39. /* Scan phase of led driver set as MSKPHASE_9CHANNEL(defined as 0x03 in CKLED2001.h) */
  40. #define PHASE_CHANNEL MSKPHASE_9CHANNEL
  41.  
  42. /* DIP switch */
  43. #define DIP_SWITCH_MATRIX_GRID  { {5, 4} }
  44.  
  45. /* Disable DIP switch in matrix data */
  46. #define MATRIX_MASKED
  47.  
  48. /* NKRO */
  49. #define FORCE_NKRO
  50.  
  51. /* turn off effects when suspended */
  52. #define RGB_DISABLE_WHEN_USB_SUSPENDED
  53.  
  54. /* We have 2KB EEPROM size on STM32L432 */
  55. // #define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 2047
  56.  
  57. /* Total size of the EEPROM storage in bytes */
  58. #define TRANSIENT_EEPROM_SIZE 4096
  59.  
  60. #define RGBLIGHT_DEFAULT_HUE 21
  61.  
  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. // #define RGB_MATRIX_KEYPRESSES
  111.  
  112.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement