From d209838b3c35154c12d7799c59791814d74b4393 Mon Sep 17 00:00:00 2001
From: Anna Wiggins <annabunches@gmail.com>
Date: Sun, 8 Oct 2023 05:44:32 +0000
Subject: [PATCH] Add crab emoji + keymap switching per-emoji.

---
 keymap.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/keymap.c b/keymap.c
index ab6b02b..4d533d5 100644
--- a/keymap.c
+++ b/keymap.c
@@ -13,8 +13,10 @@ enum ctrl_keycodes {
   AB_IDLE,
   AB_DIM,
   AB_KSP,
-  AB_ROSE, // TODO: delete if we ever figure out unicode support
-  AB_MUSHROOM, // TODO: delete if we ever figure out unicode support
+  // TODO: delete if we ever figure out unicode support
+  AB_ROSE, 
+  AB_MUSHROOM,
+  AB_CRAB,
 };
 
 enum tapdance_codes {
@@ -72,8 +74,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         TG(_LAYER_QWERTY), _______,            _______, _______,  _______, _______, _______,  _______,  _______,  UC_WINC,     UC_LINX, _______, DB_TOGG,            _______, KC_MUTE, _______, \
         _______,           AB_TYPE,            AB_DIM,  AB_FFXIV, AB_KSP,  AB_IDLE, _______,  _______,  _______,  _______,     _______, _______, _______, _______,   KC_MPLY, KC_MSTP, KC_VOLU, \
         _______,           RGB_SPD,            RGB_VAI, RGB_SPI,  RGB_HUI, RGB_SAI, _______,  U_T_AUTO, U_T_AGCR, AB_ROSE,     _______, _______, _______, _______,   KC_MPRV, KC_MNXT, KC_VOLD, \
-        KC_CAPS,           AB_MUSHROOM,        AB_ROSE, RGB_MOD,  RGB_HUD, RGB_SAD, RGB_RMOD, _______,  _______,  _______,     _______, _______, _______, \
-        _______,           RGB_TOG,            RGB_VAD, _______,  _______, MD_BOOT, NK_TOGG,  _______,  _______,  _______,     _______, _______,                              _______, \
+        KC_CAPS,           AB_MUSHROOM,        AB_ROSE, AB_CRAB,  RGB_HUD, RGB_SAD, RGB_RMOD, _______,  _______,  _______,     _______, _______, _______, \
+        _______,           RGB_TOG,            RGB_VAD, RGB_MOD,  _______, MD_BOOT, NK_TOGG,  _______,  _______,  _______,     _______, _______,                              _______, \
         _______,           TG(_LAYER_PROTECT), _______,                    _______,                               _______,     _______, _______, _______,            _______, _______, _______ \
     ),
     /*
@@ -373,11 +375,17 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
           if (record->event.pressed) annabunches_mode_idle();
           return false;
         case AB_MUSHROOM:
+          layer_off(_LAYER_QWERTY);
           if (record->event.pressed) SEND_STRING(SS_TAP(X_F14)"u1f344"SS_TAP(X_ENT));
           return false;
         case AB_ROSE:
+          layer_off(_LAYER_QWERTY);
           if (record->event.pressed) SEND_STRING(SS_TAP(X_F14)"u1f339"SS_TAP(X_ENT));
           return false;
+        case AB_CRAB:
+          layer_on(_LAYER_QWERTY);
+          if (record->event.pressed) SEND_STRING(SS_TAP(X_F14)"u1f980"SS_TAP(X_ENT));
+          return false;
         default:
             return true; //Process all other keycodes normally
     }