diff --git a/keyboards/25keys/zinc/keymaps/default/keymap.c b/keyboards/25keys/zinc/keymaps/default/keymap.c
index 0d68eb454123..4c4a6a5f3e74 100644
--- a/keyboards/25keys/zinc/keymaps/default/keymap.c
+++ b/keyboards/25keys/zinc/keymaps/default/keymap.c
@@ -23,10 +23,7 @@ enum layer_number {
 };
 
 enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  COLEMAK,
-  DVORAK,
-  LOWER,
+  LOWER = SAFE_RANGE,
   RAISE,
   ADJUST,
   BACKLIT,
@@ -35,12 +32,9 @@ enum custom_keycodes {
   RGBRST
 };
 
-enum macro_keycodes {
-  KC_SAMPLEMACRO,
-};
-
-//Macros
-#define M_SAMPLE M(KC_SAMPLEMACRO)
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   /* Qwerty
@@ -169,25 +163,6 @@ void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   switch (keycode) {
-    case QWERTY:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_QWERTY);
-      }
-      return false;
-      break;
-    case COLEMAK:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_COLEMAK);
-      }
-      return false;
-      break;
-    case DVORAK:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_DVORAK);
-      }
-      return false;
-      break;
-
     case LOWER:
       if (record->event.pressed) {
           //not sure how to have keyboard check mode and set it to a variable, so my work around
diff --git a/keyboards/40percentclub/nori/keymaps/default/keymap.c b/keyboards/40percentclub/nori/keymaps/default/keymap.c
index 03f8c1578782..1c7405f2aca6 100644
--- a/keyboards/40percentclub/nori/keymaps/default/keymap.c
+++ b/keyboards/40percentclub/nori/keymaps/default/keymap.c
@@ -13,16 +13,14 @@ enum layer_names {
     _ADJUST
 };
 
-enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  COLEMAK,
-  DVORAK,
-};
-
 #define LOWER  MO(_LOWER)
 #define RAISE  MO(_RAISE)
 #define ADJUST MO(_ADJUST)
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 /* Qwerty
  * ,-----------------------------------------------------------------------------------.
@@ -138,24 +136,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 layer_state_t layer_state_set_user(layer_state_t state) {
   return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
 }
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-  switch (keycode) {
-    case QWERTY:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_QWERTY);
-      }
-      return false;
-    case COLEMAK:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_COLEMAK);
-      }
-      return false;
-    case DVORAK:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_DVORAK);
-      }
-      return false;
-  }
-  return true;
-}
diff --git a/keyboards/aleblazer/zodiark/keymaps/default/keymap.c b/keyboards/aleblazer/zodiark/keymaps/default/keymap.c
index 65d431eb9aa2..7c5414e93ace 100644
--- a/keyboards/aleblazer/zodiark/keymaps/default/keymap.c
+++ b/keyboards/aleblazer/zodiark/keymaps/default/keymap.c
@@ -23,9 +23,7 @@ enum sofle_layers {
 };
 
 enum custom_keycodes {
-    KC_QWERTY = SAFE_RANGE,
-    KC_COLEMAK,
-    KC_LOWER,
+    KC_LOWER = SAFE_RANGE,
     KC_RAISE,
     KC_ADJUST,
     KC_PRVWD,
@@ -35,6 +33,9 @@ enum custom_keycodes {
     KC_DLINE
 };
 
+#define KC_QWERTY PDF(_QWERTY)
+#define KC_COLEMAK PDF(_COLEMAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 	[_QWERTY] = LAYOUT(
@@ -148,16 +149,6 @@ bool oled_task_user(void) {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     switch (keycode) {
-        case KC_QWERTY:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_QWERTY);
-            }
-            return false;
-        case KC_COLEMAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_COLEMAK);
-            }
-            return false;
         case KC_LOWER:
             if (record->event.pressed) {
                 layer_on(_LOWER);
diff --git a/keyboards/bear_face/v1/keymaps/default/keymap.c b/keyboards/bear_face/v1/keymaps/default/keymap.c
index e615a3915d83..22235f4af681 100644
--- a/keyboards/bear_face/v1/keymaps/default/keymap.c
+++ b/keyboards/bear_face/v1/keymaps/default/keymap.c
@@ -12,12 +12,9 @@ enum layers {
 
 #define FN1_CAPS LT(_FN1, KC_CAPS)
 
-//custom keycode enums
-enum custom_keycodes {
-    BASE_QWER = QK_USER,
-    BASE_COLE,
-    BASE_DVOR
-};
+#define BASE_QWER PDF(_QWER)
+#define BASE_COLE PDF(_COLE)
+#define BASE_DVOR PDF(_DVOR)
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     [_QWER] = LAYOUT(
@@ -67,37 +64,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     ),
 */
 };
-
-
-// macros to allow the user to set whatever default layer they want, even after reboot
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-    switch (keycode) {
-        case BASE_QWER:
-            if (record->event.pressed) {
-            // when keycode BASE_QWER is pressed
-                set_single_persistent_default_layer(_QWER);
-            } else {
-            // when keycode BASE_QWER is released
-            }
-            break;
-
-        case BASE_COLE:
-            if (record->event.pressed) {
-            // when keycode BASE_COLE is pressed
-                set_single_persistent_default_layer(_COLE);
-            } else {
-            // when keycode BASE_COLE is released
-            }
-            break;
-
-        case BASE_DVOR:
-            if (record->event.pressed) {
-            // when keycode BASE_DVOR is pressed
-                set_single_persistent_default_layer(_DVOR);
-            } else {
-            // when keycode BASE_DVOR is released
-            }
-            break;
-    }
-    return true;
-};
diff --git a/keyboards/bear_face/v2/keymaps/default/keymap.c b/keyboards/bear_face/v2/keymaps/default/keymap.c
index 08f193052ada..0f8aefb4b37c 100644
--- a/keyboards/bear_face/v2/keymaps/default/keymap.c
+++ b/keyboards/bear_face/v2/keymaps/default/keymap.c
@@ -12,12 +12,9 @@ enum layers {
 
 #define FN1_CAPS LT(_FN1, KC_CAPS)
 
-//custom keycode enums
-enum custom_keycodes {
-    BASE_QWER = QK_USER,
-    BASE_COLE,
-    BASE_DVOR
-};
+#define BASE_QWER PDF(_QWER)
+#define BASE_COLE PDF(_COLE)
+#define BASE_DVOR PDF(_DVOR)
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     [_QWER] = LAYOUT_83_ansi(
@@ -67,37 +64,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     ),
 */
 };
-
-
-// macros to allow the user to set whatever default layer they want, even after reboot
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-    switch (keycode) {
-        case BASE_QWER:
-            if (record->event.pressed) {
-            // when keycode BASE_QWER is pressed
-                set_single_persistent_default_layer(_QWER);
-            } else {
-            // when keycode BASE_QWER is released
-            }
-            break;
-
-        case BASE_COLE:
-            if (record->event.pressed) {
-            // when keycode BASE_COLE is pressed
-                set_single_persistent_default_layer(_COLE);
-            } else {
-            // when keycode BASE_COLE is released
-            }
-            break;
-
-        case BASE_DVOR:
-            if (record->event.pressed) {
-            // when keycode BASE_DVOR is pressed
-                set_single_persistent_default_layer(_DVOR);
-            } else {
-            // when keycode BASE_DVOR is released
-            }
-            break;
-    }
-    return true;
-};
diff --git a/keyboards/bear_face/v2/keymaps/default_iso/keymap.c b/keyboards/bear_face/v2/keymaps/default_iso/keymap.c
index a5e96207f695..69d672051075 100644
--- a/keyboards/bear_face/v2/keymaps/default_iso/keymap.c
+++ b/keyboards/bear_face/v2/keymaps/default_iso/keymap.c
@@ -12,12 +12,9 @@ enum layers {
 
 #define FN1_CAPS LT(_FN1, KC_CAPS)
 
-//custom keycode enums
-enum custom_keycodes {
-    BASE_QWER = QK_USER,
-    BASE_COLE,
-    BASE_DVOR
-};
+#define BASE_QWER PDF(_QWER)
+#define BASE_COLE PDF(_COLE)
+#define BASE_DVOR PDF(_DVOR)
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     [_QWER] = LAYOUT_84_iso(
@@ -67,37 +64,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     ),
 */
 };
-
-
-//macros to allow the user to set whatever default layer they want, even after reboot
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-    switch (keycode) {
-        case BASE_QWER:
-            if (record->event.pressed) {
-            // when keycode BASE_QWER is pressed
-                set_single_persistent_default_layer(_QWER);
-            } else {
-            // when keycode BASE_QWER is released
-            }
-            break;
-
-        case BASE_COLE:
-            if (record->event.pressed) {
-            // when keycode BASE_COLE is pressed
-                set_single_persistent_default_layer(_COLE);
-            } else {
-            // when keycode BASE_COLE is released
-            }
-            break;
-
-        case BASE_DVOR:
-            if (record->event.pressed) {
-            // when keycode BASE_DVOR is pressed
-                set_single_persistent_default_layer(_DVOR);
-            } else {
-            // when keycode BASE_DVOR is released
-            }
-            break;
-    }
-    return true;
-};
diff --git a/keyboards/bear_face/v3/keymaps/default/keymap.c b/keyboards/bear_face/v3/keymaps/default/keymap.c
index f6e71f1b34eb..0f8aefb4b37c 100644
--- a/keyboards/bear_face/v3/keymaps/default/keymap.c
+++ b/keyboards/bear_face/v3/keymaps/default/keymap.c
@@ -12,12 +12,9 @@ enum layers {
 
 #define FN1_CAPS LT(_FN1, KC_CAPS)
 
-//custom keycode enums
-enum custom_keycodes {
-    BASE_QWER = QK_USER,
-    BASE_COLE,
-    BASE_DVOR
-};
+#define BASE_QWER PDF(_QWER)
+#define BASE_COLE PDF(_COLE)
+#define BASE_DVOR PDF(_DVOR)
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     [_QWER] = LAYOUT_83_ansi(
@@ -67,26 +64,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     ),
 */
 };
-
-
-// Macros to allow the user to set whatever default layer they want, even after reboot
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-    switch (keycode) {
-        case BASE_QWER:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_QWER);
-            }
-            break;
-        case BASE_COLE:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_COLE);
-            }
-            break;
-        case BASE_DVOR:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_DVOR);
-            }
-            break;
-    }
-    return true;
-};
diff --git a/keyboards/bear_face/v3/keymaps/default_iso/keymap.c b/keyboards/bear_face/v3/keymaps/default_iso/keymap.c
index cc97d54a9be9..69d672051075 100644
--- a/keyboards/bear_face/v3/keymaps/default_iso/keymap.c
+++ b/keyboards/bear_face/v3/keymaps/default_iso/keymap.c
@@ -12,12 +12,9 @@ enum layers {
 
 #define FN1_CAPS LT(_FN1, KC_CAPS)
 
-//custom keycode enums
-enum custom_keycodes {
-    BASE_QWER = QK_USER,
-    BASE_COLE,
-    BASE_DVOR
-};
+#define BASE_QWER PDF(_QWER)
+#define BASE_COLE PDF(_COLE)
+#define BASE_DVOR PDF(_DVOR)
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     [_QWER] = LAYOUT_84_iso(
@@ -67,26 +64,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     ),
 */
 };
-
-
-// Macros to allow the user to set whatever default layer they want, even after reboot
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-    switch (keycode) {
-        case BASE_QWER:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_QWER);
-            }
-            break;
-        case BASE_COLE:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_COLE);
-            }
-            break;
-        case BASE_DVOR:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_DVOR);
-            }
-            break;
-    }
-    return true;
-};
diff --git a/keyboards/beatervan/keymaps/default/keymap.c b/keyboards/beatervan/keymaps/default/keymap.c
index a99b9c9e513b..ef88ae920745 100644
--- a/keyboards/beatervan/keymaps/default/keymap.c
+++ b/keyboards/beatervan/keymaps/default/keymap.c
@@ -24,11 +24,9 @@ enum layers {
   _L3,
 };
 
-enum custom_keycodes {
-  DVORAK = SAFE_RANGE,
-  QWERTY,
-  COLEMAK
-};
+#define QWERTY PDF(_QW)
+#define DVORAK PDF(_DV)
+#define COLEMAK PDF(_CM)
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   [_QW] = LAYOUT( /* Qwerty */
@@ -68,26 +66,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     _______, KC_LSFT, KC_B,                      KC_SPC,  KC_C,                      _______, _______, _______
   )
 };
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-      switch(keycode) {
-        case DVORAK:
-          if (record->event.pressed) {
-            set_single_persistent_default_layer(_DV);
-          }
-          return false;
-        case QWERTY:
-          if (record->event.pressed) {
-            set_single_persistent_default_layer(_QW);
-          }
-          return false;
-        case COLEMAK:
-          if (record->event.pressed) {
-            set_single_persistent_default_layer(_CM);
-          }
-          return false;
-        default:
-          return true;
-      }
-    return true;
-};
diff --git a/keyboards/contra/keymaps/default/keymap.c b/keyboards/contra/keymaps/default/keymap.c
index 29f98033d612..415e22e81a13 100644
--- a/keyboards/contra/keymaps/default/keymap.c
+++ b/keyboards/contra/keymaps/default/keymap.c
@@ -28,16 +28,17 @@ enum planck_layers {
 };
 
 enum planck_keycodes {
-  QWERTY = SAFE_RANGE,
-  COLEMAK,
-  DVORAK,
-  PLOVER,
+  PLOVER = SAFE_RANGE,
   LOWER,
   RAISE,
   BACKLIT,
   EXT_PLV
 };
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
   /* Qwerty
@@ -177,25 +178,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   switch (keycode) {
-    case QWERTY:
-      if (record->event.pressed) {
-        print("mode just switched to qwerty and this is a huge string\n");
-        set_single_persistent_default_layer(_QWERTY);
-      }
-      return false;
-      break;
-    case COLEMAK:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_COLEMAK);
-      }
-      return false;
-      break;
-    case DVORAK:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_DVORAK);
-      }
-      return false;
-      break;
     case LOWER:
       if (record->event.pressed) {
         layer_on(_LOWER);
diff --git a/keyboards/delikeeb/flatbread60/keymaps/default/keymap.c b/keyboards/delikeeb/flatbread60/keymaps/default/keymap.c
index 8ed0118578aa..8dfcce364b2c 100644
--- a/keyboards/delikeeb/flatbread60/keymaps/default/keymap.c
+++ b/keyboards/delikeeb/flatbread60/keymaps/default/keymap.c
@@ -18,16 +18,13 @@
 // Defines names for use in layer keycodes and the keymap
 enum layer_names { _QWERTY, _COLEMAK, _DVORAK, _LOWER, _RAISE, _ADJUST };
 
-enum layer_keycodes {
-    QWERTY = SAFE_RANGE,
-    COLEMAK,
-    DVORAK,
-};
-
-// Defines the keycodes used by our macros in process_record_user
 #define LOWER MO(_LOWER)
 #define RAISE MO(_RAISE)
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 /* BASE
  * ,-----------------------------------------------------------------------------------.
@@ -163,25 +160,3 @@ layer_state_t layer_state_set_user(layer_state_t state) {
   state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
   return state;
 }
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-    switch (keycode) {
-        case QWERTY:
-            if (record->event.pressed) {
-                print("mode just switched to qwerty and this is a huge string\n");
-                set_single_persistent_default_layer(_QWERTY);
-            }
-            return false;
-        case COLEMAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_COLEMAK);
-            }
-            return false;
-        case DVORAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_DVORAK);
-            }
-            return false;
-    }
-    return true;
-}
diff --git a/keyboards/dm9records/plaid/keymaps/default/keymap.c b/keyboards/dm9records/plaid/keymaps/default/keymap.c
index 2b366f49309b..0d8d24c57556 100644
--- a/keyboards/dm9records/plaid/keymaps/default/keymap.c
+++ b/keyboards/dm9records/plaid/keymaps/default/keymap.c
@@ -28,10 +28,7 @@ enum plaid_layers {
 };
 
 enum plaid_keycodes {
-  QWERTY = SAFE_RANGE,
-  COLEMAK,
-  DVORAK,
-  PLOVER,
+  PLOVER = SAFE_RANGE,
   EXT_PLV,
   LED_1,
   LED_2,
@@ -48,6 +45,10 @@ enum plaid_keycodes {
 #define LOWER MO(_LOWER)
 #define RAISE MO(_RAISE)
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
 // array of keys considered modifiers for led purposes
 const uint16_t modifiers[] = {
     KC_LCTL,
@@ -301,25 +302,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
       led_keypress_update(LED_GREEN, led_config.green_mode, keycode, record);
   }
   switch (keycode) {
-    case QWERTY:
-      if (record->event.pressed) {
-        print("mode just switched to qwerty and this is a huge string\n");
-        set_single_persistent_default_layer(_QWERTY);
-      }
-      return false;
-      break;
-    case COLEMAK:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_COLEMAK);
-      }
-      return false;
-      break;
-    case DVORAK:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_DVORAK);
-      }
-      return false;
-      break;
     case PLOVER:
       if (record->event.pressed) {
         layer_off(_RAISE);
diff --git a/keyboards/ergotravel/keymaps/default/keymap.c b/keyboards/ergotravel/keymaps/default/keymap.c
index 166a6eed7e70..fcc1ac76b476 100644
--- a/keyboards/ergotravel/keymaps/default/keymap.c
+++ b/keyboards/ergotravel/keymaps/default/keymap.c
@@ -9,8 +9,7 @@ enum layer_names {
 };
 
 enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  LOWER,
+  LOWER = SAFE_RANGE,
   RAISE,
   ADJUST,
 };
@@ -58,23 +57,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 };
 
-
-
-
-
-
-
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   switch (keycode) {
-    case QWERTY:
-      if (record->event.pressed) {
-        #ifdef AUDIO_ENABLE
-          PLAY_SONG(tone_qwerty);
-        #endif
-        set_single_persistent_default_layer(_QWERTY);
-      }
-      return false;
-      break;
     case LOWER:
       if (record->event.pressed) {
         layer_on(_LOWER);
diff --git a/keyboards/fortitude60/keymaps/default/keymap.c b/keyboards/fortitude60/keymaps/default/keymap.c
index d03c2b7a4b19..729b940d7661 100644
--- a/keyboards/fortitude60/keymaps/default/keymap.c
+++ b/keyboards/fortitude60/keymaps/default/keymap.c
@@ -14,18 +14,13 @@ enum my_layers {
   _ADJUST
 };
 
-enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  COLEMAK,
-  DVORAK,
-  LOWER,
-  RAISE,
-  ADJUST,
-};
-
 #define LOWER MO(_LOWER)
 #define RAISE MO(_RAISE)
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 /* Qwerty
@@ -160,24 +155,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 layer_state_t layer_state_set_user(layer_state_t state) {
   return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
 }
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-  switch (keycode) {
-    case QWERTY:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_QWERTY);
-      }
-      return false;
-    case COLEMAK:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_COLEMAK);
-      }
-      return false;
-    case DVORAK:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_DVORAK);
-      }
-      return false;
-  }
-  return true;
-}
diff --git a/keyboards/fractal/keymaps/default/keymap.c b/keyboards/fractal/keymaps/default/keymap.c
index ec54dfb78d2b..fea90ba2f38f 100644
--- a/keyboards/fractal/keymaps/default/keymap.c
+++ b/keyboards/fractal/keymaps/default/keymap.c
@@ -28,14 +28,15 @@ enum preonic_layers {
 };
 
 enum preonic_keycodes {
-  QWERTY = SAFE_RANGE,
-  COLEMAK,
-  DVORAK,
-  LOWER,
+  LOWER = SAFE_RANGE,
   RAISE,
   BACKLIT
 };
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 /* Qwerty
@@ -169,24 +170,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   switch (keycode) {
-        case QWERTY:
-          if (record->event.pressed) {
-            set_single_persistent_default_layer(_QWERTY);
-          }
-          return false;
-          break;
-        case COLEMAK:
-          if (record->event.pressed) {
-            set_single_persistent_default_layer(_COLEMAK);
-          }
-          return false;
-          break;
-        case DVORAK:
-          if (record->event.pressed) {
-            set_single_persistent_default_layer(_DVORAK);
-          }
-          return false;
-          break;
         case LOWER:
           if (record->event.pressed) {
             layer_on(_LOWER);
diff --git a/keyboards/hadron/ver2/keymaps/default/keymap.c b/keyboards/hadron/ver2/keymaps/default/keymap.c
index 65d6ef91f917..951cacb423a3 100644
--- a/keyboards/hadron/ver2/keymaps/default/keymap.c
+++ b/keyboards/hadron/ver2/keymaps/default/keymap.c
@@ -16,10 +16,7 @@ extern rgblight_config_t rgblight_config;
 #define _ADJUST 6
 
 enum preonic_keycodes {
-  QWERTY = SAFE_RANGE,
-  COLEMAK,
-  DVORAK,
-  LOWER,
+  LOWER = SAFE_RANGE,
   RAISE,
   BACKLIT,
   RGBLED_TOGGLE,
@@ -42,6 +39,9 @@ enum preonic_keycodes {
 #define LT_MC(kc)   LT(_MOUSECURSOR, kc)        // L-ayer T-ap M-ouse C-ursor
 #define LT_RAI(kc)  LT(_RAISE, kc)              // L-ayer T-ap to Raise
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
@@ -213,18 +213,6 @@ void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   switch (keycode) {
-    case QWERTY:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_QWERTY);
-      }
-      return false;
-      break;
-    case COLEMAK:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_COLEMAK);
-      }
-      return false;
-      break;
     case LOWER:
       if (record->event.pressed) {
           //not sure how to have keyboard check mode and set it to a variable, so my work around
diff --git a/keyboards/hadron/ver2/keymaps/side_numpad/keymap.c b/keyboards/hadron/ver2/keymaps/side_numpad/keymap.c
index a4a96b20b6f4..1e8523d94c53 100644
--- a/keyboards/hadron/ver2/keymaps/side_numpad/keymap.c
+++ b/keyboards/hadron/ver2/keymaps/side_numpad/keymap.c
@@ -16,10 +16,7 @@ extern rgblight_config_t rgblight_config;
 #define _ADJUST 6
 
 enum preonic_keycodes {
-  QWERTY = SAFE_RANGE,
-  COLEMAK,
-  DVORAK,
-  LOWER,
+  LOWER = SAFE_RANGE,
   RAISE,
   BACKLIT,
   RGBLED_TOGGLE,
@@ -181,7 +178,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * |------+------+------+------+------+------+------+------+------+------+------+------+--------------------.
  * |      |RGB TG|RGB ST|RGBH -|RGBH +|RGBS -|RGBS +|RGBV -|RGBV +|      |      |  Del |      |      |      |
  * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * |      |      |      |Aud on|Audoff|AGnorm|AGswap|Qwerty|      |      |      |      |      |      |      |
+ * |      |      |      |Aud on|Audoff|AGnorm|AGswap|      |      |      |      |      |      |      |      |
  * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
  * |      |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|      | BL + |BL ST |BLSTEP| BL TG|      |      |      |
  * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
@@ -191,7 +188,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 [_ADJUST] = LAYOUT(
   QK_BOOT,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO, KC_VOLD, KC_VOLU, KC_MUTE,
   _______, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, _______, _______,  KC_DEL, _______, _______, _______,
-  _______, _______, _______,   AU_ON,  AU_OFF, AG_NORM, AG_SWAP,  QWERTY, _______, _______, _______, _______, _______, _______, _______,
+  _______, _______, _______,   AU_ON,  AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, _______, _______, _______,
   _______, AU_PREV, AU_NEXT,   MU_ON,  MU_OFF,   MI_ON,  MI_OFF, _______, BL_DOWN, BL_UP,   BL_STEP, BL_TOGG, _______, _______, _______,
   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
 )
@@ -218,12 +215,6 @@ void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   switch (keycode) {
-    case QWERTY:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_QWERTY);
-      }
-      return false;
-      break;
     case LOWER:
       if (record->event.pressed) {
           //not sure how to have keyboard check mode and set it to a variable, so my work around
diff --git a/keyboards/hadron/ver3/keymaps/default/keymap.c b/keyboards/hadron/ver3/keymaps/default/keymap.c
index d130745dc644..1e3f3191c2ab 100644
--- a/keyboards/hadron/ver3/keymaps/default/keymap.c
+++ b/keyboards/hadron/ver3/keymaps/default/keymap.c
@@ -13,10 +13,7 @@
 #define _ADJUST 6
 
 enum preonic_keycodes {
-  QWERTY = SAFE_RANGE,
-  COLEMAK,
-  DVORAK,
-  LOWER,
+  LOWER = SAFE_RANGE,
   RAISE,
   BACKLIT,
   RGBLED_TOGGLE,
@@ -39,6 +36,10 @@ enum preonic_keycodes {
 #define LT_MC(kc)   LT(_MOUSECURSOR, kc)        // L-ayer T-ap M-ouse C-ursor
 #define LT_RAI(kc)  LT(_RAISE, kc)              // L-ayer T-ap to Raise
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 /* Qwerty
@@ -200,18 +201,6 @@ layer_state_t layer_state_set_user(layer_state_t state) {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   switch (keycode) {
-    case QWERTY:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_QWERTY);
-      }
-      return false;
-      break;
-    case COLEMAK:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_COLEMAK);
-      }
-      return false;
-      break;
     case LOWER:
       if (record->event.pressed) {
           //not sure how to have keyboard check mode and set it to a variable, so my work around
diff --git a/keyboards/handwired/ortho5x14/keymaps/2u/keymap.c b/keyboards/handwired/ortho5x14/keymaps/2u/keymap.c
index 568427e52c64..752eda0fde72 100644
--- a/keyboards/handwired/ortho5x14/keymaps/2u/keymap.c
+++ b/keyboards/handwired/ortho5x14/keymaps/2u/keymap.c
@@ -48,15 +48,14 @@ enum custom_layer {
 };
 
 enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  ALT,
-  CTRL,
-  LOWER,
+  LOWER = SAFE_RANGE,
   RAISE,
-  MOUSE,
   ADJUST
 };
 
+#define QWERTY PDF(_QWERTY)
+#define MOUSE PDF(_MOUSE)
+
 // TAP DANCE ***********************************************************
 //Tap Dance Declarations
 enum {
@@ -569,12 +568,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
         return false;
       }
       return true;
-    case QWERTY:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_QWERTY);
-      }
-      return false;
-      break;
     case LOWER:
       if (record->event.pressed) {
         layer_on(_LOWER);
@@ -584,7 +577,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
         update_tri_layer(_LOWER, _RAISE, _ADJUST);
       }
       return false;
-      break;
     case RAISE:
       if (record->event.pressed) {
         layer_on(_RAISE);
@@ -594,13 +586,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
         update_tri_layer(_LOWER, _RAISE, _ADJUST);
       }
       return false;
-      break;
-    case MOUSE:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_MOUSE);
-      }
-      return false;
-      break;
   }
   return true;
 };
diff --git a/keyboards/handwired/ortho5x14/keymaps/default/keymap.c b/keyboards/handwired/ortho5x14/keymaps/default/keymap.c
index 3c0720e1b09e..9b17789e7b95 100644
--- a/keyboards/handwired/ortho5x14/keymaps/default/keymap.c
+++ b/keyboards/handwired/ortho5x14/keymaps/default/keymap.c
@@ -30,10 +30,7 @@ enum custom_layer {
 };
 
 enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  COLEMAK,
-  DVORAK,
-  LOWER,
+  LOWER = SAFE_RANGE,
   RAISE,
   BACKLIT
 };
@@ -189,7 +186,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
  * |      |      |      | Reset|      |      |      |      |      |      |      |      |      |  Del |
  * |------+------+------+------+------+------+------+-------------+------+------+------+------+------|
- * |      |      |      |      |      |Audoff|Aud on|AGnorm|AGswap|Qwerty|Colemk|Dvorak|      |      |
+ * |      |      |      |      |      |Audoff|Aud on|AGnorm|AGswap|Qwerty|      |      |      |      |
  * |------+------+------+------+------+------+------+------|------+------+------+------+------+------|
  * |      |      |      |Voice-|Voice+|Musoff|Mus on|      |      |      |      |      |      |      |
  * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
@@ -199,7 +196,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 [_ADJUST] = LAYOUT(
   _______, _______, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,
   XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DEL,
-  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, AU_ON,   AU_OFF,  AG_NORM, AG_SWAP, QWERTY,  XXXXXXX, XXXXXXX, XXXXXXX, _______,
+  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, AU_ON,   AU_OFF,  AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
   XXXXXXX, XXXXXXX, XXXXXXX, AU_PREV, AU_NEXT, MU_ON,   MU_OFF,  MI_ON,   MI_OFF,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
   XXXXXXX, _______, _______, _______, _______,     _______,            _______,    _______,_______,_______, _______, _______
 )
@@ -209,15 +206,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   switch (keycode) {
-        case QWERTY:
-          if (record->event.pressed) {
-            #ifdef AUDIO_ENABLE
-              PLAY_SONG(tone_qwerty);
-            #endif
-            set_single_persistent_default_layer(_QWERTY);
-          }
-          return false;
-          break;
         case LOWER:
           if (record->event.pressed) {
             layer_on(_LOWER);
diff --git a/keyboards/handwired/ortho5x14/keymaps/split1/keymap.c b/keyboards/handwired/ortho5x14/keymaps/split1/keymap.c
index 733e3f3d4b96..a5222eecfaad 100644
--- a/keyboards/handwired/ortho5x14/keymaps/split1/keymap.c
+++ b/keyboards/handwired/ortho5x14/keymaps/split1/keymap.c
@@ -47,15 +47,14 @@ enum custom_layer {
 };
 
 enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  ALT,
-  CTRL,
-  LOWER,
+  LOWER = SAFE_RANGE,
   RAISE,
-  MOUSE,
   ADJUST
 };
 
+#define QWERTY PDF(_QWERTY)
+#define MOUSE PDF(_MOUSE)
+
 // TAP DANCE ***********************************************************
 //Tap Dance Declarations
 enum {
@@ -499,12 +498,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
         return false;
       }
       return true;
-    case QWERTY:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_QWERTY);
-      }
-      return false;
-      break;
     case LOWER:
       if (record->event.pressed) {
         layer_on(_LOWER);
@@ -514,7 +507,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
         update_tri_layer(_LOWER, _RAISE, _ADJUST);
       }
       return false;
-      break;
     case RAISE:
       if (record->event.pressed) {
         layer_on(_RAISE);
@@ -524,13 +516,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
         update_tri_layer(_LOWER, _RAISE, _ADJUST);
       }
       return false;
-      break;
-    case MOUSE:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_MOUSE);
-      }
-      return false;
-      break;
   }
   return true;
 };
diff --git a/keyboards/handwired/ortho_brass/keymaps/default/keymap.c b/keyboards/handwired/ortho_brass/keymaps/default/keymap.c
index d5ab0ba39855..fc431672111d 100644
--- a/keyboards/handwired/ortho_brass/keymaps/default/keymap.c
+++ b/keyboards/handwired/ortho_brass/keymaps/default/keymap.c
@@ -27,16 +27,17 @@ enum ortho_brass_layers {
 };
 
 enum ortho_brass_keycodes {
-    QWERTY = SAFE_RANGE,
-    COLEMAK,
-    DVORAK,
-    PLOVER,
+    PLOVER = SAFE_RANGE,
     EXT_PLV
 };
 
 #define LOWER MO(_LOWER)
 #define RAISE MO(_RAISE)
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 /* Qwerty
@@ -172,24 +173,6 @@ layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_laye
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     switch (keycode) {
-        case QWERTY:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_QWERTY);
-            }
-            return false;
-            break;
-        case COLEMAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_COLEMAK);
-            }
-            return false;
-            break;
-        case DVORAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_DVORAK);
-            }
-            return false;
-            break;
         case PLOVER:
             if (record->event.pressed) {
                 layer_off(_RAISE);
diff --git a/keyboards/handwired/riblee_f401/keymaps/default/keymap.c b/keyboards/handwired/riblee_f401/keymaps/default/keymap.c
index f39f439c50e0..7c8bd5b8b447 100644
--- a/keyboards/handwired/riblee_f401/keymaps/default/keymap.c
+++ b/keyboards/handwired/riblee_f401/keymaps/default/keymap.c
@@ -27,15 +27,16 @@ enum preonic_layers {
 };
 
 enum preonic_keycodes {
-    QWERTY = SAFE_RANGE,
-    COLEMAK,
-    DVORAK,
-    BACKLIT
+    BACKLIT = SAFE_RANGE,
 };
 
 #define LOWER MO(_LOWER)
 #define RAISE MO(_RAISE)
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 /* Qwerty
@@ -172,24 +173,6 @@ layer_state_t layer_state_set_user(layer_state_t state) {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     switch (keycode) {
-        case QWERTY:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_QWERTY);
-            }
-            return false;
-            break;
-        case COLEMAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_COLEMAK);
-            }
-            return false;
-            break;
-        case DVORAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_DVORAK);
-            }
-            return false;
-            break;
         case BACKLIT:
             if (record->event.pressed) {
                 register_code(keycode_config(KC_LGUI));
@@ -200,7 +183,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
                 unregister_code(keycode_config(KC_LGUI));
             }
             return false;
-            break;
     }
     return true;
 };
diff --git a/keyboards/handwired/riblee_f411/keymaps/default/keymap.c b/keyboards/handwired/riblee_f411/keymaps/default/keymap.c
index 74308a1c19fd..15c706089d68 100644
--- a/keyboards/handwired/riblee_f411/keymaps/default/keymap.c
+++ b/keyboards/handwired/riblee_f411/keymaps/default/keymap.c
@@ -27,15 +27,16 @@ enum layer_names {
 };
 
 enum custom_keycodes {
-    QWERTY = SAFE_RANGE,
-    COLEMAK,
-    DVORAK,
-    BACKLIT
+    BACKLIT = SAFE_RANGE,
 };
 
 #define LOWER MO(_LOWER)
 #define RAISE MO(_RAISE)
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 /* Qwerty
@@ -172,24 +173,6 @@ layer_state_t layer_state_set_user(layer_state_t state) {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     switch (keycode) {
-        case QWERTY:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_QWERTY);
-            }
-            return false;
-            break;
-        case COLEMAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_COLEMAK);
-            }
-            return false;
-            break;
-        case DVORAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_DVORAK);
-            }
-            return false;
-            break;
         case BACKLIT:
             if (record->event.pressed) {
                 register_code(keycode_config(KC_LGUI));
@@ -200,7 +183,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
                 unregister_code(keycode_config(KC_LGUI));
             }
             return false;
-            break;
     }
     return true;
 };
diff --git a/keyboards/handwired/rs60/keymaps/default/keymap.c b/keyboards/handwired/rs60/keymaps/default/keymap.c
index 5dae734be6c6..7dfe43fc4c39 100644
--- a/keyboards/handwired/rs60/keymaps/default/keymap.c
+++ b/keyboards/handwired/rs60/keymaps/default/keymap.c
@@ -26,13 +26,14 @@ enum layers {
 };
 
 enum keycodes {
-  QWERTY = SAFE_RANGE,
-  COLEMAK,
-  DVORAK,
-  LOWER,
+  LOWER = SAFE_RANGE,
   RAISE,
 };
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 /* Qwerty
@@ -164,24 +165,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   switch (keycode) {
-        case QWERTY:
-          if (record->event.pressed) {
-            set_single_persistent_default_layer(_QWERTY);
-          }
-          return false;
-          break;
-        case COLEMAK:
-          if (record->event.pressed) {
-            set_single_persistent_default_layer(_COLEMAK);
-          }
-          return false;
-          break;
-        case DVORAK:
-          if (record->event.pressed) {
-            set_single_persistent_default_layer(_DVORAK);
-          }
-          return false;
-          break;
         case LOWER:
           if (record->event.pressed) {
             layer_on(_LOWER);
diff --git a/keyboards/handwired/split_cloud/keymaps/default/keymap.c b/keyboards/handwired/split_cloud/keymaps/default/keymap.c
index ad7e64e6ad51..01ffe92dda45 100644
--- a/keyboards/handwired/split_cloud/keymaps/default/keymap.c
+++ b/keyboards/handwired/split_cloud/keymaps/default/keymap.c
@@ -29,13 +29,14 @@ enum layer_names {
 };
 
 enum custom_keycodes {
-    QWERTY = SAFE_RANGE,
-    COLEMAK,
-    DVORAK,
-    PLOVER,
+    PLOVER = SAFE_RANGE,
     EXT_PLV
 };
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
 #define ST_BOLT QK_STENO_BOLT
 #define ST_GEM QK_STENO_GEMINI
 
@@ -195,21 +196,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     switch (keycode) {
-        case QWERTY:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_QWERTY);
-            }
-            return false;
-        case COLEMAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_COLEMAK);
-            }
-            return false;
-        case DVORAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_DVORAK);
-            }
-            return false;
         case PLOVER:
             if (!record->event.pressed) {
                 layer_on(_PLOVER);
diff --git a/keyboards/handwired/terminus_mini/keymaps/default/keymap.c b/keyboards/handwired/terminus_mini/keymaps/default/keymap.c
index e6d8bb6f0526..8659b4954455 100644
--- a/keyboards/handwired/terminus_mini/keymaps/default/keymap.c
+++ b/keyboards/handwired/terminus_mini/keymaps/default/keymap.c
@@ -33,10 +33,7 @@ enum terminus_mini_layers {
 };
 
 enum terminus_mini_keycodes {
-  COLEMAK = SAFE_RANGE,
-  QWERTY,
-  DVORAK,
-  LOWER,
+  LOWER = SAFE_RANGE,
   RAISE,
   FUNCTION,
   MOUSE,
@@ -48,6 +45,10 @@ enum terminus_mini_keycodes {
 #define SPC_LW LT(_LOWER, KC_SPC)
 #define ENT_RS LT(_RAISE, KC_ENT)
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 /* Colemak -
  * ,----------------------------------------------------------------------------------.
@@ -204,24 +205,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // Cases to switch default layer to QWERTY, COLEMAK or DVORAK and to access ADJUST layer
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   switch (keycode) {
-    case QWERTY:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_QWERTY);
-      }
-      return false;
-      break;
-    case COLEMAK:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_COLEMAK);
-      }
-      return false;
-      break;
-    case DVORAK:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_DVORAK);
-      }
-      return false;
-      break;
     case LOWER:
       if (record->event.pressed) {
         layer_on(_LOWER);
diff --git a/keyboards/handwired/unk/keymaps/default/keymap.c b/keyboards/handwired/unk/keymaps/default/keymap.c
index 73d005983e9a..c0432dcddd65 100644
--- a/keyboards/handwired/unk/keymaps/default/keymap.c
+++ b/keyboards/handwired/unk/keymaps/default/keymap.c
@@ -8,14 +8,12 @@ enum layer_names {
   _ADJUST,
 };
 
-enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  COLEMAK,
-};
-
 #define LOWER MO(_LOWER)
 #define RAISE MO(_RAISE)
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+
 // Each layer gets a name for readability, which is then used in the keymap matrix below.
 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
 // Layer names don't all need to be of the same length, obviously, and you can also skip them
@@ -65,19 +63,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 layer_state_t layer_state_set_user(layer_state_t state) {
   return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
 }
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-  switch (keycode) {
-    case QWERTY:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_QWERTY);
-      }
-      return false;
-    case COLEMAK:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_COLEMAK);
-      }
-      return false;
-  }
-  return true;
-}
diff --git a/keyboards/jian/keymaps/default/keymap.c b/keyboards/jian/keymaps/default/keymap.c
index a9a7cb3f54b9..f3583e524906 100644
--- a/keyboards/jian/keymaps/default/keymap.c
+++ b/keyboards/jian/keymaps/default/keymap.c
@@ -11,16 +11,14 @@ enum jian_layers {
   _BCKLT_ADJ
 };
 
-enum jian_keycodes {
-  QWERTY = SAFE_RANGE,
-  DVORAK,
-  COLEMAK,
-  WORKMAN
-};
-
 #define RAISE_T(kc) LT(_RAISE, kc)
 #define LOWER_T(kc) LT(_LOWER, kc)
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+#define WORKMAN PDF(_WORKMAN)
+
 #ifdef SWAP_HANDS_ENABLE
 #define SW_TG SH_TOGG
 #else
@@ -92,29 +90,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 layer_state_t layer_state_set_user(layer_state_t state) {
   return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
 }
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-  switch (keycode) {
-    case QWERTY:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_QWERTY);
-      }
-      return false;
-    case DVORAK:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_DVORAK);
-      }
-      return false;
-    case COLEMAK:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_COLEMAK);
-      }
-      return false;
-    case WORKMAN:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_WORKMAN);
-      }
-      return false;
-  }
-  return true;
-}
diff --git a/keyboards/jones/v03/keymaps/default_jp/keymap.c b/keyboards/jones/v03/keymaps/default_jp/keymap.c
index 9b09b57bbdf2..b38b01c74880 100644
--- a/keyboards/jones/v03/keymaps/default_jp/keymap.c
+++ b/keyboards/jones/v03/keymaps/default_jp/keymap.c
@@ -63,12 +63,6 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
     }
 }
 
-// Defines the keycodes used by our macros in process_record_user
-enum custom_keycodes {
-  MAC = SAFE_RANGE,
-  WIN,
-};
-
 // Key Macro
 #define ESC_NUM TD(TD_ESC_NUM)
 #define S_CAP   TD(TD_LSFT_CAPS)
@@ -82,7 +76,8 @@ enum custom_keycodes {
 #define ALT_GRV LALT(KC_GRV)
 #define LOWER   MO(_LOWER)
 #define NUM     TG(_NUM)
-
+#define MAC     PDF(_MAC)
+#define WIN     PDF(_WIN)
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     [_MAC] = LAYOUT_jp(
@@ -146,26 +141,6 @@ const uint8_t music_map[MATRIX_ROWS][MATRIX_COLS] = LAYOUT_jp(
 );
 #endif
 
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-switch (keycode) {
-    case MAC: // Change default ayer --> Write to EEPROM
-        if (record->event.pressed) {
-            set_single_persistent_default_layer(_MAC);
-        }
-        return false;
-        break;
-    case WIN: // Change default ayer --> Write to EEPROM
-        if (record->event.pressed) {
-            set_single_persistent_default_layer(_WIN);
-        }
-        return false;
-        break;
-    default:
-        break;
-    }
-    return true;
-}
-
 //------------------------------------------------------------------------------
 // RGB Light settings
 #ifdef RGBLIGHT_LAYERS
diff --git a/keyboards/jones/v03_1/keymaps/default_ansi/keymap.c b/keyboards/jones/v03_1/keymaps/default_ansi/keymap.c
index b4611439b3f5..b60e26d961a1 100644
--- a/keyboards/jones/v03_1/keymaps/default_ansi/keymap.c
+++ b/keyboards/jones/v03_1/keymaps/default_ansi/keymap.c
@@ -62,12 +62,6 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
     }
 }
 
-// Defines the keycodes used by our macros in process_record_user
-enum custom_keycodes {
-  MAC = SAFE_RANGE,
-  WIN,
-};
-
 // Key Macro
 #define ESC_NUM TD(TD_ESC_NUM)
 #define S_CAP   TD(TD_LSFT_CAPS)
@@ -80,7 +74,8 @@ enum custom_keycodes {
 #define ALT_GRV LALT(KC_GRV)
 #define LOWER   MO(_LOWER)
 #define NUM     TG(_NUM)
-
+#define MAC     PDF(_MAC)
+#define WIN     PDF(_WIN)
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     [_MAC] = LAYOUT_ansi(
@@ -134,26 +129,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     )
 };
 
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-    switch (keycode) {
-        case MAC: // Change default ayer --> Write to EEPROM
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_MAC);
-            }
-            return false;
-            break;
-        case WIN: // Change default ayer --> Write to EEPROM
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_WIN);
-            }
-            return false;
-            break;
-        default:
-            break;
-    }
-    return true;
-}
-
 //------------------------------------------------------------------------------
 // RGB Light settings
 #ifdef RGBLIGHT_LAYERS
diff --git a/keyboards/jones/v03_1/keymaps/default_jp/keymap.c b/keyboards/jones/v03_1/keymaps/default_jp/keymap.c
index f44b5a13300e..78fb06aad181 100644
--- a/keyboards/jones/v03_1/keymaps/default_jp/keymap.c
+++ b/keyboards/jones/v03_1/keymaps/default_jp/keymap.c
@@ -63,12 +63,6 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
     }
 }
 
-// Defines the keycodes used by our macros in process_record_user
-enum custom_keycodes {
-  MAC = SAFE_RANGE,
-  WIN,
-};
-
 // Key Macro
 #define ESC_NUM TD(TD_ESC_NUM)
 #define S_CAP   TD(TD_LSFT_CAPS)
@@ -82,7 +76,8 @@ enum custom_keycodes {
 #define ALT_GRV LALT(KC_GRV)
 #define LOWER   MO(_LOWER)
 #define NUM     TG(_NUM)
-
+#define MAC     PDF(_MAC)
+#define WIN     PDF(_WIN)
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     [_MAC] = LAYOUT_jp(
@@ -136,26 +131,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     )
 };
 
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-switch (keycode) {
-    case MAC: // Change default ayer --> Write to EEPROM
-        if (record->event.pressed) {
-            set_single_persistent_default_layer(_MAC);
-        }
-        return false;
-        break;
-    case WIN: // Change default ayer --> Write to EEPROM
-        if (record->event.pressed) {
-            set_single_persistent_default_layer(_WIN);
-        }
-        return false;
-        break;
-    default:
-        break;
-    }
-    return true;
-}
-
 //------------------------------------------------------------------------------
 // RGB Light settings
 #ifdef RGBLIGHT_LAYERS
diff --git a/keyboards/kagizaraya/chidori/keymaps/default/keymap.c b/keyboards/kagizaraya/chidori/keymaps/default/keymap.c
index bd52119d9686..f02959d9f53c 100644
--- a/keyboards/kagizaraya/chidori/keymaps/default/keymap.c
+++ b/keyboards/kagizaraya/chidori/keymaps/default/keymap.c
@@ -19,13 +19,14 @@
 
 enum layer_number { _QWERTY = 0, _COLEMAK, _DVORAK, _LOWER, _RAISE, _ADJUST };
 
-// Defines the keycodes used by our macros in process_record_user
-enum custom_keycodes { QWERTY = SAFE_RANGE, COLEMAK, DVORAK };
-
 #define LOWER  MO(_LOWER)
 #define RAISE  MO(_RAISE)
 #define ADJUST MO(_ADJUST)
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
 // clang-format off
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   /* Qwerty
@@ -141,27 +142,6 @@ layer_state_t layer_state_set_user(layer_state_t state) {
   return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
 }
 
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-    switch (keycode) {
-        case QWERTY:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_QWERTY);
-            }
-            return false;
-        case COLEMAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_COLEMAK);
-            }
-            return false;
-        case DVORAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_DVORAK);
-            }
-            return false;
-    }
-    return true;
-}
-
 bool led_update_user(led_t led_state) {
     board_set_led_by_index(0, LED_YELLOW, led_state.caps_lock);
     board_set_led_by_index(1, LED_YELLOW, led_state.scroll_lock);
diff --git a/keyboards/kagizaraya/chidori/keymaps/extended/keymap.c b/keyboards/kagizaraya/chidori/keymaps/extended/keymap.c
index a1f0f6d08294..5e777f9074fb 100644
--- a/keyboards/kagizaraya/chidori/keymaps/extended/keymap.c
+++ b/keyboards/kagizaraya/chidori/keymaps/extended/keymap.c
@@ -19,13 +19,14 @@
 
 enum layer_number { _QWERTY = 0, _COLEMAK, _DVORAK, _LOWER, _RAISE, _ADJUST };
 
-// Defines the keycodes used by our macros in process_record_user
-enum custom_keycodes { QWERTY = SAFE_RANGE, COLEMAK, DVORAK };
-
 #define LOWER  MO(_LOWER)
 #define RAISE  MO(_RAISE)
 #define ADJUST MO(_ADJUST)
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
 // clang-format off
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   /* Qwerty
@@ -141,27 +142,6 @@ layer_state_t layer_state_set_user(layer_state_t state) {
   return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
 }
 
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-    switch (keycode) {
-        case QWERTY:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_QWERTY);
-            }
-            return false;
-        case COLEMAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_COLEMAK);
-            }
-            return false;
-        case DVORAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_DVORAK);
-            }
-            return false;
-    }
-    return true;
-}
-
 bool led_update_user(led_t led_state) {
     board_set_led_by_index(0, LED_YELLOW, led_state.caps_lock);
     board_set_led_by_index(1, LED_YELLOW, led_state.scroll_lock);
diff --git a/keyboards/keebio/viterbi/keymaps/default/keymap.c b/keyboards/keebio/viterbi/keymaps/default/keymap.c
index bc7cd5d3f01e..e37fc8f79022 100644
--- a/keyboards/keebio/viterbi/keymaps/default/keymap.c
+++ b/keyboards/keebio/viterbi/keymaps/default/keymap.c
@@ -13,8 +13,7 @@ enum layer_names {
 };
 
 enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  LOWER,
+  LOWER = SAFE_RANGE,
   RAISE,
   ADJUST,
 };
@@ -88,7 +87,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   [_ADJUST] = LAYOUT_ortho_5x14(
     _______, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,       KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  _______,
     _______, _______, QK_BOOT, UG_TOGG, UG_NEXT, UG_HUED, UG_HUEU,     UG_SATD, UG_SATU, UG_VALD, UG_VALU, _______, KC_DEL,  _______,
-    _______, _______, _______, _______, AU_ON,   AU_OFF,  AG_NORM,     AG_SWAP, QWERTY,  _______, _______, _______, _______, _______,
+    _______, _______, _______, _______, AU_ON,   AU_OFF,  AG_NORM,     AG_SWAP, _______, _______, _______, _______, _______, _______,
     _______, _______, _______, _______, _______, _______, _______,     _______, _______, _______, _______, _______, _______, _______,
     _______, _______, _______, _______, _______, _______, _______,     _______, _______, _______, _______, _______, _______, _______
   )
@@ -98,12 +97,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   switch (keycode) {
-    case QWERTY:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_QWERTY);
-      }
-      return false;
-      break;
     case LOWER:
       if (record->event.pressed) {
         layer_on(_LOWER);
diff --git a/keyboards/keycapsss/o4l_5x12/keymaps/2x2u/keymap.c b/keyboards/keycapsss/o4l_5x12/keymaps/2x2u/keymap.c
index ab5b9de62ff6..1e12efc1c162 100644
--- a/keyboards/keycapsss/o4l_5x12/keymaps/2x2u/keymap.c
+++ b/keyboards/keycapsss/o4l_5x12/keymaps/2x2u/keymap.c
@@ -5,11 +5,6 @@ enum layer_names {
     _LOWER
 };
 
-enum custom_keycodes {
-    QWERTY = SAFE_RANGE,
-    LOWER
-};
-
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     /* Qwerty
      * ,-----------------------------------------------------------------------------------.
@@ -29,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         QK_GESC, KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC,
         KC_TAB,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,
         KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT,
-        KC_LCTL, KC_LALT, KC_LGUI, LOWER,      KC_ENT,           KC_SPC,        KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT
+        KC_LCTL, KC_LALT, KC_LGUI, MO(_LOWER), KC_ENT,           KC_SPC,        KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT
     ),
 
     /* Lower
@@ -53,21 +48,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         UG_TOGG, QK_BOOT, _______, _______,     _______,          _______,      KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
     )
 };
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-    switch (keycode) {
-        case QWERTY:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_QWERTY);
-            }
-            return false;
-        case LOWER:
-            if (record->event.pressed) {
-                layer_on(_LOWER);
-            } else {
-                layer_off(_LOWER);
-            }
-            return false;
-    }
-    return true;
-};
diff --git a/keyboards/keycapsss/o4l_5x12/keymaps/default/keymap.c b/keyboards/keycapsss/o4l_5x12/keymaps/default/keymap.c
index 2833201d97cc..e775008bd4d6 100644
--- a/keyboards/keycapsss/o4l_5x12/keymaps/default/keymap.c
+++ b/keyboards/keycapsss/o4l_5x12/keymaps/default/keymap.c
@@ -8,8 +8,7 @@ enum layer_names {
 };
 
 enum custom_keycodes {
-    QWERTY = SAFE_RANGE,
-    LOWER,
+    LOWER = SAFE_RANGE,
     RAISE
 };
 
@@ -83,7 +82,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
      * |------+------+------+------+------+------+------+------+------+------+------+------|
      * |      | Reset|      |      |      |      |      |      |      |      |      |  Del |
      * |------+------+------+------+------+-------------+------+------+------+------+------|
-     * |      |      |      |Aud on|AudOff|AGnorm|AGswap|Qwerty|      |      |      |      |
+     * |      |      |      |Aud on|AudOff|AGnorm|AGswap|      |      |      |      |      |
      * |------+------+------+------+------+------|------+------+------+------+------+------|
      * |      |Voice-|Voice+|Mus on|MusOff|MidiOn|MidOff|      |      |      |      |      |
      * |------+------+------+------+------+------+------+------+------+------+------+------|
@@ -93,7 +92,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     [_ADJUST] = LAYOUT_ortho_5x12(
         KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,
         _______, QK_BOOT, DB_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
-        _______, _______, MU_NEXT, AU_ON,   AU_OFF,  AG_NORM, AG_SWAP, QWERTY,  _______, _______, _______, _______,
+        _______, _______, MU_NEXT, AU_ON,   AU_OFF,  AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
         _______, AU_PREV, AU_NEXT, MU_ON,   MU_OFF,  MI_ON,   MI_OFF,  _______, _______, _______, _______, _______,
         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
     )
@@ -101,11 +100,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     switch (keycode) {
-        case QWERTY:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_QWERTY);
-            }
-            return false;
         case LOWER:
             if (record->event.pressed) {
                 layer_on(_LOWER);
diff --git a/keyboards/keyprez/bison/keymaps/default/keymap.c b/keyboards/keyprez/bison/keymaps/default/keymap.c
index fc1f346647ac..d66b1a487bbf 100644
--- a/keyboards/keyprez/bison/keymaps/default/keymap.c
+++ b/keyboards/keyprez/bison/keymaps/default/keymap.c
@@ -26,10 +26,7 @@ enum layer_names {
 };
 
 enum custom_keycodes {
-    KC_QWRTY = SAFE_RANGE,
-    KC_COLMK,
-    KC_HRM,
-    KC_PRVWD,
+    KC_PRVWD = SAFE_RANGE,
     KC_NXTWD
 };
 
@@ -46,6 +43,10 @@ enum custom_keycodes {
 #define HRM_RC MT(MOD_RCTL, KC_K)
 #define HRM_RS MT(MOD_RSFT, KC_J)
 
+#define KC_QWRTY PDF(_QWERTY)
+#define KC_COLMK PDF(_COLEMAK)
+#define KC_HRM PDF(_HRM)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     /*
     * QWERTY
@@ -188,21 +189,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     switch (keycode) {
-        case KC_QWRTY:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_QWERTY);
-            }
-            return false;
-        case KC_COLMK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_COLEMAK);
-            }
-            return false;
-        case KC_HRM:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_HRM);
-            }
-            return false;
         case KC_PRVWD:
             if (record->event.pressed) {
                 register_mods(mod_config(MOD_LCTL));
diff --git a/keyboards/keyprez/bison/keymaps/default_6_6/keymap.c b/keyboards/keyprez/bison/keymaps/default_6_6/keymap.c
index 816cd2fda6ef..a51fd87c01d8 100644
--- a/keyboards/keyprez/bison/keymaps/default_6_6/keymap.c
+++ b/keyboards/keyprez/bison/keymaps/default_6_6/keymap.c
@@ -26,10 +26,7 @@ enum layer_names {
 };
 
 enum custom_keycodes {
-    KC_QWRTY = SAFE_RANGE,
-    KC_COLMK,
-    KC_HRM,
-    KC_PRVWD,
+    KC_PRVWD = SAFE_RANGE,
     KC_NXTWD
 };
 
@@ -46,6 +43,10 @@ enum custom_keycodes {
 #define HRM_RC MT(MOD_RCTL, KC_K)
 #define HRM_RS MT(MOD_RSFT, KC_J)
 
+#define KC_QWRTY PDF(_QWERTY)
+#define KC_COLMK PDF(_COLEMAK)
+#define KC_HRM PDF(_HRM)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     /*
     * QWERTY
@@ -188,21 +189,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     switch (keycode) {
-        case KC_QWRTY:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_QWERTY);
-            }
-            return false;
-        case KC_COLMK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_COLEMAK);
-            }
-            return false;
-        case KC_HRM:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_HRM);
-            }
-            return false;
         case KC_PRVWD:
             if (record->event.pressed) {
                 register_mods(mod_config(MOD_LCTL));
diff --git a/keyboards/keyprez/bison/keymaps/default_6_8/keymap.c b/keyboards/keyprez/bison/keymaps/default_6_8/keymap.c
index c42ee631dbc5..c6d467638487 100644
--- a/keyboards/keyprez/bison/keymaps/default_6_8/keymap.c
+++ b/keyboards/keyprez/bison/keymaps/default_6_8/keymap.c
@@ -26,10 +26,7 @@ enum layer_names {
 };
 
 enum custom_keycodes {
-    KC_QWRTY = SAFE_RANGE,
-    KC_COLMK,
-    KC_HRM,
-    KC_PRVWD,
+    KC_PRVWD = SAFE_RANGE,
     KC_NXTWD
 };
 
@@ -46,6 +43,10 @@ enum custom_keycodes {
 #define HRM_RC MT(MOD_RCTL, KC_K)
 #define HRM_RS MT(MOD_RSFT, KC_J)
 
+#define KC_QWRTY PDF(_QWERTY)
+#define KC_COLMK PDF(_COLEMAK)
+#define KC_HRM PDF(_HRM)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     /*
     * QWERTY
@@ -188,21 +189,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     switch (keycode) {
-        case KC_QWRTY:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_QWERTY);
-            }
-            return false;
-        case KC_COLMK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_COLEMAK);
-            }
-            return false;
-        case KC_HRM:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_HRM);
-            }
-            return false;
         case KC_PRVWD:
             if (record->event.pressed) {
                 register_mods(mod_config(MOD_LCTL));
diff --git a/keyboards/keyprez/bison/keymaps/default_8_6/keymap.c b/keyboards/keyprez/bison/keymaps/default_8_6/keymap.c
index 173b9bc38714..5566539c08e4 100644
--- a/keyboards/keyprez/bison/keymaps/default_8_6/keymap.c
+++ b/keyboards/keyprez/bison/keymaps/default_8_6/keymap.c
@@ -26,10 +26,7 @@ enum layer_names {
 };
 
 enum custom_keycodes {
-    KC_QWRTY = SAFE_RANGE,
-    KC_COLMK,
-    KC_HRM,
-    KC_PRVWD,
+    KC_PRVWD = SAFE_RANGE,
     KC_NXTWD
 };
 
@@ -46,6 +43,10 @@ enum custom_keycodes {
 #define HRM_RC MT(MOD_RCTL, KC_K)
 #define HRM_RS MT(MOD_RSFT, KC_J)
 
+#define KC_QWRTY PDF(_QWERTY)
+#define KC_COLMK PDF(_COLEMAK)
+#define KC_HRM PDF(_HRM)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     /*
     * QWERTY
@@ -188,21 +189,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     switch (keycode) {
-        case KC_QWRTY:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_QWERTY);
-            }
-            return false;
-        case KC_COLMK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_COLEMAK);
-            }
-            return false;
-        case KC_HRM:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_HRM);
-            }
-            return false;
         case KC_PRVWD:
             if (record->event.pressed) {
                 register_mods(mod_config(MOD_LCTL));
diff --git a/keyboards/keyprez/corgi/keymaps/default/keymap.c b/keyboards/keyprez/corgi/keymaps/default/keymap.c
index 757b3fd1db01..3e55671bc9f0 100644
--- a/keyboards/keyprez/corgi/keymaps/default/keymap.c
+++ b/keyboards/keyprez/corgi/keymaps/default/keymap.c
@@ -26,15 +26,13 @@ enum layer_names {
     _CMD,
 };
 
-enum corgi_keycodes {
-    QWERTY = SAFE_RANGE,
-    COLEMAK
-};
-
 #define LOWER MO(_LOWER)
 #define RAISE MO(_RAISE)
 #define CMD   MO(_CMD)
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     /* Qwerty
      * ,-----------------------------------------------------------------------------------.
@@ -136,21 +134,3 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
     tap_code(clockwise ? KC_VOLU : KC_VOLD);
     return true;
 }
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-    switch (keycode) {
-        case QWERTY:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_QWERTY);
-            }
-            return false;
-            break;
-        case COLEMAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_COLEMAK);
-            }
-            return false;
-            break;
-    }
-    return true;
-}
diff --git a/keyboards/kprepublic/jj50/keymaps/default/keymap.c b/keyboards/kprepublic/jj50/keymaps/default/keymap.c
index f6df7b92f6fd..7bc5663600c0 100644
--- a/keyboards/kprepublic/jj50/keymaps/default/keymap.c
+++ b/keyboards/kprepublic/jj50/keymaps/default/keymap.c
@@ -28,17 +28,15 @@ enum layers {
     _FN
 };
 
-enum keycodes {
-    QWERTY = SAFE_RANGE,
-    WORKMAN,
-    COLEMAK,
-    DVORAK
-};
-
 #define FN    MO(_FN)
 #define LOWER MO(_LOWER)
 #define RAISE MO(_RAISE)
 
+#define QWERTY PDF(_QWERTY)
+#define WORKMAN PDF(_WORKMAN)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
     /* Qwerty
@@ -213,29 +211,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 layer_state_t layer_state_set_user(layer_state_t state) {
     return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
 }
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-    switch (keycode) {
-        case QWERTY:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_QWERTY);
-            }
-            return false;
-        case WORKMAN:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_WORKMAN);
-            }
-            return false;
-        case COLEMAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_COLEMAK);
-            }
-            return false;
-        case DVORAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_DVORAK);
-            }
-            return false;
-    }
-    return true;
-};
diff --git a/keyboards/lets_split/keymaps/default/keymap.c b/keyboards/lets_split/keymaps/default/keymap.c
index 4eec2e02acd9..1c7405f2aca6 100644
--- a/keyboards/lets_split/keymaps/default/keymap.c
+++ b/keyboards/lets_split/keymaps/default/keymap.c
@@ -13,16 +13,14 @@ enum layer_names {
     _ADJUST
 };
 
-enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  COLEMAK,
-  DVORAK
-};
-
 #define LOWER  MO(_LOWER)
 #define RAISE  MO(_RAISE)
 #define ADJUST MO(_ADJUST)
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 /* Qwerty
  * ,-----------------------------------------------------------------------------------.
@@ -138,24 +136,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 layer_state_t layer_state_set_user(layer_state_t state) {
   return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
 }
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-  switch (keycode) {
-    case QWERTY:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_QWERTY);
-      }
-      return false;
-    case COLEMAK:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_COLEMAK);
-      }
-      return false;
-    case DVORAK:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_DVORAK);
-      }
-      return false;
-  }
-  return true;
-}
diff --git a/keyboards/lime/keymaps/default/keymap.c b/keyboards/lime/keymaps/default/keymap.c
index e3e5d5a323b0..8f4e6eb8a482 100644
--- a/keyboards/lime/keymaps/default/keymap.c
+++ b/keyboards/lime/keymaps/default/keymap.c
@@ -30,9 +30,7 @@ enum lime_layers {
 };
 
 enum custom_keycodes {
-    KC_QWERTY = SAFE_RANGE,
-    KC_COLEMAK,
-    KC_LOWER,
+    KC_LOWER = SAFE_RANGE,
     KC_RAISE,
     KC_ADJUST,
     KC_PRVWD,
@@ -47,6 +45,9 @@ enum custom_keycodes {
     KC_JOYSTICK_DEBUG,
 };
 
+#define KC_QWERTY PDF(_QWERTY)
+#define KC_COLEMAK PDF(_COLEMAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 /*
  * QWERTY
@@ -480,16 +481,6 @@ bool showedJump = true;
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     switch (keycode) {
-        case KC_QWERTY:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_QWERTY);
-            }
-            return false;
-        case KC_COLEMAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_COLEMAK);
-            }
-            return false;
         case KC_LOWER:
             if (record->event.pressed) {
                 layer_on(_LOWER);
diff --git a/keyboards/makrosu/keymaps/default/keymap.c b/keyboards/makrosu/keymaps/default/keymap.c
index 3de4f71df3a0..1e60e357ba72 100644
--- a/keyboards/makrosu/keymaps/default/keymap.c
+++ b/keyboards/makrosu/keymaps/default/keymap.c
@@ -24,15 +24,11 @@ enum planck_layers {
 
 };
 
-
-enum planck_keycodes {
-  L1 = SAFE_RANGE,
-  L2,
-  L3
-
-};
-
+#define L1 PDF(_1)
+#define L2 PDF(_2)
+#define L3 PDF(_3)
 #define LOWER MO(_4)
+
 #define IND_1          D4
 #define IND_2          C6
 #define IND_3          D7
@@ -66,27 +62,6 @@ layer_state_t layer_state_set_user(layer_state_t state) {
     return state;
 }
 
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-    switch (keycode) {
-        case L1:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_1);
-            }
-            return false;
-        case L2:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_2);
-            }
-            return false;
-        case L3:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_3);
-            }
-            return false;
-    }
-    return true;
-}
-
 void matrix_init_user(void) {
     //init the Pro Micro on-board LEDs
     gpio_set_pin_output(IND_1);
diff --git a/keyboards/montsinger/rebound/rev1/keymaps/default/keymap.c b/keyboards/montsinger/rebound/rev1/keymaps/default/keymap.c
index 9b2369ce314c..3eff1ad0417a 100644
--- a/keyboards/montsinger/rebound/rev1/keymaps/default/keymap.c
+++ b/keyboards/montsinger/rebound/rev1/keymaps/default/keymap.c
@@ -15,16 +15,14 @@ enum layer_names
   _ADJUST
 };
 
-enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  COLEMAK,
-  DVORAK
-};
-
 #define LOWER  MO(_LOWER)
 #define RAISE  MO(_RAISE)
 #define ADJUST MO(_ADJUST)
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 /* Qwerty
  * ,-----------------------------------------------------------------------------------.
@@ -140,24 +138,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 layer_state_t layer_state_set_user(layer_state_t state) {
   return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
 }
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-  switch (keycode) {
-    case QWERTY:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_QWERTY);
-      }
-      return false;
-    case COLEMAK:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_COLEMAK);
-      }
-      return false;
-    case DVORAK:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_DVORAK);
-      }
-      return false;
-  }
-  return true;
-}
diff --git a/keyboards/montsinger/rebound/rev2/keymaps/default/keymap.c b/keyboards/montsinger/rebound/rev2/keymaps/default/keymap.c
index d430a7877f38..25d9476912c3 100644
--- a/keyboards/montsinger/rebound/rev2/keymaps/default/keymap.c
+++ b/keyboards/montsinger/rebound/rev2/keymaps/default/keymap.c
@@ -14,16 +14,14 @@ enum layer_names {
   _ADJUST
 };
 
-enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  COLEMAK,
-  DVORAK
-};
-
 #define LOWER  MO(_LOWER)
 #define RAISE  MO(_RAISE)
 #define ADJUST MO(_ADJUST)
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 /* Qwerty
  * ,-----------------------------------------------------------------------------------.
@@ -139,23 +137,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 layer_state_t layer_state_set_user(layer_state_t state) {
     return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
 }
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-    switch (keycode) {
-        case QWERTY:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_QWERTY);
-             }
-             break;
-        case COLEMAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_COLEMAK);
-            }
-            break;
-        case DVORAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_DVORAK);
-            }
-            break;
-    }
-    return true;
-}
diff --git a/keyboards/montsinger/rebound/rev3/keymaps/default/keymap.c b/keyboards/montsinger/rebound/rev3/keymaps/default/keymap.c
index aadbde3672fb..dd2fedd98705 100644
--- a/keyboards/montsinger/rebound/rev3/keymaps/default/keymap.c
+++ b/keyboards/montsinger/rebound/rev3/keymaps/default/keymap.c
@@ -14,16 +14,14 @@ enum layer_names {
   _ADJUST
 };
 
-enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  COLEMAK,
-  DVORAK
-};
-
 #define LOWER  MO(_LOWER)
 #define RAISE  MO(_RAISE)
 #define ADJUST MO(_ADJUST)
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 [_QWERTY] = LAYOUT_all(
@@ -72,26 +70,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 layer_state_t layer_state_set_user(layer_state_t state) {
     return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
 }
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-    switch (keycode) {
-        case QWERTY:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_QWERTY);
-             }
-             break;
-        case COLEMAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_COLEMAK);
-            }
-            break;
-        case DVORAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_DVORAK);
-            }
-            break;
-    }
-    return true;
-}
 
 bool encoder_update_user(uint8_t index, bool clockwise) {
     if (clockwise) {
diff --git a/keyboards/montsinger/rebound/rev4/keymaps/default/keymap.c b/keyboards/montsinger/rebound/rev4/keymaps/default/keymap.c
index aadbde3672fb..dd2fedd98705 100644
--- a/keyboards/montsinger/rebound/rev4/keymaps/default/keymap.c
+++ b/keyboards/montsinger/rebound/rev4/keymaps/default/keymap.c
@@ -14,16 +14,14 @@ enum layer_names {
   _ADJUST
 };
 
-enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  COLEMAK,
-  DVORAK
-};
-
 #define LOWER  MO(_LOWER)
 #define RAISE  MO(_RAISE)
 #define ADJUST MO(_ADJUST)
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 [_QWERTY] = LAYOUT_all(
@@ -72,26 +70,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 layer_state_t layer_state_set_user(layer_state_t state) {
     return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
 }
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-    switch (keycode) {
-        case QWERTY:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_QWERTY);
-             }
-             break;
-        case COLEMAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_COLEMAK);
-            }
-            break;
-        case DVORAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_DVORAK);
-            }
-            break;
-    }
-    return true;
-}
 
 bool encoder_update_user(uint8_t index, bool clockwise) {
     if (clockwise) {
diff --git a/keyboards/newgame40/keymaps/default/keymap.c b/keyboards/newgame40/keymaps/default/keymap.c
index 056afed0110f..39921d2a382c 100644
--- a/keyboards/newgame40/keymaps/default/keymap.c
+++ b/keyboards/newgame40/keymaps/default/keymap.c
@@ -27,18 +27,13 @@ enum layers {
   _ADJUST,
 };
 
- enum custom_keycodes {
-   QWERTY = SAFE_RANGE,
-   COLEMAK,
-   DVORAK,
-   LOWER,
-   RAISE,
-   EUCALYN,
-   ADJUST,
- };
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
 
- #define LOWER MO(_LOWER)
- #define RAISE MO(_RAISE)
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+#define EUCALYN PDF(_EUCALYN)
 
  const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
@@ -174,33 +169,3 @@ enum layers {
  layer_state_t layer_state_set_user(layer_state_t state) {
    return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
  }
-
- bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-   switch (keycode) {
-     case QWERTY:
-       if (record->event.pressed) {
-         set_single_persistent_default_layer(_QWERTY);
-       }
-       return false;
-       break;
-     case COLEMAK:
-       if (record->event.pressed) {
-         set_single_persistent_default_layer(_COLEMAK);
-       }
-       return false;
-       break;
-     case DVORAK:
-       if (record->event.pressed) {
-         set_single_persistent_default_layer(_DVORAK);
-       }
-       return false;
-       break;
-     case EUCALYN:
-       if (record->event.pressed) {
-         set_single_persistent_default_layer(_EUCALYN);
-       }
-       return false;
-       break;
-   }
-   return true;
- }
diff --git a/keyboards/obosob/arch_36/keymaps/obosob/keymap.c b/keyboards/obosob/arch_36/keymaps/obosob/keymap.c
index c36b5601b016..1dd68fa10c7f 100644
--- a/keyboards/obosob/arch_36/keymaps/obosob/keymap.c
+++ b/keyboards/obosob/arch_36/keymaps/obosob/keymap.c
@@ -39,11 +39,12 @@ enum layer_names {
 #define OS_GUI  OSM(MOD_LGUI)
 #define OS_ALT  OSM(MOD_LALT)
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLMAK)
+
 enum keycodes {
-  QWERTY = SAFE_RANGE,
-  COLEMAK,
 // layers
-  SYM,
+  SYM = SAFE_RANGE,
   MISC,
 // special keys
   ENC_PRS,
@@ -233,16 +234,6 @@ uint16_t last_rgb_char = 0;
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     switch (keycode) {
-        case QWERTY:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_QWERTY);
-            }
-            return false;
-        case COLEMAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_COLMAK);
-            }
-            return false;
         case SYM:
             if (record->event.pressed) {
                 layer_on(_SYM);
diff --git a/keyboards/omkbd/runner3680/3x6/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/3x6/keymaps/default/keymap.c
index ec38d8c2ff43..b6163a42bc7e 100644
--- a/keyboards/omkbd/runner3680/3x6/keymaps/default/keymap.c
+++ b/keyboards/omkbd/runner3680/3x6/keymaps/default/keymap.c
@@ -13,8 +13,7 @@ enum layer_number {
 };
 
 enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  ADJUST,
+  ADJUST = SAFE_RANGE,
   RGBRST
 };
 
@@ -56,13 +55,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   switch (keycode) {
-      case QWERTY:
-        if (record->event.pressed) {
-           print("mode just switched to qwerty and this is a huge string\n");
-          set_single_persistent_default_layer(_QWERTY);
-        }
-        break;
-
       case ADJUST:
         if (record->event.pressed) {
           layer_on(_ADJUST);
diff --git a/keyboards/omkbd/runner3680/3x7/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/3x7/keymaps/default/keymap.c
index 8dc742ed789c..51c668064e95 100644
--- a/keyboards/omkbd/runner3680/3x7/keymaps/default/keymap.c
+++ b/keyboards/omkbd/runner3680/3x7/keymaps/default/keymap.c
@@ -13,8 +13,7 @@ enum layer_number {
 };
 
 enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  ADJUST,
+  ADJUST = SAFE_RANGE,
   RGBRST
 };
 
@@ -56,13 +55,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   switch (keycode) {
-      case QWERTY:
-        if (record->event.pressed) {
-           print("mode just switched to qwerty and this is a huge string\n");
-          set_single_persistent_default_layer(_QWERTY);
-        }
-        break;
-
       case ADJUST:
         if (record->event.pressed) {
           layer_on(_ADJUST);
diff --git a/keyboards/omkbd/runner3680/3x8/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/3x8/keymaps/default/keymap.c
index b858cc2aed31..0b57cdc55a9c 100644
--- a/keyboards/omkbd/runner3680/3x8/keymaps/default/keymap.c
+++ b/keyboards/omkbd/runner3680/3x8/keymaps/default/keymap.c
@@ -13,8 +13,7 @@ enum layer_number {
 };
 
 enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  ADJUST,
+  ADJUST = SAFE_RANGE,
   RGBRST
 };
 
@@ -58,13 +57,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   switch (keycode) {
-      case QWERTY:
-        if (record->event.pressed) {
-           print("mode just switched to qwerty and this is a huge string\n");
-          set_single_persistent_default_layer(_QWERTY);
-        }
-        break;
-
       case ADJUST:
         if (record->event.pressed) {
           layer_on(_ADJUST);
diff --git a/keyboards/omkbd/runner3680/4x6/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/4x6/keymaps/default/keymap.c
index 3fadd6961c1d..dc50cdcd83d1 100644
--- a/keyboards/omkbd/runner3680/4x6/keymaps/default/keymap.c
+++ b/keyboards/omkbd/runner3680/4x6/keymaps/default/keymap.c
@@ -13,8 +13,7 @@ enum layer_number {
 };
 
 enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  ADJUST,
+  ADJUST = SAFE_RANGE,
   RGBRST
 };
 
@@ -62,13 +61,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   switch (keycode) {
-      case QWERTY:
-        if (record->event.pressed) {
-           print("mode just switched to qwerty and this is a huge string\n");
-          set_single_persistent_default_layer(_QWERTY);
-        }
-        break;
-
       case ADJUST:
         if (record->event.pressed) {
           layer_on(_ADJUST);
diff --git a/keyboards/omkbd/runner3680/4x7/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/4x7/keymaps/default/keymap.c
index e898b42cd5d6..de162dba8873 100644
--- a/keyboards/omkbd/runner3680/4x7/keymaps/default/keymap.c
+++ b/keyboards/omkbd/runner3680/4x7/keymaps/default/keymap.c
@@ -13,8 +13,7 @@ enum layer_number {
 };
 
 enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  ADJUST,
+  ADJUST = SAFE_RANGE,
   RGBRST
 };
 
@@ -62,13 +61,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   switch (keycode) {
-      case QWERTY:
-        if (record->event.pressed) {
-           print("mode just switched to qwerty and this is a huge string\n");
-          set_single_persistent_default_layer(_QWERTY);
-        }
-        break;
-
       case ADJUST:
         if (record->event.pressed) {
           layer_on(_ADJUST);
diff --git a/keyboards/omkbd/runner3680/4x8/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/4x8/keymaps/default/keymap.c
index f8d095ce16e7..c2b4a5e6d1e0 100644
--- a/keyboards/omkbd/runner3680/4x8/keymaps/default/keymap.c
+++ b/keyboards/omkbd/runner3680/4x8/keymaps/default/keymap.c
@@ -13,8 +13,7 @@ enum layer_number {
 };
 
 enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  ADJUST,
+  ADJUST = SAFE_RANGE,
   RGBRST
 };
 
@@ -62,13 +61,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   switch (keycode) {
-      case QWERTY:
-        if (record->event.pressed) {
-           print("mode just switched to qwerty and this is a huge string\n");
-          set_single_persistent_default_layer(_QWERTY);
-        }
-        break;
-
       case ADJUST:
         if (record->event.pressed) {
           layer_on(_ADJUST);
diff --git a/keyboards/omkbd/runner3680/5x6/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/5x6/keymaps/default/keymap.c
index 9eda782a2f9b..75f034da0d30 100644
--- a/keyboards/omkbd/runner3680/5x6/keymaps/default/keymap.c
+++ b/keyboards/omkbd/runner3680/5x6/keymaps/default/keymap.c
@@ -13,8 +13,7 @@ enum layer_number {
 };
 
 enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  ADJUST,
+  ADJUST = SAFE_RANGE,
   RGBRST
 };
 
@@ -68,13 +67,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   switch (keycode) {
-      case QWERTY:
-        if (record->event.pressed) {
-           print("mode just switched to qwerty and this is a huge string\n");
-          set_single_persistent_default_layer(_QWERTY);
-        }
-        break;
-
       case ADJUST:
         if (record->event.pressed) {
           layer_on(_ADJUST);
diff --git a/keyboards/omkbd/runner3680/5x7/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/5x7/keymaps/default/keymap.c
index 599be9334efb..acf89f7fed8b 100644
--- a/keyboards/omkbd/runner3680/5x7/keymaps/default/keymap.c
+++ b/keyboards/omkbd/runner3680/5x7/keymaps/default/keymap.c
@@ -13,8 +13,7 @@ enum layer_number {
 };
 
 enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  ADJUST,
+  ADJUST = SAFE_RANGE,
   RGBRST
 };
 
@@ -68,13 +67,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   switch (keycode) {
-      case QWERTY:
-        if (record->event.pressed) {
-           print("mode just switched to qwerty and this is a huge string\n");
-          set_single_persistent_default_layer(_QWERTY);
-        }
-        break;
-
       case ADJUST:
         if (record->event.pressed) {
           layer_on(_ADJUST);
diff --git a/keyboards/omkbd/runner3680/5x8/keymaps/JIS/keymap.c b/keyboards/omkbd/runner3680/5x8/keymaps/JIS/keymap.c
index 929de444fa9e..d43c5012e68b 100644
--- a/keyboards/omkbd/runner3680/5x8/keymaps/JIS/keymap.c
+++ b/keyboards/omkbd/runner3680/5x8/keymaps/JIS/keymap.c
@@ -15,8 +15,7 @@ enum layer_number {
 };
 
 enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  ADJUST,
+  ADJUST = SAFE_RANGE,
   RGBRST
 };
 
@@ -70,13 +69,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   switch (keycode) {
-      case QWERTY:
-        if (record->event.pressed) {
-           print("mode just switched to qwerty and this is a huge string\n");
-          set_single_persistent_default_layer(_QWERTY);
-        }
-        break;
-
       case ADJUST:
         if (record->event.pressed) {
           layer_on(_ADJUST);
diff --git a/keyboards/omkbd/runner3680/5x8/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/5x8/keymaps/default/keymap.c
index 14abc88da76e..659287f5bd33 100644
--- a/keyboards/omkbd/runner3680/5x8/keymaps/default/keymap.c
+++ b/keyboards/omkbd/runner3680/5x8/keymaps/default/keymap.c
@@ -13,8 +13,7 @@ enum layer_number {
 };
 
 enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  ADJUST,
+  ADJUST = SAFE_RANGE,
   RGBRST
 };
 
@@ -68,13 +67,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   switch (keycode) {
-      case QWERTY:
-        if (record->event.pressed) {
-           print("mode just switched to qwerty and this is a huge string\n");
-          set_single_persistent_default_layer(_QWERTY);
-        }
-        break;
-
       case ADJUST:
         if (record->event.pressed) {
           layer_on(_ADJUST);
diff --git a/keyboards/ortho5by12/keymaps/default/keymap.c b/keyboards/ortho5by12/keymaps/default/keymap.c
index f3fcb85d145f..798680dfd0d2 100644
--- a/keyboards/ortho5by12/keymaps/default/keymap.c
+++ b/keyboards/ortho5by12/keymaps/default/keymap.c
@@ -26,14 +26,15 @@ enum preonic_layers {
 };
 
 enum preonic_keycodes {
-  QWERTY = SAFE_RANGE,
-  COLEMAK,
-  DVORAK,
-  LOWER,
+  LOWER = SAFE_RANGE,
   RAISE,
   BACKLIT
 };
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 /* Qwerty
@@ -167,21 +168,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   switch (keycode) {
-        case QWERTY:
-          if (record->event.pressed) {
-            set_single_persistent_default_layer(_QWERTY);
-          }
-          return false;
-        case COLEMAK:
-          if (record->event.pressed) {
-            set_single_persistent_default_layer(_COLEMAK);
-          }
-          return false;
-        case DVORAK:
-          if (record->event.pressed) {
-            set_single_persistent_default_layer(_DVORAK);
-          }
-          return false;
         case LOWER:
           if (record->event.pressed) {
             layer_on(_LOWER);
diff --git a/keyboards/orthodox/keymaps/default/keymap.c b/keyboards/orthodox/keymaps/default/keymap.c
index d9826c92888c..39c3084aae90 100644
--- a/keyboards/orthodox/keymaps/default/keymap.c
+++ b/keyboards/orthodox/keymaps/default/keymap.c
@@ -34,16 +34,14 @@ enum layer_names {
     _ADJUST
 };
 
-enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  COLEMAK,
-  DVORAK
-};
-
 #define LS__SPC MT(MOD_LSFT, KC_SPC)
 #define LOWER MO(_LOWER)
 #define RAISE MO(_RAISE)
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
   [_QWERTY] = LAYOUT(
@@ -88,27 +86,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 layer_state_t layer_state_set_user(layer_state_t state) {
   return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
 }
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-  switch (keycode) {
-  case QWERTY:
-    if (record->event.pressed) {
-      set_single_persistent_default_layer(_QWERTY);
-    }
-    return false;
-    break;
-  case COLEMAK:
-    if (record->event.pressed) {
-      set_single_persistent_default_layer(_COLEMAK);
-    }
-    return false;
-    break;
-  case DVORAK:
-    if (record->event.pressed) {
-      set_single_persistent_default_layer(_DVORAK);
-    }
-    return false;
-    break;
-  }
-  return true;
-}
diff --git a/keyboards/palette1202/keymaps/default/keymap.c b/keyboards/palette1202/keymaps/default/keymap.c
index 70f2ba311cc0..0f49e46661a5 100644
--- a/keyboards/palette1202/keymaps/default/keymap.c
+++ b/keyboards/palette1202/keymaps/default/keymap.c
@@ -19,13 +19,6 @@
   #include "lib/oled_helper.h"
 #endif
 
-enum custom_keycode {
-  Mac_CS = SAFE_RANGE,
-  Mac_PS,
-  Win_CS,
-  Win_PS,
-  IOS_CS,
-};
 enum layerID {
   MAC_CS_1 = 0,
   MAC_CS_2,
@@ -40,6 +33,12 @@ enum layerID {
   SETTING,
 };
 
+#define Mac_CS PDF(MAC_CS_1)
+#define Mac_PS PDF(MAC_PS_1)
+#define Win_CS PDF(WIN_CS_1)
+#define Win_PS PDF(WIN_PS_1)
+#define IOS_CS PDF(IOS_CS_1)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     // Mac
     // Clip Studio
@@ -234,44 +233,6 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
     return true;
 }
 
-// custom keycode
-// switch default layer
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-  switch (keycode) {
-    case Mac_CS:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(MAC_CS_1);
-      }
-      return false;
-      break;
-    case Mac_PS:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(MAC_PS_1);
-      }
-      return false;
-      break;
-    case Win_CS:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(WIN_CS_1);
-      }
-      return false;
-      break;
-    case Win_PS:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(WIN_PS_1);
-      }
-      return false;
-      break;
-    case IOS_CS:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(IOS_CS_1);
-      }
-      return false;
-      break;
-  }
-  return true;
-}
-
 // OLED Display
 #ifdef OLED_ENABLE
 bool oled_task_user(void) {
diff --git a/keyboards/planck/keymaps/default/keymap.c b/keyboards/planck/keymaps/default/keymap.c
index a1ad5c65d66a..cc8a69cecaa7 100644
--- a/keyboards/planck/keymaps/default/keymap.c
+++ b/keyboards/planck/keymaps/default/keymap.c
@@ -31,10 +31,7 @@ enum planck_layers {
 };
 
 enum planck_keycodes {
-  QWERTY = SAFE_RANGE,
-  COLEMAK,
-  DVORAK,
-  PLOVER,
+  PLOVER = SAFE_RANGE,
   BACKLIT,
   EXT_PLV
 };
@@ -42,6 +39,10 @@ enum planck_keycodes {
 #define LOWER MO(_LOWER)
 #define RAISE MO(_RAISE)
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 /* Qwerty
@@ -184,25 +185,6 @@ layer_state_t layer_state_set_user(layer_state_t state) {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   switch (keycode) {
-    case QWERTY:
-      if (record->event.pressed) {
-        print("mode just switched to qwerty and this is a huge string\n");
-        set_single_persistent_default_layer(_QWERTY);
-      }
-      return false;
-      break;
-    case COLEMAK:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_COLEMAK);
-      }
-      return false;
-      break;
-    case DVORAK:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_DVORAK);
-      }
-      return false;
-      break;
     case BACKLIT:
       if (record->event.pressed) {
         register_code(KC_RSFT);
diff --git a/keyboards/planck/rev7/keymaps/default/keymap.c b/keyboards/planck/rev7/keymaps/default/keymap.c
index 85f5097332c0..47ded8aba532 100644
--- a/keyboards/planck/rev7/keymaps/default/keymap.c
+++ b/keyboards/planck/rev7/keymaps/default/keymap.c
@@ -18,11 +18,15 @@
 
 enum planck_layers { _QWERTY, _COLEMAK, _DVORAK, _LOWER, _RAISE, _PLOVER, _ADJUST };
 
-enum planck_keycodes { QWERTY = SAFE_RANGE, COLEMAK, DVORAK, PLOVER, BACKLIT, EXT_PLV };
+enum planck_keycodes { PLOVER = SAFE_RANGE, BACKLIT, EXT_PLV };
 
 #define LOWER MO(_LOWER)
 #define RAISE MO(_RAISE)
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
 /* clang-format off */
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
@@ -230,25 +234,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     }
 #endif
     switch (keycode) {
-        case QWERTY:
-            if (record->event.pressed) {
-                print("mode just switched to qwerty and this is a huge string\n");
-                set_single_persistent_default_layer(_QWERTY);
-            }
-            return false;
-            break;
-        case COLEMAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_COLEMAK);
-            }
-            return false;
-            break;
-        case DVORAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_DVORAK);
-            }
-            return false;
-            break;
         case BACKLIT:
             if (record->event.pressed) {
                 register_code(KC_RSFT);
diff --git a/keyboards/preonic/keymaps/default/keymap.c b/keyboards/preonic/keymaps/default/keymap.c
index 511ac41f20c5..08e92ef0d31c 100644
--- a/keyboards/preonic/keymaps/default/keymap.c
+++ b/keyboards/preonic/keymaps/default/keymap.c
@@ -27,14 +27,15 @@ enum preonic_layers {
 };
 
 enum preonic_keycodes {
-  QWERTY = SAFE_RANGE,
-  COLEMAK,
-  DVORAK,
-  LOWER,
+  LOWER = SAFE_RANGE,
   RAISE,
   BACKLIT
 };
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 /* Qwerty
@@ -168,24 +169,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   switch (keycode) {
-        case QWERTY:
-          if (record->event.pressed) {
-            set_single_persistent_default_layer(_QWERTY);
-          }
-          return false;
-          break;
-        case COLEMAK:
-          if (record->event.pressed) {
-            set_single_persistent_default_layer(_COLEMAK);
-          }
-          return false;
-          break;
-        case DVORAK:
-          if (record->event.pressed) {
-            set_single_persistent_default_layer(_DVORAK);
-          }
-          return false;
-          break;
         case LOWER:
           if (record->event.pressed) {
             layer_on(_LOWER);
diff --git a/keyboards/rgbkb/zygomorph/keymaps/5x6pad/keymap.c b/keyboards/rgbkb/zygomorph/keymaps/5x6pad/keymap.c
index a7026b0d7799..24e578c02615 100644
--- a/keyboards/rgbkb/zygomorph/keymaps/5x6pad/keymap.c
+++ b/keyboards/rgbkb/zygomorph/keymaps/5x6pad/keymap.c
@@ -25,9 +25,7 @@ enum layer_number {
 };
 
 enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  MACROPAD,
-  FN,
+  FN = SAFE_RANGE,
   ADJ,
   BACKLIT,
   RGBRST
@@ -37,7 +35,8 @@ enum macro_keycodes {
   KC_SAMPLEMACRO,
 };
 
-
+#define QWERT PDF(_QWERTY)
+#define MACROPAD PDF(_MACROPAD)
 
 #define FN_ESC  LT(_FN, KC_ESC)
 #define FN_CAPS  LT(_FN, KC_CAPS)
@@ -109,18 +108,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   //uint8_t shifted = get_mods() & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT));
 
   switch (keycode) {
-    case QWERTY:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_QWERTY);
-      }
-      return false;
-      break;
-    case MACROPAD:
-      if(record->event.pressed) {
-        set_single_persistent_default_layer(_MACROPAD);
-      }
-      return false;
-      break;
     case FN:
       if (record->event.pressed) {
         //not sure how to have keyboard check mode and set it to a variable, so my work around
diff --git a/keyboards/rgbkb/zygomorph/keymaps/default/keymap.c b/keyboards/rgbkb/zygomorph/keymaps/default/keymap.c
index f8af28ffc86c..12e21e65db4d 100644
--- a/keyboards/rgbkb/zygomorph/keymaps/default/keymap.c
+++ b/keyboards/rgbkb/zygomorph/keymaps/default/keymap.c
@@ -17,15 +17,16 @@ enum layer_number {
 };
 
 enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  COLEMAK,
-  FN,
+  FN = SAFE_RANGE,
   ADJ,
   RGBRST
 };
 
 #define FN_CAPS  LT(_FN, KC_CAPS)
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   /*  / QWERTY \
    * /-----------------------------------------\  /-----------------------------------------\
@@ -131,16 +132,6 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   switch (keycode) {
-    case QWERTY:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_QWERTY);
-      }
-      return false;
-    case COLEMAK:
-      if(record->event.pressed) {
-        set_single_persistent_default_layer(_COLEMAK);
-      }
-      return false;
     case FN:
       if (record->event.pressed) {
         layer_on(_FN);
diff --git a/keyboards/rgbkb/zygomorph/keymaps/default_oled/keymap.c b/keyboards/rgbkb/zygomorph/keymaps/default_oled/keymap.c
index 4f2f6c9a4854..b5db1c37d3a0 100644
--- a/keyboards/rgbkb/zygomorph/keymaps/default_oled/keymap.c
+++ b/keyboards/rgbkb/zygomorph/keymaps/default_oled/keymap.c
@@ -17,15 +17,16 @@ enum layer_number {
 };
 
 enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  COLEMAK,
-  FN,
+  FN = SAFE_RANGE,
   ADJ,
   RGBRST
 };
 
 #define FN_CAPS  LT(_FN, KC_CAPS)
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   /*  / QWERTY \
    * /-----------------------------------------\  /-----------------------------------------\
@@ -131,16 +132,6 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   switch (keycode) {
-    case QWERTY:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_QWERTY);
-      }
-      return false;
-    case COLEMAK:
-      if(record->event.pressed) {
-        set_single_persistent_default_layer(_COLEMAK);
-      }
-      return false;
     case FN:
       if (record->event.pressed) {
         layer_on(_FN);
diff --git a/keyboards/satt/comet46/keymaps/default-rgbled/keymap.c b/keyboards/satt/comet46/keymaps/default-rgbled/keymap.c
index 225c3c8084ad..704eb2dd70b0 100644
--- a/keyboards/satt/comet46/keymaps/default-rgbled/keymap.c
+++ b/keyboards/satt/comet46/keymaps/default-rgbled/keymap.c
@@ -17,17 +17,13 @@ enum comet46_layers
   _ADJUST,
 };
 
-enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  COLEMAK,
-  DVORAK,
-  LOWER,
-  RAISE,
-};
-
 #define LOWER MO(_LOWER)
 #define RAISE MO(_RAISE)
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
   /* Qwerty
@@ -202,24 +198,3 @@ void matrix_scan_user(void) {
       break;
   }
 };
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-  switch (keycode) {
-    case QWERTY:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_QWERTY);
-      }
-      break;
-    case COLEMAK:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_COLEMAK);
-      }
-      break;
-    case DVORAK:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_DVORAK);
-      }
-      break;
-  }
-  return true;
-}
diff --git a/keyboards/satt/comet46/keymaps/default/keymap.c b/keyboards/satt/comet46/keymaps/default/keymap.c
index 84dd07f02a90..c8c58951c87d 100644
--- a/keyboards/satt/comet46/keymaps/default/keymap.c
+++ b/keyboards/satt/comet46/keymaps/default/keymap.c
@@ -18,17 +18,13 @@ enum comet46_layers
   _ADJUST,
 };
 
-enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  COLEMAK,
-  DVORAK,
-  LOWER,
-  RAISE,
-};
-
 #define LOWER MO(_LOWER)
 #define RAISE MO(_RAISE)
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
   /* Qwerty
@@ -207,22 +203,5 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
       set_keylog(keycode);
     }
   #endif
-  switch (keycode) {
-    case QWERTY:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_QWERTY);
-      }
-      break;
-    case COLEMAK:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_COLEMAK);
-      }
-      break;
-    case DVORAK:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_DVORAK);
-      }
-      break;
-  }
   return true;
 }
diff --git a/keyboards/sofle/keymaps/default/keymap.c b/keyboards/sofle/keymaps/default/keymap.c
index 37996c3e4135..564a624c58b1 100644
--- a/keyboards/sofle/keymaps/default/keymap.c
+++ b/keyboards/sofle/keymaps/default/keymap.c
@@ -12,14 +12,15 @@ enum sofle_layers {
 };
 
 enum custom_keycodes {
-    KC_QWERTY = QK_USER,
-    KC_COLEMAK,
-    KC_PRVWD,
+    KC_PRVWD = QK_USER,
     KC_NXTWD,
     KC_LSTRT,
     KC_LEND
 };
 
+#define KC_QWERTY PDF(_QWERTY)
+#define KC_COLEMAK PDF(_COLEMAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 /*
  * QWERTY
@@ -134,16 +135,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     switch (keycode) {
-        case KC_QWERTY:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_QWERTY);
-            }
-            return false;
-        case KC_COLEMAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_COLEMAK);
-            }
-            return false;
         case KC_PRVWD:
             if (record->event.pressed) {
                 if (keymap_config.swap_lctl_lgui) {
diff --git a/keyboards/sofle/keymaps/rgb_default/keymap.c b/keyboards/sofle/keymaps/rgb_default/keymap.c
index fd2346e10b13..e992cf9adb22 100644
--- a/keyboards/sofle/keymaps/rgb_default/keymap.c
+++ b/keyboards/sofle/keymaps/rgb_default/keymap.c
@@ -76,15 +76,16 @@ enum sofle_layers {
 };
 
 enum custom_keycodes {
-    KC_QWERTY = SAFE_RANGE,
-    KC_COLEMAK,
-	  KC_COLEMAKDH,
-    KC_LOWER,
+    KC_LOWER = SAFE_RANGE,
     KC_RAISE,
     KC_ADJUST,
     KC_D_MUTE
 };
 
+#define KC_QWERTY PDF(_QWERTY)
+#define KC_COLEMAK PDF(_COLEMAK)
+#define KC_COLEMAKDH PDF(_COLEMAKDH)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 /*
  * QWERTY
@@ -478,21 +479,6 @@ bool oled_task_user(void) {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     switch (keycode) {
-        case KC_QWERTY:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_QWERTY);
-            }
-            return false;
-        case KC_COLEMAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_COLEMAK);
-            }
-            return false;
-        case KC_COLEMAKDH:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_COLEMAKDH);
-            }
-            return false;
         case KC_LOWER:
             if (record->event.pressed) {
                 layer_on(_LOWER);
diff --git a/keyboards/subatomic/keymaps/default/keymap.c b/keyboards/subatomic/keymaps/default/keymap.c
index 9d579ac937d0..fb85228fd820 100644
--- a/keyboards/subatomic/keymaps/default/keymap.c
+++ b/keyboards/subatomic/keymaps/default/keymap.c
@@ -14,14 +14,15 @@ enum layer_names {
 };
 
 enum subatomic_keycodes {
-  QWERTY = SAFE_RANGE,
-  COLEMAK,
-  DVORAK,
-  LOWER,
+  LOWER = SAFE_RANGE,
   RAISE,
   BACKLIT
 };
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
   /* Qwerty
@@ -154,24 +155,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   switch (keycode) {
-        case QWERTY:
-          if (record->event.pressed) {
-            set_single_persistent_default_layer(_QWERTY);
-          }
-          return false;
-          break;
-        case COLEMAK:
-          if (record->event.pressed) {
-            set_single_persistent_default_layer(_COLEMAK);
-          }
-          return false;
-          break;
-        case DVORAK:
-          if (record->event.pressed) {
-            set_single_persistent_default_layer(_DVORAK);
-          }
-          return false;
-          break;
         case LOWER:
           if (record->event.pressed) {
             layer_on(_LOWER);
diff --git a/keyboards/thevankeyboards/minivan/keymaps/default/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/default/keymap.c
index fadf9990cd95..221c66750aca 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/default/keymap.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/default/keymap.c
@@ -18,11 +18,9 @@
 #define L_CURBR LSFT(KC_LBRC)
 #define R_CURBR LSFT(KC_RBRC)
 
-enum custom_keycodes {
-  DVORAK = SAFE_RANGE,
-  QWERTY,
-  COLEMAK
-};
+#define QWERTY PDF(_QW)
+#define COLEMAK PDF(_CM)
+#define DVORAK PDF(_DV)
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   [_QW] = LAYOUT( /* Qwerty */
@@ -62,26 +60,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     _______, KC_LSFT, KC_B,                      KC_SPC,  KC_C,                      _______, _______, _______
   )
 };
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-      switch(keycode) {
-        case DVORAK:
-          if (record->event.pressed) {
-            set_single_persistent_default_layer(_DV);
-          }
-          return false;
-        case QWERTY:
-          if (record->event.pressed) {
-            set_single_persistent_default_layer(_QW);
-          }
-          return false;
-        case COLEMAK:
-          if (record->event.pressed) {
-            set_single_persistent_default_layer(_CM);
-          }
-          return false;
-        default:
-          return true;
-      }
-    return true;
-};
diff --git a/keyboards/tkw/grandiceps/keymaps/default/keymap.c b/keyboards/tkw/grandiceps/keymaps/default/keymap.c
index 7c2cd095062c..eb9ca693535a 100644
--- a/keyboards/tkw/grandiceps/keymaps/default/keymap.c
+++ b/keyboards/tkw/grandiceps/keymaps/default/keymap.c
@@ -26,9 +26,7 @@ enum grandiceps_layers {
 };
 
 enum custom_keycodes {
-    KC_QWERTY = SAFE_RANGE,
-    KC_COLEMAK,
-    KC_LOWER,
+    KC_LOWER = SAFE_RANGE,
     KC_RAISE,
     KC_ADJUST,
     KC_PRVWD,
@@ -39,7 +37,8 @@ enum custom_keycodes {
     KC_TEAMS
 };
 
-
+#define KC_QWERTY PDF(_QWERTY)
+#define KC_COLEMAK PDF(_COLEMAK)
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 /*
@@ -154,19 +153,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 };
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-
-
     switch (keycode) {
-        case KC_QWERTY:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_QWERTY);
-            }
-            return false;
-        case KC_COLEMAK:
-            if (record->event.pressed) {
-                set_single_persistent_default_layer(_COLEMAK);
-            }
-            return false;
         case KC_LOWER:
             if (record->event.pressed) {
                 layer_on(_LOWER);
diff --git a/keyboards/vitamins_included/keymaps/default/keymap.c b/keyboards/vitamins_included/keymaps/default/keymap.c
index 1d282e1d86f1..268226ae1c94 100644
--- a/keyboards/vitamins_included/keymaps/default/keymap.c
+++ b/keyboards/vitamins_included/keymaps/default/keymap.c
@@ -10,14 +10,15 @@ enum layer_names {
 };
 
 enum custom_keycodes {
-  QWERTY = SAFE_RANGE,
-  COLEMAK,
-  DVORAK,
-  LOWER,
+  LOWER = SAFE_RANGE,
   RAISE,
   ADJUST
 };
 
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 /* Qwerty
@@ -134,24 +135,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   switch (keycode) {
-    case QWERTY:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_QWERTY);
-      }
-      return false;
-      break;
-    case COLEMAK:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_COLEMAK);
-      }
-      return false;
-      break;
-    case DVORAK:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_DVORAK);
-      }
-      return false;
-      break;
     case LOWER:
       if (record->event.pressed) {
         layer_on(_LOWER);
diff --git a/keyboards/waldo/keymaps/default_split_shft_bck/keymap.c b/keyboards/waldo/keymaps/default_split_shft_bck/keymap.c
index 4972754d2801..1f49641e7cc1 100644
--- a/keyboards/waldo/keymaps/default_split_shft_bck/keymap.c
+++ b/keyboards/waldo/keymaps/default_split_shft_bck/keymap.c
@@ -24,8 +24,7 @@ enum waldo_layers {
 };
 
 enum waldo_keycodes {
-  QWERTY = SAFE_RANGE,
-  BACKLIT
+  BACKLIT = SAFE_RANGE,
 };
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -78,12 +77,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   switch (keycode) {
-    case QWERTY:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_QWERTY);
-      }
-      return false;
-      break;
     case BACKLIT:
       if (record->event.pressed) {
         #ifdef BACKLIGHT_ENABLE