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
This commit is contained in:
parent
feb116c4f3
commit
4522519079
4 changed files with 88 additions and 25 deletions
2
keyboards/2_milk/keymaps/emoji/config.h
Normal file
2
keyboards/2_milk/keymaps/emoji/config.h
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
#define UNICODE_SELECTED_MODES UC_LNX, UC_OSX, UC_WIN, UC_WINC
|
||||||
|
#define TAPPING_TERM 300
|
|
@ -1,31 +1,53 @@
|
||||||
#include QMK_KEYBOARD_H
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
enum custom_keycodes {
|
enum tapdance_keycodes {
|
||||||
DISSA,
|
TD_KEY_1,
|
||||||
SHRUG
|
TD_KEY_2,
|
||||||
|
};
|
||||||
|
|
||||||
|
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),
|
||||||
};
|
};
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
[0] = LAYOUT(
|
[0] = LAYOUT(
|
||||||
SHRUG,
|
TD(TD_KEY_1),
|
||||||
DISSA
|
TD(TD_KEY_2)
|
||||||
)
|
),
|
||||||
};
|
|
||||||
|
|
||||||
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;
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,2 +1,39 @@
|
||||||
# Emoji Keymap
|
# Emoji Keymap
|
||||||
![Picture](https://i.imgur.com/1zEZ9Lq.png)
|
![Picture](https://i.imgur.com/1zEZ9Lq.png)
|
||||||
|
|
||||||
|
# Unicode Setup
|
||||||
|
|
||||||
|
Unicode input in QMK works by inputting a sequence of characters to the
|
||||||
|
OS, sort of like a macro. Unfortunately, the way this is done differs
|
||||||
|
for each platform. Specifically, each platform requires a different
|
||||||
|
combination of keys to trigger Unicode input. Therefore, a
|
||||||
|
corresponding input mode has to be set in QMK.
|
||||||
|
|
||||||
|
Documentation: [Feature Unicode](https://beta.docs.qmk.fm/features/feature_unicode#input-modes)
|
||||||
|
|
||||||
|
On this keymap the default unicode mode it's `UC_LNX`.
|
||||||
|
You can change it permanently tapping 2 times the KeyOne to select the next mode.
|
||||||
|
|
||||||
|
## Unicode Mode List
|
||||||
|
- UC_LNX
|
||||||
|
- UC_OSX
|
||||||
|
- UC_WIN
|
||||||
|
- UC_WINC
|
||||||
|
|
||||||
|
# Keymap
|
||||||
|
To add more functionality to this Minimal Keyboard,
|
||||||
|
it's implemented the tap dance feature, so pressing the same key
|
||||||
|
multiples times will produce different emojis.
|
||||||
|
|
||||||
|
## Key One
|
||||||
|
|
||||||
|
- 1 Tap: `¯\_(ツ)_/¯`
|
||||||
|
- 2 Taps: Switch Unicode Input Type
|
||||||
|
|
||||||
|
## Key Two
|
||||||
|
|
||||||
|
- 1 Tap: `ಠ_ಠ`
|
||||||
|
- 2 Taps: `(ノಠ痊ಠ)ノ彡┻━┻`
|
||||||
|
- 3 Taps: `╭∩╮(-_-)╭∩╮`
|
||||||
|
- 4 Taps: `(づ ̄ ³ ̄)づ`
|
||||||
|
- 5 Taps: `(︺︹︺)`
|
2
keyboards/2_milk/keymaps/emoji/rules.mk
Normal file
2
keyboards/2_milk/keymaps/emoji/rules.mk
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
UNICODE_ENABLE = yes # Unicode
|
||||||
|
TAP_DANCE_ENABLE = yes # Tap Dance
|
Loading…
Reference in a new issue