From 45225190794b438129d5b27d4fe5b756fdf2efc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Catriel=20M=C3=BCller?= Date: Tue, 15 Oct 2019 19:29:33 -0300 Subject: Milk 2% - Unicode Keymap Fix and Improvements (#7013) * - Enabled Unicode Feature to fix the build - Added TapDance Feature to improve the functionality of the Keyboard - Added the ability to switch between the Unicodes Modes - Added more Emojis thanks to the tap dance feature * Fix Format --- keyboards/2_milk/keymaps/emoji/keymap.c | 70 ++++++++++++++++++++++----------- 1 file changed, 46 insertions(+), 24 deletions(-) (limited to 'keyboards/2_milk/keymaps/emoji/keymap.c') diff --git a/keyboards/2_milk/keymaps/emoji/keymap.c b/keyboards/2_milk/keymaps/emoji/keymap.c index 9b84df5c2c..024a6a054b 100644 --- a/keyboards/2_milk/keymaps/emoji/keymap.c +++ b/keyboards/2_milk/keymaps/emoji/keymap.c @@ -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) + ), }; -- cgit v1.2.3