lfkpad.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #pragma once
  2. #include "quantum.h"
  3. typedef struct RGB_Color {
  4. uint16_t red;
  5. uint16_t green;
  6. uint16_t blue;
  7. } RGB_Color;
  8. typedef struct Layer_Info {
  9. uint32_t layer;
  10. uint32_t mask;
  11. RGB_Color color;
  12. } Layer_Info;
  13. extern const uint32_t layer_count;
  14. extern const Layer_Info layer_info[];
  15. enum action_functions {
  16. LFK_CLEAR = 0, // Resets all layers
  17. LFK_ESC_TILDE, // esc+lshift = ~
  18. LFK_SET_DEFAULT_LAYER, // changes and saves current base layer to eeprom
  19. LFK_CLICK_TOGGLE, // Adjusts click duration
  20. LFK_CLICK_FREQ_HIGHER, // Adjusts click frequency
  21. LFK_CLICK_FREQ_LOWER, // Adjusts click frequency
  22. LFK_CLICK_TIME_LONGER, // Adjusts click duration
  23. LFK_CLICK_TIME_SHORTER, // Adjusts click duration
  24. LFK_DEBUG_SETTINGS, // prints LED and click settings to HID
  25. LFK_LED_TEST // cycles through switch and RGB LEDs
  26. };
  27. #define CLICK_HZ 500
  28. #define CLICK_MS 2
  29. #define CLICK_ENABLED 0
  30. void reset_keyboard_kb(void);
  31. void click(uint16_t freq, uint16_t duration);
  32. // readability
  33. #define ___ KC_NO
  34. #define LAYOUT_numpad_6x4( \
  35. k00, k01, k02, k03, \
  36. k10, k11, k12, k13, \
  37. k20, k21, k22, \
  38. k30, k31, k32, k23, \
  39. k40, k41, k42, \
  40. k50, k52, k43 \
  41. ) { \
  42. { k00, k01, k02, k03 }, \
  43. { k10, k11, k12, k13 }, \
  44. { k20, k21, k22, k23 }, \
  45. { k30, k31, k32, ___ }, \
  46. { k40, k41, k42, k43 }, \
  47. { k50, ___, k52, ___ } \
  48. }