summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--data/constants/keycodes/keycodes_0.0.2_basic.hjson20
-rw-r--r--docs/keycodes.md2
-rw-r--r--docs/keycodes_basic.md62
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c21
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/macos/keymap.c21
-rw-r--r--keyboards/keebio/sinc/keymaps/lickel/keymap.c33
-rw-r--r--keyboards/keychron/common/keychron_common.c14
-rw-r--r--keyboards/keychron/common/keychron_common.h8
-rw-r--r--keyboards/keychron/q1/ansi/keymaps/gtg465x/keymap.c32
-rw-r--r--keyboards/keychron/q1/ansi/keymaps/mkillewald/keymap.c22
-rw-r--r--keyboards/keychron/q1/ansi/keymaps/teimor/keymap.c28
-rw-r--r--keyboards/keychron/q1/iso/keymaps/mkillewald_iso/keymap.c22
-rw-r--r--keyboards/keychron/q2/ansi/keymaps/ladduro/keymap.c28
-rw-r--r--keyboards/keychron/q2/ansi/keymaps/via/keymap.c4
-rw-r--r--keyboards/yandrstudio/wave75/wave75.c14
-rw-r--r--keyboards/yandrstudio/wave75/wave75.h6
-rw-r--r--keyboards/yandrstudio/yr6095/yr6095.c14
-rw-r--r--keyboards/yandrstudio/yr6095/yr6095.h6
-rw-r--r--keyboards/yandrstudio/yr80/yr80.c14
-rw-r--r--keyboards/yandrstudio/yr80/yr80.h6
-rw-r--r--quantum/keycodes.h6
-rw-r--r--tests/test_common/keycode_table.cpp2
-rw-r--r--tmk_core/protocol/report.h8
23 files changed, 76 insertions, 317 deletions
diff --git a/data/constants/keycodes/keycodes_0.0.2_basic.hjson b/data/constants/keycodes/keycodes_0.0.2_basic.hjson
new file mode 100644
index 0000000000..2b5df85d99
--- /dev/null
+++ b/data/constants/keycodes/keycodes_0.0.2_basic.hjson
@@ -0,0 +1,20 @@
+{
+    "keycodes": {
+        "0x00C1": {
+            "group": "media",
+            "key": "KC_MISSION_CONTROL",
+            "label": "Open Mission Control",
+            "aliases": [
+                "KC_MCTL"
+            ]
+        },
+        "0x00C2": {
+            "group": "media",
+            "key": "KC_LAUNCHPAD",
+            "label": "Open Launchpad",
+            "aliases": [
+                "KC_LPAD"
+            ]
+        }
+    }
+}
\ No newline at end of file
diff --git a/docs/keycodes.md b/docs/keycodes.md
index b3be0847e8..7fd76db648 100644
--- a/docs/keycodes.md
+++ b/docs/keycodes.md
@@ -209,6 +209,8 @@ See also: [Basic Keycodes](keycodes_basic.md)
 |`KC_BRIGHTNESS_DOWN`    |`KC_BRID`                      |Brightness Down                        |✔            |✔            |✔                |
 |`KC_CONTROL_PANEL`      |`KC_CPNL`                      |Open Control Panel                     |✔            |             |                 |
 |`KC_ASSISTANT`          |`KC_ASST`                      |Launch Context-Aware Assistant         |✔            |             |                 |
+|`KC_MISSION_CONTROL`    |`KC_MCTL`                      |Open Mission Control                   |             |✔            |                 |
+|`KC_LAUNCHPAD`          |`KC_LPAD`                      |Open Launchpad                         |             |✔            |                 |
 
 <sup>1. The Linux kernel HID driver recognizes [nearly all keycodes](https://github.com/torvalds/linux/blob/master/drivers/hid/hid-input.c), but the default bindings depend on the DE/WM.</sup><br/>
 <sup>2. Treated as F13-F15.</sup><br/>
diff --git a/docs/keycodes_basic.md b/docs/keycodes_basic.md
index d2a49100d1..c95accd79e 100644
--- a/docs/keycodes_basic.md
+++ b/docs/keycodes_basic.md
@@ -193,36 +193,38 @@ These keycodes are not part of the Keyboard/Keypad usage page. The `SYSTEM_` key
 
 ?> Some of these keycodes may behave differently depending on the OS. For example, on macOS, the keycodes `KC_MEDIA_FAST_FORWARD`, `KC_MEDIA_REWIND`, `KC_MEDIA_NEXT_TRACK` and `KC_MEDIA_PREV_TRACK` skip within the current track when held, but skip the entire track when tapped.
 
-|Key                    |Aliases  |Description        |
-|-----------------------|---------|-------------------|
-|`KC_SYSTEM_POWER`      |`KC_PWR` |System Power Down  |
-|`KC_SYSTEM_SLEEP`      |`KC_SLEP`|System Sleep       |
-|`KC_SYSTEM_WAKE`       |`KC_WAKE`|System Wake        |
-|`KC_AUDIO_MUTE`        |`KC_MUTE`|Mute               |
-|`KC_AUDIO_VOL_UP`      |`KC_VOLU`|Volume Up          |
-|`KC_AUDIO_VOL_DOWN`    |`KC_VOLD`|Volume Down        |
-|`KC_MEDIA_NEXT_TRACK`  |`KC_MNXT`|Next Track         |
-|`KC_MEDIA_PREV_TRACK`  |`KC_MPRV`|Previous Track     |
-|`KC_MEDIA_STOP`        |`KC_MSTP`|Stop Track         |
-|`KC_MEDIA_PLAY_PAUSE`  |`KC_MPLY`|Play/Pause Track   |
-|`KC_MEDIA_SELECT`      |`KC_MSEL`|Launch Media Player|
-|`KC_MEDIA_EJECT`       |`KC_EJCT`|Eject              |
-|`KC_MAIL`              |         |Launch Mail        |
-|`KC_CALCULATOR`        |`KC_CALC`|Launch Calculator  |
-|`KC_MY_COMPUTER`       |`KC_MYCM`|Launch My Computer |
-|`KC_WWW_SEARCH`        |`KC_WSCH`|Browser Search     |
-|`KC_WWW_HOME`          |`KC_WHOM`|Browser Home       |
-|`KC_WWW_BACK`          |`KC_WBAK`|Browser Back       |
-|`KC_WWW_FORWARD`       |`KC_WFWD`|Browser Forward    |
-|`KC_WWW_STOP`          |`KC_WSTP`|Browser Stop       |
-|`KC_WWW_REFRESH`       |`KC_WREF`|Browser Refresh    |
-|`KC_WWW_FAVORITES`     |`KC_WFAV`|Browser Favorites  |
-|`KC_MEDIA_FAST_FORWARD`|`KC_MFFD`|Next Track         |
-|`KC_MEDIA_REWIND`      |`KC_MRWD`|Previous Track     |
-|`KC_BRIGHTNESS_UP`     |`KC_BRIU`|Brightness Up      |
-|`KC_BRIGHTNESS_DOWN`   |`KC_BRID`|Brightness Down    |
-|`KC_CONTROL_PANEL`     |`KC_CPNL`|Open Control Panel |
-|`KC_ASSISTANT`         |`KC_ASST`|Launch Assistant   |
+|Key                    |Aliases  |Description         |
+|-----------------------|---------|--------------------|
+|`KC_SYSTEM_POWER`      |`KC_PWR` |System Power Down   |
+|`KC_SYSTEM_SLEEP`      |`KC_SLEP`|System Sleep        |
+|`KC_SYSTEM_WAKE`       |`KC_WAKE`|System Wake         |
+|`KC_AUDIO_MUTE`        |`KC_MUTE`|Mute                |
+|`KC_AUDIO_VOL_UP`      |`KC_VOLU`|Volume Up           |
+|`KC_AUDIO_VOL_DOWN`    |`KC_VOLD`|Volume Down         |
+|`KC_MEDIA_NEXT_TRACK`  |`KC_MNXT`|Next Track          |
+|`KC_MEDIA_PREV_TRACK`  |`KC_MPRV`|Previous Track      |
+|`KC_MEDIA_STOP`        |`KC_MSTP`|Stop Track          |
+|`KC_MEDIA_PLAY_PAUSE`  |`KC_MPLY`|Play/Pause Track    |
+|`KC_MEDIA_SELECT`      |`KC_MSEL`|Launch Media Player |
+|`KC_MEDIA_EJECT`       |`KC_EJCT`|Eject               |
+|`KC_MAIL`              |         |Launch Mail         |
+|`KC_CALCULATOR`        |`KC_CALC`|Launch Calculator   |
+|`KC_MY_COMPUTER`       |`KC_MYCM`|Launch My Computer  |
+|`KC_WWW_SEARCH`        |`KC_WSCH`|Browser Search      |
+|`KC_WWW_HOME`          |`KC_WHOM`|Browser Home        |
+|`KC_WWW_BACK`          |`KC_WBAK`|Browser Back        |
+|`KC_WWW_FORWARD`       |`KC_WFWD`|Browser Forward     |
+|`KC_WWW_STOP`          |`KC_WSTP`|Browser Stop        |
+|`KC_WWW_REFRESH`       |`KC_WREF`|Browser Refresh     |
+|`KC_WWW_FAVORITES`     |`KC_WFAV`|Browser Favorites   |
+|`KC_MEDIA_FAST_FORWARD`|`KC_MFFD`|Next Track          |
+|`KC_MEDIA_REWIND`      |`KC_MRWD`|Previous Track      |
+|`KC_BRIGHTNESS_UP`     |`KC_BRIU`|Brightness Up       |
+|`KC_BRIGHTNESS_DOWN`   |`KC_BRID`|Brightness Down     |
+|`KC_CONTROL_PANEL`     |`KC_CPNL`|Open Control Panel  |
+|`KC_ASSISTANT`         |`KC_ASST`|Launch Assistant    |
+|`KC_MISSION_CONTROL`   |`KC_MCTL`|Open Mission Control|
+|`KC_LAUNCHPAD`         |`KC_LPAD`|Open Launchpad      |
 
 ## Number Pad
 
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c
index c7c183e33c..f803b44abb 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c
@@ -24,15 +24,8 @@ enum layers {
     MAC_FN
 };
 
-enum custom_keycodes {
-    KC_MISSION_CONTROL = SAFE_RANGE,
-    KC_LAUNCHPAD
-};
-
 #define KC_TASK LGUI(KC_TAB)
 #define KC_FLXP LGUI(KC_E)
-#define KC_MCTL KC_MISSION_CONTROL
-#define KC_LPAD KC_LAUNCHPAD
 #define TO_WINB TO(WIN_BASE)
 #define TO_MACB TO(MAC_BASE)
 #define MO_WINF MO(WIN_FN)
@@ -174,20 +167,6 @@ bool led_update_user(led_t led_state) {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     switch (keycode) {
-        case KC_MISSION_CONTROL:
-            if (record->event.pressed) {
-                host_consumer_send(0x29F);
-            } else {
-                host_consumer_send(0);
-            }
-            return false;  // Skip all further processing of this key
-        case KC_LAUNCHPAD:
-            if (record->event.pressed) {
-                host_consumer_send(0x2A0);
-            } else {
-                host_consumer_send(0);
-            }
-            return false;  // Skip all further processing of this key
     #ifdef RGB_MATRIX_ENABLE
     #ifdef NKRO_ENABLE
         case NK_TOGG:
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/keymap.c
index 50a2ac6ca3..60bd53f407 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/keymap.c
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/keymap.c
@@ -23,9 +23,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include QMK_KEYBOARD_H
 
 enum my_keycodes {
-  KC_MSCTRL = SAFE_RANGE,
-  KC_LNPD,
-  LED_TLDE,
+  LED_TLDE = SAFE_RANGE,
   LED_1,
   LED_2,
   LED_3,
@@ -209,23 +207,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
   bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     switch (keycode) {
-      // https://github.com/qmk/qmk_firmware/issues/10111
-      case KC_MSCTRL:
-        if (record->event.pressed) {
-          host_consumer_send(0x29F);
-        } else {
-          host_consumer_send(0);
-        }
-        return false; /* Skip all further processing of this key */
-
-      case KC_LNPD:
-        if (record->event.pressed) {
-          host_consumer_send(0x2A0);
-        } else {
-          host_consumer_send(0);
-        }
-        return false; /* Skip all further processing of this key */
-
       #ifdef NKRO_ENABLE
         #if RGB_CONFIRMATION_BLINKING_TIME > 0
           case NK_TOGG:
diff --git a/keyboards/keebio/sinc/keymaps/lickel/keymap.c b/keyboards/keebio/sinc/keymaps/lickel/keymap.c
index 11656a755c..22636f7176 100644
--- a/keyboards/keebio/sinc/keymaps/lickel/keymap.c
+++ b/keyboards/keebio/sinc/keymaps/lickel/keymap.c
@@ -16,18 +16,6 @@
 
 #include QMK_KEYBOARD_H
 
-enum custom_keycodes {
-#ifdef VIA_ENABLE
-    KC_MISSION_CONTROL = USER00,
-#else
-    KC_MISSION_CONTROL = SAFE_RANGE,
-#endif
-    KC_LAUNCHPAD
-};
-
-#define KC_MCTL KC_MISSION_CONTROL
-#define KC_LPAD KC_LAUNCHPAD
-
 // clang-format off
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -75,24 +63,3 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
 	[3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
 };
 #endif
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-    switch (keycode) {
-        case KC_MISSION_CONTROL:
-            if (record->event.pressed) {
-                host_consumer_send(0x29F);
-            } else {
-                host_consumer_send(0);
-            }
-            return false;
-        case KC_LAUNCHPAD:
-            if (record->event.pressed) {
-                host_consumer_send(0x2A0);
-            } else {
-                host_consumer_send(0);
-            }
-            return false;
-        default:
-            return true;
-    }
-}
diff --git a/keyboards/keychron/common/keychron_common.c b/keyboards/keychron/common/keychron_common.c
index d3c1294fe9..a04f3b7264 100644
--- a/keyboards/keychron/common/keychron_common.c
+++ b/keyboards/keychron/common/keychron_common.c
@@ -41,20 +41,6 @@ void housekeeping_task_keychron(void) {
 
 bool process_record_keychron(uint16_t keycode, keyrecord_t *record) {
     switch (keycode) {
-        case KC_MISSION_CONTROL:
-            if (record->event.pressed) {
-                host_consumer_send(0x29F);
-            } else {
-                host_consumer_send(0);
-            }
-            return false;  // Skip all further processing of this key
-        case KC_LAUNCHPAD:
-            if (record->event.pressed) {
-                host_consumer_send(0x2A0);
-            } else {
-                host_consumer_send(0);
-            }
-            return false;  // Skip all further processing of this key
         case KC_LOPTN:
         case KC_ROPTN:
         case KC_LCMMD:
diff --git a/keyboards/keychron/common/keychron_common.h b/keyboards/keychron/common/keychron_common.h
index 543baf9c94..9f943b8986 100644
--- a/keyboards/keychron/common/keychron_common.h
+++ b/keyboards/keychron/common/keychron_common.h
@@ -22,12 +22,10 @@
 
 enum custom_keycodes {
 #ifdef VIA_ENABLE
-    KC_MISSION_CONTROL = USER00,
+    KC_LOPTN = USER00,
 #else
-    KC_MISSION_CONTROL = SAFE_RANGE,
+    KC_LOPTN = SAFE_RANGE,
 #endif
-    KC_LAUNCHPAD,
-    KC_LOPTN,
     KC_ROPTN,
     KC_LCMMD,
     KC_RCMMD,
@@ -38,8 +36,6 @@ enum custom_keycodes {
     KC_CORTANA
 };
 
-#define KC_MCTL KC_MISSION_CONTROL
-#define KC_LPAD KC_LAUNCHPAD
 #define KC_TASK KC_TASK_VIEW
 #define KC_FLXP KC_FILE_EXPLORER
 #define KC_SNAP KC_SCREEN_SHOT
diff --git a/keyboards/keychron/q1/ansi/keymaps/gtg465x/keymap.c b/keyboards/keychron/q1/ansi/keymaps/gtg465x/keymap.c
index 7f806f6b45..8da475c3c6 100644
--- a/keyboards/keychron/q1/ansi/keymaps/gtg465x/keymap.c
+++ b/keyboards/keychron/q1/ansi/keymaps/gtg465x/keymap.c
@@ -22,17 +22,6 @@
 
 // clang-format off
 
-enum custom_keycodes {
-#ifdef VIA_ENABLE
-    KC_MISSION_CONTROL = USER00,
-#else
-    KC_MISSION_CONTROL = SAFE_RANGE,
-#endif
-    KC_LAUNCHPAD
-};
-
-#define KC_MCTL KC_MISSION_CONTROL
-#define KC_LPAD KC_LAUNCHPAD
 #define KC_TASK LGUI(KC_TAB)
 #define KC_FLXP LGUI(KC_E)
 
@@ -79,24 +68,3 @@ void matrix_init_user(void) {
     rgb_matrix_init_user();
 #endif
 }
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-    switch (keycode) {
-        case KC_MISSION_CONTROL:
-            if (record->event.pressed) {
-                host_consumer_send(0x29F);
-            } else {
-                host_consumer_send(0);
-            }
-            return false;  // Skip all further processing of this key
-        case KC_LAUNCHPAD:
-            if (record->event.pressed) {
-                host_consumer_send(0x2A0);
-            } else {
-                host_consumer_send(0);
-            }
-            return false;  // Skip all further processing of this key
-        default:
-            return true;  // Process all other keycodes normally
-    }
-}
diff --git a/keyboards/keychron/q1/ansi/keymaps/mkillewald/keymap.c b/keyboards/keychron/q1/ansi/keymaps/mkillewald/keymap.c
index 937b20ee10..0c198180d4 100644
--- a/keyboards/keychron/q1/ansi/keymaps/mkillewald/keymap.c
+++ b/keyboards/keychron/q1/ansi/keymaps/mkillewald/keymap.c
@@ -36,19 +36,15 @@ user_config_t user_config;
 
 enum custom_keycodes {
 #ifdef VIA_ENABLE
-    KC_MISSION_CONTROL = USER00,
+    KC_LIGHT_TAB_TOGGLE = USER00,
 #else
-    KC_MISSION_CONTROL = SAFE_RANGE,
+    KC_LIGHT_TAB_TOGGLE = SAFE_RANGE,
 #endif
-    KC_LAUNCHPAD,
-    KC_LIGHT_TAB_TOGGLE,
     KC_LIGHT_ALPHAS_TOGGLE,
     KC_FN_LAYER_TRANSPARENT_KEYS_TOGGLE,
     KC_FN_LAYER_COLOR_TOGGLE
 };
 
-#define KC_MCTL KC_MISSION_CONTROL
-#define KC_LPAD KC_LAUNCHPAD
 #define KC_LTTOG KC_LIGHT_TAB_TOGGLE
 #define KC_LATOG KC_LIGHT_ALPHAS_TOGGLE
 #define KC_TKTOG KC_FN_LAYER_TRANSPARENT_KEYS_TOGGLE
@@ -115,20 +111,6 @@ void eeconfig_init_user(void) {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     switch (keycode) {
-        case KC_MISSION_CONTROL:
-            if (record->event.pressed) {
-                host_consumer_send(0x29F);
-            } else {
-                host_consumer_send(0);
-            }
-            return false;  // Skip all further processing of this key
-        case KC_LAUNCHPAD:
-            if (record->event.pressed) {
-                host_consumer_send(0x2A0);
-            } else {
-                host_consumer_send(0);
-            }
-            return false;  // Skip all further processing of this key
         case KC_LIGHT_TAB_TOGGLE:
             if (record->event.pressed) {
                 user_config.caps_lock_light_tab ^= 1; // bitwise xor to toggle status bit
diff --git a/keyboards/keychron/q1/ansi/keymaps/teimor/keymap.c b/keyboards/keychron/q1/ansi/keymaps/teimor/keymap.c
index 3a0cddab7c..7bf1721514 100644
--- a/keyboards/keychron/q1/ansi/keymaps/teimor/keymap.c
+++ b/keyboards/keychron/q1/ansi/keymaps/teimor/keymap.c
@@ -22,13 +22,6 @@
 
 // clang-format off
 
-enum custom_keycodes {
-    KC_MISSION_CONTROL = USER00,
-    KC_LAUNCHPAD,
-};
-
-#define KC_MCTL KC_MISSION_CONTROL
-#define KC_LPAD KC_LAUNCHPAD
 #define TG_NKRO MAGIC_TOGGLE_NKRO
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -72,24 +65,3 @@ void matrix_init_user(void) {
     rgb_matrix_init_user();
 #endif
 }
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-    switch (keycode) {
-        case KC_MISSION_CONTROL:
-            if (record->event.pressed) {
-                host_consumer_send(0x29F);
-            } else {
-                host_consumer_send(0);
-            }
-            return false;  // Skip all further processing of this key
-        case KC_LAUNCHPAD:
-            if (record->event.pressed) {
-                host_consumer_send(0x2A0);
-            } else {
-                host_consumer_send(0);
-            }
-            return false;  // Skip all further processing of this key
-        default:
-            return true;  // Process all other keycodes normally
-    }
-}
diff --git a/keyboards/keychron/q1/iso/keymaps/mkillewald_iso/keymap.c b/keyboards/keychron/q1/iso/keymaps/mkillewald_iso/keymap.c
index c62d065ef7..e6457b0208 100644
--- a/keyboards/keychron/q1/iso/keymaps/mkillewald_iso/keymap.c
+++ b/keyboards/keychron/q1/iso/keymaps/mkillewald_iso/keymap.c
@@ -36,19 +36,15 @@ user_config_t user_config;
 
 enum custom_keycodes {
 #ifdef VIA_ENABLE
-    KC_MISSION_CONTROL = USER00,
+    KC_LIGHT_TAB_TOGGLE = USER00,
 #else
-    KC_MISSION_CONTROL = SAFE_RANGE,
+    KC_LIGHT_TAB_TOGGLE = SAFE_RANGE,
 #endif
-    KC_LAUNCHPAD,
-    KC_LIGHT_TAB_TOGGLE,
     KC_LIGHT_ALPHAS_TOGGLE,
     KC_FN_LAYER_TRANSPARENT_KEYS_TOGGLE,
     KC_FN_LAYER_COLOR_TOGGLE
 };
 
-#define KC_MCTL KC_MISSION_CONTROL
-#define KC_LPAD KC_LAUNCHPAD
 #define KC_LTTOG KC_LIGHT_TAB_TOGGLE
 #define KC_LATOG KC_LIGHT_ALPHAS_TOGGLE
 #define KC_TKTOG KC_FN_LAYER_TRANSPARENT_KEYS_TOGGLE
@@ -115,20 +111,6 @@ void eeconfig_init_user(void) {
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     switch (keycode) {
-        case KC_MISSION_CONTROL:
-            if (record->event.pressed) {
-                host_consumer_send(0x29F);
-            } else {
-                host_consumer_send(0);
-            }
-            return false;  // Skip all further processing of this key
-        case KC_LAUNCHPAD:
-            if (record->event.pressed) {
-                host_consumer_send(0x2A0);
-            } else {
-                host_consumer_send(0);
-            }
-            return false;  // Skip all further processing of this key
         case KC_LIGHT_TAB_TOGGLE:
             if (record->event.pressed) {
                 user_config.caps_lock_light_tab ^= 1; // bitwise xor to toggle status bit
diff --git a/keyboards/keychron/q2/ansi/keymaps/ladduro/keymap.c b/keyboards/keychron/q2/ansi/keymaps/ladduro/keymap.c
index cc83640b39..55ee7a9732 100644
--- a/keyboards/keychron/q2/ansi/keymaps/ladduro/keymap.c
+++ b/keyboards/keychron/q2/ansi/keymaps/ladduro/keymap.c
@@ -20,16 +20,9 @@
 #    include "rgb_matrix_user.h"
 #endif
 
-enum custom_keycodes {
-    KC_MISSION_CONTROL = SAFE_RANGE,
-    KC_LAUNCHPAD
-};
-
 #define KC_WAVE S(KC_GRV)
 #define KC_TASK LGUI(KC_TAB)
 #define KC_FLXP LGUI(KC_E)
-#define KC_MCTL KC_MISSION_CONTROL
-#define KC_LPAD KC_LAUNCHPAD
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     [MAC_BASE] = LAYOUT_ansi_67(
@@ -73,24 +66,3 @@ void matrix_init_user(void) {
     rgb_matrix_init_user();
 #endif
 }
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-    switch (keycode) {
-        case KC_MISSION_CONTROL:
-            if (record->event.pressed) {
-                host_consumer_send(0x29F);
-            } else {
-                host_consumer_send(0);
-            }
-            return false;  // Skip all further processing of this key
-        case KC_LAUNCHPAD:
-            if (record->event.pressed) {
-                host_consumer_send(0x2A0);
-            } else {
-                host_consumer_send(0);
-            }
-            return false;  // Skip all further processing of this key
-        default:
-            return true;  // Process all other keycodes normally
-    }
-}
diff --git a/keyboards/keychron/q2/ansi/keymaps/via/keymap.c b/keyboards/keychron/q2/ansi/keymaps/via/keymap.c
index f1b6b66ff8..a80ca64630 100644
--- a/keyboards/keychron/q2/ansi/keymaps/via/keymap.c
+++ b/keyboards/keychron/q2/ansi/keymaps/via/keymap.c
@@ -25,9 +25,7 @@ enum layers{
 };
 
 enum custom_keycodes {
-    KC_MISSION_CONTROL = USER00,
-    KC_LAUNCHPAD,
-    KC_TASK,
+    KC_TASK = USER00,
     KC_FLXP
 };
 
diff --git a/keyboards/yandrstudio/wave75/wave75.c b/keyboards/yandrstudio/wave75/wave75.c
index cc58a1d43e..4e0d748c23 100644
--- a/keyboards/yandrstudio/wave75/wave75.c
+++ b/keyboards/yandrstudio/wave75/wave75.c
@@ -28,20 +28,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
                 process_magic(CG_TOGG, record);
             }
             return false;
-        case KC_MCTL:
-            if (record->event.pressed) {
-                host_consumer_send(0x29F);
-            } else {
-                host_consumer_send(0);
-            }
-            return false;
-        case KC_LPAD:
-            if (record->event.pressed) {
-                host_consumer_send(0x2A0);
-            } else {
-                host_consumer_send(0);
-            }
-            return false;
         default:
             return true;
     }
diff --git a/keyboards/yandrstudio/wave75/wave75.h b/keyboards/yandrstudio/wave75/wave75.h
index f0d041241a..209a044466 100644
--- a/keyboards/yandrstudio/wave75/wave75.h
+++ b/keyboards/yandrstudio/wave75/wave75.h
@@ -37,19 +37,13 @@ enum keyboard_keycodes {
 #ifdef VIA_ENABLE
     LOCK_GUI = USER00,
     TOG_MACOS_KEYMAP,
-    KC_MISSION_CONTROL,
-    KC_LAUNCHPAD,
     NEW_SAFE_RANGE = SAFE_RANGE  // Important!
 #else
     LOCK_GUI = SAFE_RANGE,
     TOG_MACOS_KEYMAP,
-    KC_MISSION_CONTROL,
-    KC_LAUNCHPAD,
     NEW_SAFE_RANGE   // Important!
 #endif
 };
 
 #define KC_LG    LOCK_GUI
 #define KC_MACOS TOG_MACOS_KEYMAP
-#define KC_MCTL  KC_MISSION_CONTROL
-#define KC_LPAD  KC_LAUNCHPAD
diff --git a/keyboards/yandrstudio/yr6095/yr6095.c b/keyboards/yandrstudio/yr6095/yr6095.c
index c0a2c94cc2..3ce43eb297 100644
--- a/keyboards/yandrstudio/yr6095/yr6095.c
+++ b/keyboards/yandrstudio/yr6095/yr6095.c
@@ -57,20 +57,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
                 process_magic(CG_TOGG, record);
             }
             return false;
-        case KC_MCTL:
-            if (record->event.pressed) {
-                host_consumer_send(0x29F);
-            } else {
-                host_consumer_send(0);
-            }
-            return false;
-        case KC_LPAD:
-            if (record->event.pressed) {
-                host_consumer_send(0x2A0);
-            } else {
-                host_consumer_send(0);
-            }
-            return false;
         default:
             return true;
     }
diff --git a/keyboards/yandrstudio/yr6095/yr6095.h b/keyboards/yandrstudio/yr6095/yr6095.h
index 37b4412aaa..f21ee93634 100644
--- a/keyboards/yandrstudio/yr6095/yr6095.h
+++ b/keyboards/yandrstudio/yr6095/yr6095.h
@@ -62,19 +62,13 @@ enum keyboard_keycodes {
 #ifdef VIA_ENABLE
     LOCK_GUI = USER00,
     TOG_MACOS_KEYMAP,
-    KC_MISSION_CONTROL,
-    KC_LAUNCHPAD,
     NEW_SAFE_RANGE = SAFE_RANGE  // Important!
 #else
     LOCK_GUI = SAFE_RANGE,
     TOG_MACOS_KEYMAP,
-    KC_MISSION_CONTROL,
-    KC_LAUNCHPAD,
     NEW_SAFE_RANGE   // Important!
 #endif
 };
 
 #define KC_LG    LOCK_GUI
 #define KC_MACOS TOG_MACOS_KEYMAP
-#define KC_MCTL  KC_MISSION_CONTROL
-#define KC_LPAD  KC_LAUNCHPAD
diff --git a/keyboards/yandrstudio/yr80/yr80.c b/keyboards/yandrstudio/yr80/yr80.c
index 16415bf9ab..0228545e8c 100644
--- a/keyboards/yandrstudio/yr80/yr80.c
+++ b/keyboards/yandrstudio/yr80/yr80.c
@@ -52,20 +52,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
                 process_magic(CG_TOGG, record);
             }
             return false;
-        case KC_MCTL:
-            if (record->event.pressed) {
-                host_consumer_send(0x29F);
-            } else {
-                host_consumer_send(0);
-            }
-            return false;
-        case KC_LPAD:
-            if (record->event.pressed) {
-                host_consumer_send(0x2A0);
-            } else {
-                host_consumer_send(0);
-            }
-            return false;
         default:
             return true;
     }
diff --git a/keyboards/yandrstudio/yr80/yr80.h b/keyboards/yandrstudio/yr80/yr80.h
index 11cec853c3..c5289696f8 100644
--- a/keyboards/yandrstudio/yr80/yr80.h
+++ b/keyboards/yandrstudio/yr80/yr80.h
@@ -38,19 +38,13 @@ enum keyboard_keycodes {
 #ifdef VIA_ENABLE
     LOCK_GUI = USER00,
     TOG_MACOS_KEYMAP,
-    KC_MISSION_CONTROL,
-    KC_LAUNCHPAD,
     NEW_SAFE_RANGE = SAFE_RANGE  // Important!
 #else
     LOCK_GUI = SAFE_RANGE,
     TOG_MACOS_KEYMAP,
-    KC_MISSION_CONTROL,
-    KC_LAUNCHPAD,
     NEW_SAFE_RANGE   // Important!
 #endif
 };
 
 #define KC_LG    LOCK_GUI
 #define KC_MACOS TOG_MACOS_KEYMAP
-#define KC_MCTL  KC_MISSION_CONTROL
-#define KC_LPAD  KC_LAUNCHPAD
diff --git a/quantum/keycodes.h b/quantum/keycodes.h
index 36cec4eab8..e47286a443 100644
--- a/quantum/keycodes.h
+++ b/quantum/keycodes.h
@@ -281,6 +281,8 @@ enum qk_keycode_defines {
     KC_BRIGHTNESS_DOWN = 0x00BE,
     KC_CONTROL_PANEL = 0x00BF,
     KC_ASSISTANT = 0x00C0,
+    KC_MISSION_CONTROL = 0x00C1,
+    KC_LAUNCHPAD = 0x00C2,
     KC_MS_UP = 0x00CD,
     KC_MS_DOWN = 0x00CE,
     KC_MS_LEFT = 0x00CF,
@@ -835,6 +837,8 @@ enum qk_keycode_defines {
     KC_BRID    = KC_BRIGHTNESS_DOWN,
     KC_CPNL    = KC_CONTROL_PANEL,
     KC_ASST    = KC_ASSISTANT,
+    KC_MCTL    = KC_MISSION_CONTROL,
+    KC_LPAD    = KC_LAUNCHPAD,
     KC_MS_U    = KC_MS_UP,
     KC_MS_D    = KC_MS_DOWN,
     KC_MS_L    = KC_MS_LEFT,
@@ -1332,7 +1336,7 @@ enum qk_keycode_defines {
 #define IS_INTERNAL_KEYCODE(code) ((code) >= KC_NO && (code) <= KC_TRANSPARENT)
 #define IS_BASIC_KEYCODE(code) ((code) >= KC_A && (code) <= KC_EXSEL)
 #define IS_SYSTEM_KEYCODE(code) ((code) >= KC_SYSTEM_POWER && (code) <= KC_SYSTEM_WAKE)
-#define IS_CONSUMER_KEYCODE(code) ((code) >= KC_AUDIO_MUTE && (code) <= KC_ASSISTANT)
+#define IS_CONSUMER_KEYCODE(code) ((code) >= KC_AUDIO_MUTE && (code) <= KC_LAUNCHPAD)
 #define IS_MOUSE_KEYCODE(code) ((code) >= KC_MS_UP && (code) <= KC_MS_ACCEL2)
 #define IS_MODIFIER_KEYCODE(code) ((code) >= KC_LEFT_CTRL && (code) <= KC_RIGHT_GUI)
 #define IS_SWAP_HANDS_KEYCODE(code) ((code) >= QK_SWAP_HANDS_TOGGLE && (code) <= QK_SWAP_HANDS_ONE_SHOT)
diff --git a/tests/test_common/keycode_table.cpp b/tests/test_common/keycode_table.cpp
index 8947659411..887f24f927 100644
--- a/tests/test_common/keycode_table.cpp
+++ b/tests/test_common/keycode_table.cpp
@@ -223,6 +223,8 @@ std::map<uint16_t, std::string> KEYCODE_ID_TABLE = {
     {KC_BRIGHTNESS_DOWN, "KC_BRIGHTNESS_DOWN"},
     {KC_CONTROL_PANEL, "KC_CONTROL_PANEL"},
     {KC_ASSISTANT, "KC_ASSISTANT"},
+    {KC_MISSION_CONTROL, "KC_MISSION_CONTROL"},
+    {KC_LAUNCHPAD, "KC_LAUNCHPAD"},
     {KC_MS_UP, "KC_MS_UP"},
     {KC_MS_DOWN, "KC_MS_DOWN"},
     {KC_MS_LEFT, "KC_MS_LEFT"},
diff --git a/tmk_core/protocol/report.h b/tmk_core/protocol/report.h
index e4526e4ee6..9d415a3bfd 100644
--- a/tmk_core/protocol/report.h
+++ b/tmk_core/protocol/report.h
@@ -103,7 +103,9 @@ enum consumer_usages {
     AC_FORWARD             = 0x225,
     AC_STOP                = 0x226,
     AC_REFRESH             = 0x227,
-    AC_BOOKMARKS           = 0x22A
+    AC_BOOKMARKS           = 0x22A,
+    AC_MISSION_CONTROL     = 0x29F,
+    AC_LAUNCHPAD           = 0x2A0
 };
 
 /* Generic Desktop Page (0x01)
@@ -318,6 +320,10 @@ static inline uint16_t KEYCODE2CONSUMER(uint8_t key) {
             return BRIGHTNESS_DOWN;
         case KC_WWW_FAVORITES:
             return AC_BOOKMARKS;
+        case KC_MISSION_CONTROL:
+            return AC_MISSION_CONTROL;
+        case KC_LAUNCHPAD:
+            return AC_LAUNCHPAD;
         default:
             return 0;
     }