keymap.c 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #include QMK_KEYBOARD_H
  2. enum td_keys {
  3. TD_K0,
  4. TD_K1,
  5. TD_K2,
  6. TD_K3
  7. };
  8. void td_spade_lnx (qk_tap_dance_state_t *state, void *user_data) {
  9. if (state->count == 1) {
  10. register_unicode(0x2660); // ♠
  11. } else {
  12. set_unicode_input_mode(UC_LNX);
  13. }
  14. reset_tap_dance(state);
  15. }
  16. void td_diamond_osx (qk_tap_dance_state_t *state, void *user_data) {
  17. if (state->count == 1) {
  18. register_unicode(0x2666); // ♦
  19. } else {
  20. set_unicode_input_mode(UC_OSX);
  21. }
  22. reset_tap_dance(state);
  23. }
  24. void td_club_win (qk_tap_dance_state_t *state, void *user_data) {
  25. if (state->count == 1) {
  26. register_unicode(0x2663); // ♣
  27. } else {
  28. set_unicode_input_mode(UC_WIN);
  29. }
  30. reset_tap_dance(state);
  31. }
  32. void td_heart_winc (qk_tap_dance_state_t *state, void *user_data) {
  33. if (state->count == 1) {
  34. register_unicode(0x2665); // ♥
  35. } else {
  36. set_unicode_input_mode(UC_WINC);
  37. }
  38. reset_tap_dance(state);
  39. }
  40. qk_tap_dance_action_t tap_dance_actions[] = {
  41. [TD_K0] = ACTION_TAP_DANCE_FN(td_spade_lnx),
  42. [TD_K1] = ACTION_TAP_DANCE_FN(td_diamond_osx),
  43. [TD_K2] = ACTION_TAP_DANCE_FN(td_club_win),
  44. [TD_K3] = ACTION_TAP_DANCE_FN(td_heart_winc)
  45. };
  46. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  47. [0] = LAYOUT(
  48. TD(TD_K0),
  49. TD(TD_K1),
  50. TD(TD_K2),
  51. TD(TD_K3)
  52. )
  53. };