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.

389 lines
9.0 KiB

[Keymap] Adding my keymaps for ergodox_ez and kyria (#9365) * Trying to fix problems in my kyria steez * repeating last commit..... * repeating last commit on EDIT layer but swapping direction exit * moving the reversed desktop moves to the symbol layers on the same hand, for easier activation * adding mac desktop movement keys to Kyria layout * Adding readmes to my keymaps * Removing a png... * Update keyboards/ergodox_ez/keymaps/rmw/keymap-mac.c removing EPRM case * Apply suggestions from code review Great updates to various old-school or outdated ways I was doing things, removing some commented out code, etc. * Apply suggestions from code review Additional improvements * Moving tapdances.cpp to userspace as tapdances.c * reindenting the Kyria keymap to follow four-spaces convention, turning off oled on my kyria, improving the led handling on the Ergodox. * updating led stuff on the other two versions of the keymap, removing EPRM key from main keymap * Apply suggestions from code review I'm adding these various removals to the config file because it seems that at this time those settings are in harmony with the ergodox_ez defaults. * Moving encoder functions into their own userspace file * Apply suggestions from code review Removing settings that are now defaults, clearing out placeholder custom keycodes (smh) * updating encoder functions. * Moving to LAYOUT_stack for all layers, adding end of file newlines, switching to some shorter keycode aliases * Okay, refactor is well underway. * refactored! Also improved led handling for ergodox and rgb handling for kyria * removing mac/windows swappable version because I don't feel like dealing with it when reflashing is so easy. * moving LAYOUT_stack into kyria.h * moving the alternate default layer down next to QWERTY
3 years ago
  1. // Useful tapdance functions!
  2. #include "tapdances.h"
  3. qk_tap_dance_action_t tap_dance_actions[] = {
  4. [SHCAP] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, caps, shift_reset)
  5. ,[TDGUI] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, shiftgui, gui_reset)
  6. ,[TDGUI2] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, guictl, ubermod_reset)
  7. ,[SHENT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, shiftenter, shift_reset)
  8. ,[SHNTC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, shiftentercaps, shift_reset)
  9. ,[GCA] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ubermod_mac, ubermod_reset) // GUI->CTL->ALT
  10. ,[AGC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ubermod2_mac, ubermod_reset) // ALT->GUI->CTL
  11. ,[SGCA] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, shift_and_mac, CASG_reset) // SG->SC->SA
  12. ,[GUCTL] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, guictl, ubermod_reset)
  13. ,[CAG] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ubermod, ubermod_reset) // CTL->ALT->GUI
  14. ,[ACG] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ubermod2, ubermod_reset) // ALT->GUI->CTL
  15. ,[SCAG] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, shift_and, CASG_reset) // SG->SC->SA
  16. ,[DLTR] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, deleter, ubermod_reset) // backspace, backspace, alt backspace, gui backspace
  17. ,[FRBK2] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, forward_back_mac, ubermod_reset)
  18. ,[CTLALL] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ctrl_all_mac, ubermod_reset) // C->CG->CA->CAG
  19. ,[CTLAND] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ctrl_all, ubermod_reset) // C->CA->CG->CAG
  20. ,[FRBK] = ACTION_TAP_DANCE_DOUBLE(KC_WWW_BACK,KC_WWW_FORWARD)
  21. };
  22. void caps(qk_tap_dance_state_t *state, void *user_data) // Shift, Caps
  23. { if (state->count >= 2) {register_code(KC_CAPS); unregister_code(KC_CAPS);}
  24. else if (state->pressed) {register_mods(MOD_LSFT);} else {set_oneshot_mods(MOD_LSFT);}
  25. reset_tap_dance(state);
  26. }
  27. void forward_back_mac(qk_tap_dance_state_t *state, void *user_data) // G<-, then G->
  28. {
  29. if (state->count > 1) {
  30. tap_code16(G(KC_RGHT));
  31. }
  32. else {
  33. tap_code16(G(KC_LEFT));
  34. }
  35. reset_tap_dance(state);
  36. }
  37. void shiftgui(qk_tap_dance_state_t *state, void *user_data) // G->SG
  38. {
  39. if (state->count > 1) {
  40. if (state->pressed) {
  41. register_mods(MOD_LSFT | MOD_LGUI);
  42. }
  43. else {
  44. set_oneshot_mods(MOD_LSFT | MOD_LGUI);
  45. }
  46. }
  47. else if (state->pressed) {
  48. register_mods(MOD_LGUI);
  49. }
  50. else {
  51. set_oneshot_mods(MOD_LGUI);
  52. }
  53. reset_tap_dance(state);
  54. }
  55. void guictl(qk_tap_dance_state_t *state, void *user_data) // G->GC
  56. {
  57. if (state->count > 1) {
  58. if (state->pressed) {
  59. register_mods(MOD_LCTL | MOD_LGUI);
  60. }
  61. else {
  62. set_oneshot_mods(MOD_LCTL | MOD_LGUI);
  63. }
  64. }
  65. else if (state->pressed) {
  66. register_mods(MOD_LGUI);
  67. }
  68. else {
  69. set_oneshot_mods(MOD_LGUI);
  70. }
  71. reset_tap_dance(state);
  72. }
  73. void deleter(qk_tap_dance_state_t *state, void *user_data) // bkspc -> delwrd -> delline
  74. {
  75. if (state->count > 3) {
  76. tap_code16(G(KC_BSPC));
  77. }
  78. else if (state->count > 2) {
  79. tap_code16(A(KC_BSPC));
  80. }
  81. else {
  82. tap_code(KC_BSPC);
  83. }
  84. reset_tap_dance(state);
  85. }
  86. void ubermod(qk_tap_dance_state_t *state, void *user_data) // CTL->ALT->GUI
  87. {
  88. if (state->count > 2) {
  89. if (state->pressed) {
  90. register_mods(MOD_LGUI);
  91. }
  92. else {
  93. set_oneshot_mods(MOD_LGUI);
  94. }
  95. }
  96. else if (state->count > 1) {
  97. if (state->pressed) {
  98. register_mods(MOD_LALT);
  99. }
  100. else {
  101. set_oneshot_mods(MOD_LALT);
  102. }
  103. }
  104. else if (state->pressed) {
  105. register_mods(MOD_LCTL);
  106. }
  107. else {
  108. set_oneshot_mods(MOD_LCTL);
  109. }
  110. reset_tap_dance(state);
  111. }
  112. void ubermod_mac(qk_tap_dance_state_t *state, void *user_data) // GUI->CTL->ALT
  113. {
  114. if (state->count > 2) {
  115. if (state->pressed) {
  116. register_mods(MOD_LALT);
  117. }
  118. else {
  119. set_oneshot_mods(MOD_LALT);
  120. }
  121. }
  122. else if (state->count > 1) {
  123. if (state->pressed) {
  124. register_mods(MOD_LCTL);
  125. }
  126. else {
  127. set_oneshot_mods(MOD_LCTL);
  128. }
  129. }
  130. else if (state->pressed) {
  131. register_mods(MOD_LGUI);
  132. }
  133. else {
  134. set_oneshot_mods(MOD_LGUI);
  135. }
  136. reset_tap_dance(state);
  137. }
  138. void ubermod2(qk_tap_dance_state_t *state, void *user_data) // ALT->CTL->GUI
  139. {
  140. if (state->count > 2) {
  141. if (state->pressed) {
  142. register_mods(MOD_LGUI);
  143. }
  144. else {
  145. set_oneshot_mods(MOD_LGUI);
  146. }
  147. }
  148. else if (state->count > 1) {
  149. if (state->pressed) {
  150. register_mods(MOD_LCTL);
  151. }
  152. else {
  153. set_oneshot_mods(MOD_LCTL);
  154. }
  155. }
  156. else if (state->pressed) {
  157. register_mods(MOD_LALT);
  158. }
  159. else {
  160. set_oneshot_mods(MOD_LALT);
  161. }
  162. reset_tap_dance(state);
  163. }
  164. void ubermod2_mac(qk_tap_dance_state_t *state, void *user_data) // ALT->GUI->CTL
  165. {
  166. if (state->count > 2) {
  167. if (state->pressed) {
  168. register_mods(MOD_LCTL);
  169. }
  170. else {
  171. set_oneshot_mods(MOD_LCTL);
  172. }
  173. }
  174. else if (state->count > 1) {
  175. if (state->pressed) {
  176. register_mods(MOD_LGUI);
  177. }
  178. else {
  179. set_oneshot_mods(MOD_LGUI);
  180. }
  181. }
  182. else if (state->pressed) {
  183. register_mods(MOD_LALT);
  184. }
  185. else {
  186. set_oneshot_mods(MOD_LALT);
  187. }
  188. reset_tap_dance(state);
  189. }
  190. void shift_reset(qk_tap_dance_state_t *state, void *user_data)
  191. {
  192. unregister_mods(MOD_LSFT);
  193. // clear_oneshot_mods();
  194. }
  195. void gui_reset(qk_tap_dance_state_t *state, void *user_data)
  196. {
  197. unregister_mods(MOD_LSFT | MOD_LGUI);
  198. }
  199. void CAS_reset(qk_tap_dance_state_t *state, void *user_data)
  200. {
  201. unregister_mods(MOD_LCTL | MOD_LSFT | MOD_LALT);
  202. }
  203. void CASG_reset(qk_tap_dance_state_t *state, void *user_data)
  204. {
  205. unregister_mods(MOD_LCTL | MOD_LSFT | MOD_LALT | MOD_LGUI);
  206. // clear_oneshot_mods();
  207. }
  208. void ubermod_reset(qk_tap_dance_state_t *state, void *user_data) // AKA CAG_reset
  209. {
  210. unregister_mods(MOD_LCTL | MOD_LALT | MOD_LGUI);
  211. }
  212. void shiftenter(qk_tap_dance_state_t *state, void *user_data)
  213. {
  214. if (state->count > 1) {
  215. tap_code(KC_ENT);
  216. }
  217. else if (state->pressed) {
  218. register_mods(MOD_LSFT);
  219. }
  220. else {
  221. set_oneshot_mods(MOD_LSFT);
  222. }
  223. reset_tap_dance(state);
  224. }
  225. void shiftentercaps(qk_tap_dance_state_t *state, void *user_data)
  226. {
  227. if (state->count > 2) {
  228. tap_code(KC_CAPS);
  229. }
  230. else if (state->count > 1) {
  231. tap_code(KC_ENT);
  232. }
  233. else if (state->pressed) {
  234. register_mods(MOD_LSFT);
  235. }
  236. else {
  237. set_oneshot_mods(MOD_LSFT);
  238. }
  239. reset_tap_dance(state);
  240. }
  241. void ctrl_all_mac(qk_tap_dance_state_t *state, void *user_data) // C->CG->CAG
  242. {
  243. if (state->count > 2) {
  244. if (state->pressed) {
  245. register_mods(MOD_LCTL | MOD_LALT | MOD_LGUI);
  246. }
  247. else {
  248. set_oneshot_mods(MOD_LCTL | MOD_LGUI | MOD_LALT);
  249. }
  250. }
  251. else if (state->count > 1) {
  252. if (state->pressed) {
  253. register_mods(MOD_LCTL | MOD_LGUI);
  254. }
  255. else {
  256. set_oneshot_mods(MOD_LCTL | MOD_LGUI);
  257. }
  258. }
  259. else if (state->pressed) {
  260. register_mods(MOD_LCTL);
  261. }
  262. else {
  263. set_oneshot_mods(MOD_LCTL);
  264. }
  265. reset_tap_dance(state);
  266. }
  267. void ctrl_all(qk_tap_dance_state_t *state, void *user_data) // C->CA->SC
  268. {
  269. if (state->count > 2) {
  270. if (state->pressed) {
  271. register_mods(MOD_LCTL | MOD_LSFT);
  272. }
  273. else {
  274. set_oneshot_mods(MOD_LCTL | MOD_LSFT);
  275. }
  276. }
  277. else if (state->count > 1) {
  278. if (state->pressed) {
  279. register_mods(MOD_LCTL | MOD_LALT);
  280. }
  281. else {
  282. set_oneshot_mods(MOD_LCTL | MOD_LALT);
  283. }
  284. }
  285. else if (state->pressed) {
  286. register_mods(MOD_LCTL);
  287. }
  288. else {
  289. set_oneshot_mods(MOD_LCTL);
  290. }
  291. reset_tap_dance(state);
  292. }
  293. void alt_all(qk_tap_dance_state_t *state, void *user_data) // A->SA->AC
  294. {
  295. if (state->count > 2) {
  296. if (state->pressed) {
  297. register_mods(MOD_LCTL | MOD_LALT);
  298. }
  299. else {
  300. set_oneshot_mods(MOD_LALT | MOD_LCTL);
  301. }
  302. }
  303. else if (state->count > 1) {
  304. if (state->pressed) {
  305. register_mods(MOD_LSFT | MOD_LALT);
  306. }
  307. else {
  308. set_oneshot_mods(MOD_LALT | MOD_LSFT);
  309. }
  310. }
  311. else if (state->pressed) {
  312. register_mods(MOD_LALT);
  313. }
  314. else {
  315. set_oneshot_mods(MOD_LALT);
  316. }
  317. reset_tap_dance(state);
  318. }
  319. void shift_and(qk_tap_dance_state_t *state, void *user_data) // SC->SA->SG
  320. {
  321. if (state->count > 2) {
  322. if (state->pressed) {
  323. register_mods(MOD_LSFT | MOD_LGUI);
  324. }
  325. else {
  326. set_oneshot_mods(MOD_LGUI | MOD_LSFT);
  327. }
  328. }
  329. else if (state->count > 1) {
  330. if (state->pressed) {
  331. register_mods(MOD_LSFT | MOD_LALT);
  332. }
  333. else {
  334. set_oneshot_mods(MOD_LALT | MOD_LSFT);
  335. }
  336. }
  337. else if (state->pressed) {
  338. register_mods(MOD_LCTL | MOD_LSFT);
  339. }
  340. else {
  341. set_oneshot_mods(MOD_LSFT | MOD_LCTL);
  342. }
  343. reset_tap_dance(state);
  344. }
  345. void shift_and_mac(qk_tap_dance_state_t *state, void *user_data) // SG->SC->SA
  346. {
  347. if (state->count > 1) {
  348. if (state->pressed) {
  349. register_mods(MOD_LSFT | MOD_LALT);
  350. }
  351. else {
  352. set_oneshot_mods(MOD_LALT | MOD_LSFT);
  353. }
  354. }
  355. else if (state->count > 2) {
  356. if (state->pressed) {
  357. register_mods(MOD_LCTL | MOD_LSFT);
  358. }
  359. else {
  360. set_oneshot_mods(MOD_LSFT | MOD_LCTL);
  361. }
  362. }
  363. else if (state->pressed) {
  364. register_mods(MOD_LSFT | MOD_LGUI);
  365. }
  366. else {
  367. set_oneshot_mods(MOD_LGUI | MOD_LSFT);
  368. }
  369. reset_tap_dance(state);
  370. }