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.

146 lines
11 KiB

  1. /* Copyright 2021 Jonavin Eng @Jonavin
  2. Copyright 2022 gourdo1 <gourdo1@outlook.com>
  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. // Force n-key rollover
  16. #define FORCE_NKRO
  17. // Set TT to two taps
  18. #define TAPPING_TOGGLE 2
  19. #ifdef COMMAND_ENABLE
  20. #define IS_COMMAND() (get_mods() == MOD_MASK_CTRL) //debug commands accessed by holding down both CTRLs: https://github.com/qmk/qmk_firmware/blob/master/docs/feature_command.md
  21. #endif
  22. // Caps Word configuration
  23. #define BOTH_SHIFTS_TURNS_ON_CAPS_WORD
  24. #define CAPS_WORD_IDLE_TIMEOUT 10000 // Automatically turn off after x milliseconds of idle. 0 to never timeout.
  25. // Handle GRAVESC combo keys
  26. #define GRAVE_ESC_ALT_OVERRIDE
  27. // Always send Escape if Alt is pressed
  28. #define GRAVE_ESC_CTRL_OVERRIDE
  29. // Always send Escape if Control is pressed
  30. // #define TAPPING_TERM 180
  31. #define TAPPING_TERM 300
  32. #define TAPPING_TERM_PER_KEY
  33. #ifdef RGB_MATRIX_ENABLE
  34. #define RGB_DISABLE_WHEN_USB_SUSPENDED
  35. #define RGB_MATRIX_KEYPRESSES // Enables REACTIVE & SPLASH modes
  36. #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // Enables Heatmap, Rain
  37. // RGB step values
  38. #define RGBLIGHT_HUE_STEP 32 // The number of steps to cycle through the hue by (default 10)
  39. #define RGBLIGHT_SAT_STEP 17 // The number of steps to increment the saturation by (default 17)
  40. #define RGBLIGHT_VAL_STEP 17 // The number of steps to increment the brightness by (default 17)
  41. // Startup values, when none have been set
  42. #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_REACTIVE // Sets the default effect mode, if none has been set (was RGB_MATRIX_SOLID_COLOR)
  43. #define RGB_MATRIX_STARTUP_HUE 24 // Sets the default hue value, if none has been set
  44. #define RGB_MATRIX_STARTUP_SAT 255 // Sets the default saturation value, if none has been set
  45. #define RGB_MATRIX_STARTUP_VAL 127 // Sets the default brightness value, if none has been set
  46. #define RGB_MATRIX_STARTUP_SPD 127 // Sets the default animation speed, if none has been set
  47. // Uncomment any #undef line below to turn OFF any default enabled RGB background effect (enabled in keyboards/gmmk/pro/config.h).
  48. #undef ENABLE_RGB_MATRIX_ALPHAS_MODS // Solid color (seems redundant; seems same as RGB_MATRIX_SOLID_COLOR?)
  49. //#undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static, horizontal rainbow
  50. //#undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static, vertical Rainbow
  51. //#undef ENABLE_RGB_MATRIX_BREATHING // Breathing animation using selected HSV color
  52. #undef ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right (with white)
  53. //#undef ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right (with black)
  54. #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades sat (with white)
  55. //#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness (with black)
  56. #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades brightness (with white)
  57. //#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness (with black)
  58. //#undef ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard cycling through rainbow
  59. //#undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient moving left to right
  60. //#undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
  61. #undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradient chevron scrolling left to right (too similar to cycle left right)
  62. //#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Rainbow circles coming to center.
  63. #undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Two Rainbow circles coming to 1/3 and 2/3 points. (seems mostly redundant with above)
  64. #undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Built-in cycling pinwheel (seems redundant with below)
  65. //#undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
  66. #undef ENABLE_RGB_MATRIX_RAINBOW_BEACON // Spinning rainbow (more distracting transitions)
  67. //#undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Spinning rainbow (smoother)
  68. #undef ENABLE_RGB_MATRIX_DUAL_BEACON // Two rainbows spinning around keyboard (distracting, busy)
  69. #undef ENABLE_RGB_MATRIX_RAINDROPS // Sustained raindrops of blue, green, yellow (confusing to use with RGB layers)
  70. //#undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Sustained raindrops of blue, purple, pink, green (confusing to use with RGB layers, but slightly better than above)
  71. #undef ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight amount at the same time, then shifts back (very subtle)
  72. #undef ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight amount in a wave to the right, then back to the left (very subtle)
  73. #undef ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight amount and then back down in a wave to the right (very subtle)
  74. //#undef ENABLE_RGB_MATRIX_PIXEL_RAIN // Non-sustained raindrops of pastel colors
  75. #undef ENABLE_RGB_MATRIX_PIXEL_FLOW // More active version of pixel rain with quick cycling (unusable, very distracting)
  76. #undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL // Same as Pixel Flow but with current HSV only (somewhat distracting)
  77. //Only enabled if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
  78. //#undef ENABLE_RGB_MATRIX_TYPING_HEATMAP // Fading heatmap that follows keystrokes (has buggy side LEDs that glow red)
  79. //#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN // The Matrix (has buggy side LEDs that glow red)
  80. //Only enabled if RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
  81. //#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Key hits shown in current hue - all other keys black
  82. //#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE // Keyboard lights up in chosen hue, key hits shown in complementary hue (try this as default?)
  83. #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse around a single key hit then fades value out (Single key)
  84. //#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // same as above but more intense (Multi-key)
  85. #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Column and Row single current color fade (Single key)
  86. //#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Column and Row single color fade. (Multi-key)
  87. #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of key hit then fades (Single key)
  88. //#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multi-key hit then fades
  89. //#undef ENABLE_RGB_MATRIX_SPLASH // Full rainbow pulses from key hit. All else black.
  90. #undef ENABLE_RGB_MATRIX_MULTISPLASH // Full rainbow pulses from multi-keys. All else black. (distracting on multiple keystroke hits)
  91. #undef ENABLE_RGB_MATRIX_SOLID_SPLASH // Single color pulses from key hit. All else black. (distracting on multiple key hits)
  92. //#undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Single color pulses from muli-keys. All else black.
  93. #endif //RGB_MATRIX_ENABLE
  94. // Add a layer for colemak -- set "COLEMAK_LAYER_ENABLE = yes" in rules.mk to enable
  95. #if defined COLEMAK_LAYER_ENABLE
  96. #ifdef GAME_ENABLE
  97. #define DYNAMIC_KEYMAP_LAYER_COUNT 6
  98. #define _COLEMAK 5
  99. #else
  100. #define DYNAMIC_KEYMAP_LAYER_COUNT 5
  101. #define _COLEMAK 4
  102. #endif //GAME_ENABLE
  103. #endif // COLEMAK_LAYER_ENABLE
  104. /*
  105. // Mouse Keys Accelerated Mode Definitions
  106. #define MOUSEKEY_DELAY 3 // Delay between pressing a movement key and cursor movement (default: 10)
  107. #define MOUSEKEY_INTERVAL 13 // Time between cursor movements in milliseconds (default: 20); Try setting to 1000/monitor refresh for smooth movement.
  108. #define MOUSEKEY_MOVE_DELTA 8 // Step size (default: 8)
  109. #define MOUSEKEY_MAX_SPEED 9 // Maximum cursor speed at which acceleration stops (default: 10)
  110. #define MOUSEKEY_TIME_TO_MAX 150 // Time until maximum cursor speed is reached (default: 30)
  111. #define MOUSEKEY_WHEEL_DELAY 0 // Delay between pressing a wheel key and wheel movement (default: 10)
  112. #define MOUSEKEY_WHEEL_INTERVAL 80 // Time between wheel movements (default: 80)
  113. #define MOUSEKEY_WHEEL_MAX_SPEED 8 // Maximum number of scroll steps per scroll action (default: 8)
  114. #define MOUSEKEY_WHEEL_TIME_TO_MAX 40 // Time until maximum scroll speed is reached (default: 40)
  115. */
  116. // Mouse Keys Kinetic Mode Definitions
  117. #define MK_KINETIC_SPEED // Enable Kinetic mode: Uses a quadratic curve on cursor speed to allow precise movements at the beginning and increases speed thereafter.
  118. #define MOUSEKEY_DELAY 3 // Delay between pressing a movement key and cursor movement (default: 10)
  119. #define MOUSEKEY_INTERVAL 13 // Time between cursor movements in milliseconds (default: 20); Try setting to 1000/monitor refresh for smooth movement.
  120. #define MOUSEKEY_MOVE_DELTA 5 // Step size for accelerating from initial to base speed (default: 8)
  121. #define MOUSEKEY_MOVE_MAX 50 // use instead of BASE SPEED to limit speed in Kinetic mode
  122. #define MOUSEKEY_INITIAL_SPEED 100 // Initial speed of the cursor in pixels per second (default: 100)
  123. //#define MOUSEKEY_BASE_SPEED 800 // (broken in QMK 0.16.0) Maximum cursor speed at which acceleration stops (default: 1000)
  124. #define MOUSEKEY_DECELERATED_SPEED 400 // Decelerated cursor speed (default: 400)
  125. #define MOUSEKEY_ACCELERATED_SPEED 2000 // Accelerated cursor speed (default: 3000)
  126. #define MOUSEKEY_WHEEL_INITIAL_MOVEMENTS 16 // Initial number of movements of the mouse wheel (default: 16)
  127. #define MOUSEKEY_WHEEL_BASE_MOVEMENTS 32 // Maximum number of movements at which acceleration stops (default: 32)
  128. #define MOUSEKEY_WHEEL_ACCELERATED_MOVEMENTS 48 // Accelerated wheel movements (default: 48)
  129. #define MOUSEKEY_WHEEL_DECELERATED_MOVEMENTS 8 // Decelerated wheel movements (default: 8)