spidey3.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #pragma once
  2. #include QMK_KEYBOARD_H
  3. #ifdef UNICODEMAP_ENABLE
  4. # include "unicode.h"
  5. #endif
  6. enum userspace_layers {
  7. _BASE = 0,
  8. _OSX,
  9. _NUMPAD,
  10. _FN,
  11. };
  12. enum custom_keycodes {
  13. SPI_GLO = SAFE_RANGE,
  14. SPI_LNX, // Mode: Linux
  15. SPI_OSX, // Mode: Mac
  16. SPI_WIN, // Mode: Windows
  17. CH_CPNL, // AL Control Panel
  18. CH_ASST, // AL Context-aware Desktop Assistant
  19. CH_SUSP, // Suspend
  20. SPI_NORMAL,
  21. SPI_WIDE,
  22. SPI_SCRIPT,
  23. SPI_BLOCKS,
  24. SPI_CIRCLE,
  25. SPI_SQUARE,
  26. SPI_PARENS,
  27. SPI_FRAKTR,
  28. SPI_GFLOCK,
  29. };
  30. #ifdef RGBLIGHT_ENABLE
  31. enum layer_base {
  32. LAYER_BASE_DEFAULT = _BASE,
  33. LAYER_BASE_REGULAR = _NUMPAD,
  34. LAYER_BASE_END = _FN + 1,
  35. };
  36. typedef enum layer_ack {
  37. ACK_NO = 0,
  38. ACK_YES,
  39. ACK_MEH,
  40. } layer_ack_t;
  41. # define RGB_LAYER_ACK_DURATION 500
  42. void eeconfig_init_user_rgb(void);
  43. void matrix_init_user_rgb(void);
  44. void keyboard_post_init_user_rgb(void);
  45. bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record);
  46. void post_process_record_user_rgb(uint16_t keycode, keyrecord_t *record);
  47. layer_state_t layer_state_set_user_rgb(layer_state_t state);
  48. layer_state_t default_layer_state_set_user_rgb(layer_state_t state);
  49. bool led_update_user_rgb(led_t led_state);
  50. void rgb_layer_ack(layer_ack_t n);
  51. void rgb_layer_ack_yn(bool yn);
  52. void clear_rgb_layers(void);
  53. #endif
  54. #ifdef UNICODEMAP_ENABLE
  55. void eeconfig_init_user_unicode(void);
  56. #endif
  57. #ifdef SPI_DEBUG_SCAN_RATE
  58. # ifndef SPI_SCAN_RATE_INTERVAL
  59. # define SPI_SCAN_RATE_INTERVAL 10
  60. # endif
  61. #endif