spidey3.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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. _NUMPAD,
  9. _FN,
  10. };
  11. enum custom_keycodes {
  12. SPI_GLO = SAFE_RANGE,
  13. SPI_LNX, // Mode: Linux
  14. SPI_OSX, // Mode: Mac
  15. SPI_WIN, // Mode: Windows
  16. CH_CPNL, // AL Control Panel
  17. CH_ASST, // AL Context-aware Desktop Assistant
  18. CH_SUSP, // Suspend
  19. SPI_NORMAL,
  20. SPI_WIDE,
  21. SPI_SCRIPT,
  22. SPI_BLOCKS,
  23. SPI_CIRCLE,
  24. SPI_SQUARE,
  25. SPI_PARENS,
  26. SPI_FRAKTR,
  27. SPI_GFLOCK,
  28. SPI_KP_00,
  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. ACK_HUH,
  41. } layer_ack_t;
  42. # define RGB_LAYER_ACK_DURATION 500
  43. void eeconfig_init_user_rgb(void);
  44. void matrix_init_user_rgb(void);
  45. void matrix_scan_user_rgb(void);
  46. void keyboard_post_init_user_rgb(void);
  47. bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record);
  48. void post_process_record_user_rgb(uint16_t keycode, keyrecord_t *record);
  49. layer_state_t layer_state_set_user_rgb(layer_state_t state);
  50. layer_state_t default_layer_state_set_user_rgb(layer_state_t state);
  51. bool led_update_user_rgb(led_t led_state);
  52. void rgb_layer_ack(layer_ack_t n);
  53. void rgb_layer_ack_yn(bool yn);
  54. void clear_rgb_layers(void);
  55. void shutdown_user_rgb(void);
  56. #endif
  57. #ifdef UNICODEMAP_ENABLE
  58. void eeconfig_init_user_unicode(void);
  59. #endif
  60. #ifdef SPI_DEBUG_SCAN_RATE
  61. # ifndef SPI_SCAN_RATE_INTERVAL
  62. # define SPI_SCAN_RATE_INTERVAL 10
  63. # endif
  64. #endif