- return MACRO(T(MINS), T(DOT), T(MINS), T(DOT), T(MINS), T(MINS), T(SPACE), END); //-.-.--
- }
- break;
- case 41: //Punctuation /
- if (record->event.pressed) {
- return MACRO(T(MINS), T(DOT), T(DOT), T(MINS), T(DOT), T(SPACE), END); //-..-.
- }
- break;
- case 42: //Punctuation (
- if (record->event.pressed) {
- return MACRO(T(MINS), T(DOT), T(MINS), T(MINS), T(DOT), T(SPACE), END); //-.--.
- }
- break;
- case 43: //Punctuation )
- if (record->event.pressed) {
- return MACRO(T(MINS), T(DOT), T(MINS), T(MINS), T(DOT), T(MINS), T(SPACE), END); //-.--.-
- }
- break;
- case 44: //Punctuation &
- if (record->event.pressed) {
- return MACRO(T(DOT), T(MINS), T(DOT), T(DOT), T(DOT), T(SPACE), END); //.-...
- }
- break;
- case 45: //Punctuation :
- if (record->event.pressed) {
- return MACRO(T(MINS), T(MINS), T(MINS), T(DOT), T(DOT), T(DOT), T(SPACE), END); //---...
- }
- break;
- case 46: //Punctuation ;
- if (record->event.pressed) {
- return MACRO(T(MINS), T(DOT), T(MINS), T(DOT), T(MINS), T(DOT), T(SPACE), END); //-.-.-.
- }
- break;
- case 47: //Punctuation =
- if (record->event.pressed) {
- return MACRO(T(MINS), T(DOT), T(DOT), T(DOT), T(MINS), T(SPACE), END); //-...-
- }
- break;
- case 48: //Punctuation +
- if (record->event.pressed) {
- return MACRO(T(DOT), T(MINS), T(DOT), T(MINS), T(DOT), T(SPACE), END); //.-.-.
+ if (keyboard_report->mods & MOD_BIT(KC_LSFT) || MOD_BIT(KC_RSFT)) {
+ unregister_mods(MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT));
+ return MACRO(T(DOT), T(MINS), T(DOT), T(DOT), T(MINS), T(DOT), T(SPACE), END); //.-..-.
+ }
+ else {
+ return MACRO(T(DOT), T(MINS), T(MINS), T(MINS), T(MINS), T(DOT), T(SPACE), END); //-....-
+ }