|
|
@ -1,31 +1,53 @@ |
|
|
|
#include QMK_KEYBOARD_H |
|
|
|
|
|
|
|
enum custom_keycodes { |
|
|
|
DISSA, |
|
|
|
SHRUG |
|
|
|
enum tapdance_keycodes { |
|
|
|
TD_KEY_1, |
|
|
|
TD_KEY_2, |
|
|
|
}; |
|
|
|
|
|
|
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
|
|
|
[0] = LAYOUT( |
|
|
|
SHRUG, |
|
|
|
DISSA |
|
|
|
) |
|
|
|
void dance_key_one (qk_tap_dance_state_t *state, void *user_data) { |
|
|
|
if (state->count == 1) { |
|
|
|
send_unicode_hex_string("00AF 005C 005F 0028 30C4 0029 005F 002F 00AF"); // ¯\_(ツ)_/¯ |
|
|
|
SEND_STRING(SS_TAP(X_ENTER)); |
|
|
|
reset_tap_dance (state); |
|
|
|
} else if (state->count == 2) { |
|
|
|
cycle_unicode_input_mode(+1); |
|
|
|
reset_tap_dance (state); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void dance_key_two (qk_tap_dance_state_t *state, void *user_data) { |
|
|
|
if (state->count == 1) { |
|
|
|
send_unicode_hex_string("0CA0 005F 0CA0"); // ಠ_ಠ |
|
|
|
SEND_STRING(SS_TAP(X_ENTER)); |
|
|
|
reset_tap_dance (state); |
|
|
|
} else if (state->count == 2) { |
|
|
|
send_unicode_hex_string("0028 30CE 0CA0 75CA 0CA0 0029 30CE 5F61 253B 2501 253B"); // (ノಠ痊ಠ)ノ彡┻━┻ |
|
|
|
SEND_STRING(SS_TAP(X_ENTER)); |
|
|
|
reset_tap_dance (state); |
|
|
|
} else if (state->count == 3) { |
|
|
|
send_unicode_hex_string("256D 2229 256E 0028 002D 005F 002D 0029 256D 2229 256E"); // ╭∩╮(-_-)╭∩╮ |
|
|
|
SEND_STRING(SS_TAP(X_ENTER)); |
|
|
|
reset_tap_dance (state); |
|
|
|
} else if (state->count == 4) { |
|
|
|
send_unicode_hex_string("0028 3065 FFE3 0020 00B3 FFE3 0029 3065"); // (づ ̄ ³ ̄)づ |
|
|
|
SEND_STRING(SS_TAP(X_ENTER)); |
|
|
|
reset_tap_dance (state); |
|
|
|
} else if (state->count == 5) { |
|
|
|
send_unicode_hex_string("0028 FE3A FE39 FE3A 0029"); // (︺︹︺) |
|
|
|
SEND_STRING(SS_TAP(X_ENTER)); |
|
|
|
reset_tap_dance (state); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
qk_tap_dance_action_t tap_dance_actions[] = { |
|
|
|
[TD_KEY_1] = ACTION_TAP_DANCE_FN(dance_key_one), |
|
|
|
[TD_KEY_2] = ACTION_TAP_DANCE_FN(dance_key_two), |
|
|
|
}; |
|
|
|
|
|
|
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
|
|
|
switch (keycode) { |
|
|
|
case SHRUG: |
|
|
|
if (record->event.pressed) { |
|
|
|
send_unicode_hex_string("00AF 005C 005F 0028 30C4 0029 005F 002F 00AF"); |
|
|
|
} else { |
|
|
|
} |
|
|
|
break; |
|
|
|
case DISSA: |
|
|
|
if (record->event.pressed) { |
|
|
|
send_unicode_hex_string("0CA0 005F 0CA0"); |
|
|
|
} else { |
|
|
|
} |
|
|
|
break; |
|
|
|
} |
|
|
|
return true; |
|
|
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
|
|
|
[0] = LAYOUT( |
|
|
|
TD(TD_KEY_1), |
|
|
|
TD(TD_KEY_2) |
|
|
|
), |
|
|
|
}; |