arkag.h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. #pragma once
  2. #include "quantum.h"
  3. #include "process_keycode/process_tap_dance.h"
  4. #define EECONFIG_USERSPACE (uint8_t *)20
  5. #define LRALT TD(TD_LALT_RALT)
  6. #define QUOTE TD(TD_SING_DOUB)
  7. #define GRAVE TD(TD_GRV_3GRV)
  8. #define OBRACK TD(TD_BRCK_PARN_O)
  9. #define CBRACK TD(TD_BRCK_PARN_C)
  10. #define THREE TD(TD_3_GRV_ACT)
  11. #define STRIKE TD(TD_STRK_SHOT)
  12. #define HYPHEN TD(TD_HYPH_UNDR)
  13. #define CEDILLA TD(TD_C_CED)
  14. #define RAISE MO(1)
  15. #define LOWER MO(2)
  16. #define KEEB MO(3)
  17. #define MEDIA MO(4)
  18. #define LAZY MO(5)
  19. #define MOD_CTL_MASK (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL))
  20. #define MOD_GUI_MASK (MOD_BIT(KC_LGUI) | MOD_BIT(KC_RGUI))
  21. #define MOD_SFT_MASK (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT))
  22. #define TAP_A LALT_T(KC_A)
  23. #define TAP_SCN RALT_T(KC_SCOLON)
  24. #define TAP_S LCTL_T(KC_S)
  25. #define TAP_L RCTL_T(KC_L)
  26. #define TAP_D LSFT_T(KC_D)
  27. #define TAP_K RSFT_T(KC_K)
  28. #define TAP_F LGUI_T(KC_F)
  29. #define TAP_J RGUI_T(KC_J)
  30. #define TAP_EQ LSFT_T(KC_EQUAL)
  31. #define TAP_5 RSFT_T(KC_5)
  32. #define LED_FLASH_DELAY 150
  33. #define LED_FADE_DELAY 10
  34. #define INACTIVE_DELAY 200
  35. #define SLEEP_DELAY 60000
  36. enum {
  37. _QWERTY = 0,
  38. _RAISE,
  39. _LOWER,
  40. _KEEB,
  41. _MEDIA,
  42. _LAZY,
  43. };
  44. typedef enum {
  45. OS_MAC, // Don't assign values
  46. OS_WIN,
  47. OS_NIX,
  48. _OS_COUNT,
  49. } OS;
  50. typedef struct {
  51. uint16_t h;
  52. uint8_t s;
  53. uint8_t v;
  54. } Color;
  55. typedef enum {
  56. no_flash = 0,
  57. flash_off,
  58. flash_on,
  59. } flashState;
  60. typedef enum {
  61. add_fade = 0,
  62. sub_fade,
  63. } fadeState;
  64. typedef enum {
  65. active = 0,
  66. inactive,
  67. sleeping,
  68. boot,
  69. } activityState;
  70. enum custom_keycodes {
  71. M_PMOD = SAFE_RANGE,
  72. M_SMOD,
  73. M_P_B,
  74. M_C_A_D,
  75. M_CALC,
  76. M_OS,
  77. M_TF,
  78. M_TM,
  79. M_GGT,
  80. M_LOD,
  81. M_LENNY,
  82. M_BOLD,
  83. M_ITAL,
  84. M_ULIN,
  85. M_SNIPT,
  86. M_REPO,
  87. M_SHRUG,
  88. M_UF,
  89. };
  90. enum tapdances {
  91. TD_3_GRV_ACT = 0,
  92. TD_C_CED,
  93. TD_GRV_3GRV,
  94. TD_SLSH_HTTP,
  95. TD_SING_DOUB,
  96. TD_HYPH_UNDR,
  97. TD_STRK_SHOT,
  98. TD_SPECIAL,
  99. TD_BRCK_PARN_O,
  100. TD_BRCK_PARN_C,
  101. TD_LALT_RALT,
  102. SPC_SFT_NSFT,
  103. };
  104. void send_unicode_hex_string(const char *str);
  105. void set_color (Color new, bool update);
  106. void save_color(Color to_save);
  107. void reset_color(void);
  108. Color mod_color(Color current_color, bool should_add, uint8_t change_amount);
  109. void reverse_fade (void);
  110. void check_state (void);
  111. void fade_rgb (void);
  112. void flash_rgb (void);
  113. void set_os (uint8_t os, bool update);
  114. void tap_key(uint8_t keycode);
  115. void pri_mod(bool press);
  116. void sec_mod(bool press);
  117. void surround_type(uint8_t num_of_chars, uint16_t keycode, bool use_shift);
  118. void long_keystroke(size_t num_of_keys, uint16_t keys[]);
  119. void dance_grv (qk_tap_dance_state_t *state, void *user_data);
  120. void dance_quot (qk_tap_dance_state_t *state, void *user_data);
  121. void dance_strk (qk_tap_dance_state_t *state, void *user_data);
  122. void dance_3 (qk_tap_dance_state_t *state, void *user_data);
  123. void dance_c (qk_tap_dance_state_t *state, void *user_data);
  124. int cur_dance (qk_tap_dance_state_t *state);
  125. void spc_finished (qk_tap_dance_state_t *state, void *user_data);
  126. void spc_reset (qk_tap_dance_state_t *state, void *user_data);