combo.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #pragma once
  2. #include "quantum.h"
  3. // enum for combos.
  4. enum combos {
  5. // left hand combinations.
  6. COLON_COMMA,
  7. COMMA_DOT,
  8. DOT_P,
  9. QUOT_Q,
  10. Q_J,
  11. J_K,
  12. // right hand combinations.
  13. L_R,
  14. R_C,
  15. C_G,
  16. V_W,
  17. W_M,
  18. // both hands combinations.
  19. J_W,
  20. };
  21. // left hand combinations.
  22. const uint16_t PROGMEM colon_comma_combo[] = {KC_SCLN, KC_COMM, COMBO_END};
  23. const uint16_t PROGMEM comma_dot_combo[] = {KC_COMM, KC_DOT, COMBO_END};
  24. const uint16_t PROGMEM dot_p_combo[] = {KC_DOT, KC_P, COMBO_END};
  25. const uint16_t PROGMEM quot_q_combo[] = {KC_QUOT, KC_Q, COMBO_END};
  26. const uint16_t PROGMEM q_j_combo[] = {KC_Q, KC_J, COMBO_END};
  27. const uint16_t PROGMEM j_k_combo[] = {KC_J, KC_K, COMBO_END};
  28. // right hand combinations.
  29. const uint16_t PROGMEM l_r_combo[] = {KC_L, KC_R, COMBO_END};
  30. const uint16_t PROGMEM r_c_combo[] = {KC_R, KC_C, COMBO_END};
  31. const uint16_t PROGMEM c_g_combo[] = {KC_C, KC_G, COMBO_END};
  32. const uint16_t PROGMEM v_w_combo[] = {KC_V, KC_W, COMBO_END};
  33. const uint16_t PROGMEM w_m_combo[] = {KC_W, KC_M, COMBO_END};
  34. // both hand combinations.
  35. const uint16_t PROGMEM j_w_combo[] = {KC_J, KC_W, COMBO_END};
  36. combo_t key_combos[COMBO_COUNT] = {
  37. // left hand combinations.
  38. [COLON_COMMA] = COMBO(colon_comma_combo, KC_TAB),
  39. [COMMA_DOT] = COMBO(comma_dot_combo, KC_QUES),
  40. [DOT_P] = COMBO(dot_p_combo, KC_UNDS),
  41. [QUOT_Q] = COMBO(quot_q_combo, KC_ENT),
  42. [Q_J] = COMBO(q_j_combo, LCTL(KC_W)),
  43. [J_K] = COMBO(j_k_combo, KC_DELT),
  44. // right hand combinations.
  45. [L_R] = COMBO(l_r_combo, KC_BSPC),
  46. [R_C] = COMBO(r_c_combo, KC_SLSH),
  47. [C_G] = COMBO(c_g_combo, KC_MINS),
  48. [V_W] = COMBO(v_w_combo, KC_APP),
  49. [W_M] = COMBO(w_m_combo, KC_DELT),
  50. // both hand combinations.
  51. [J_W] = COMBO(j_w_combo, KC_ENT),
  52. };