summary refs log tree commit diff
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2022-11-01 08:15:12 +1100
committerGitHub <noreply@github.com>2022-10-31 21:15:12 +0000
commit5974d989fe72f6c576901a065bee4487a58c351d (patch)
treea88a796ec2c0a11d4d554325fa92e53d9fbb82c2
parent743524df32ef265fdc3999518cdaba45cd4abf22 (diff)
Normalise Unicode keycodes (#18898)
* `UC_MOD`/`UC_RMOD` -> `UC_NEXT`/`UC_PREV`

* `UNICODE_MODE_*` -> `QK_UNICODE_MODE_*`

* `UC_MAC` -> `UNICODE_MODE_MACOS`

* `UC_LNX` -> `UNICODE_MODE_LINUX`

* `UC_WIN` -> `UNICODE_MODE_WINDOWS`

* `UC_BSD` -> `UNICODE_MODE_BSD`

* `UC_WINC` -> `UNICODE_MODE_WINCOMPOSE`

* `UC_EMACS` -> `UNICODE_MODE_EMACS`

* `UC__COUNT` -> `UNICODE_MODE_COUNT`

* `UC_M_MA` -> `UC_MAC`

* `UC_M_LN` -> `UC_LINX`

* `UC_M_WI` -> `UC_WIN`

* `UC_M_BS` -> `UC_BSD`

* `UC_M_WC` -> `UC_WINC`

* `UC_M_EM` -> `UC_EMAC`

* Docs

* Update quantum/unicode/unicode.h
-rw-r--r--docs/feature_unicode.md44
-rw-r--r--docs/keycodes.md25
-rw-r--r--keyboards/a_dux/keymaps/daliusd/config.h2
-rw-r--r--keyboards/abacus/keymaps/unicodemap/keymap.c2
-rw-r--r--keyboards/atreus62/keymaps/d4mation/keymap.c4
-rw-r--r--keyboards/b_sides/rev41lp/keymaps/namnlos/config.h2
-rw-r--r--keyboards/b_sides/rev41lp/keymaps/namnlos/keymap.c2
-rw-r--r--keyboards/bastardkb/charybdis/4x6/keymaps/drashna/keymap.c2
-rw-r--r--keyboards/bop/config.h2
-rw-r--r--keyboards/checkerboards/quark/keymaps/pezhore/config.h2
-rw-r--r--keyboards/checkerboards/quark/keymaps/pezhore/keymap.c4
-rw-r--r--keyboards/contra/keymaps/bramver/keymap.c2
-rw-r--r--keyboards/converter/ibm_terminal/keymaps/priyadi/keymap.c8
-rw-r--r--keyboards/crkbd/keymaps/nimishgautam/config.h2
-rw-r--r--keyboards/crkbd/keymaps/ollyhayes/config.h2
-rw-r--r--keyboards/crkbd/keymaps/rmeli/config.h2
-rw-r--r--keyboards/crkbd/keymaps/rmeli/keymap.c4
-rw-r--r--keyboards/donutcables/budget96/keymaps/donut/keymap.c2
-rw-r--r--keyboards/doro67/multi/keymaps/konstantin/keymap.c2
-rw-r--r--keyboards/durgod/k320/keymaps/kuenhlee/keymap.c2
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/catrielmuller/config.h2
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c2
-rw-r--r--keyboards/evyd13/wasdat/keymaps/konstantin/keymap.c2
-rw-r--r--keyboards/gmmk/gmmk2/p96/ansi/keymaps/default/keymap.c2
-rw-r--r--keyboards/gmmk/gmmk2/p96/ansi/keymaps/via/keymap.c2
-rw-r--r--keyboards/gmmk/gmmk2/p96/iso/keymaps/default/keymap.c2
-rw-r--r--keyboards/gmmk/gmmk2/p96/iso/keymaps/via/keymap.c2
-rw-r--r--keyboards/handwired/2x5keypad/keymaps/default_tapdance/keymap.c2
-rw-r--r--keyboards/handwired/aek64/keymaps/4sstylz/keymap.c2
-rw-r--r--keyboards/handwired/d48/keymaps/anderson/keymap.c2
-rw-r--r--keyboards/handwired/d48/keymaps/default/keymap.c2
-rw-r--r--keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c2
-rw-r--r--keyboards/handwired/promethium/keymaps/default/keymap.c16
-rw-r--r--keyboards/handwired/promethium/keymaps/priyadi/keymap.c16
-rw-r--r--keyboards/handwired/t111/keymaps/oleg/config.h2
-rw-r--r--keyboards/handwired/t111/keymaps/oleg/keymap.c2
-rw-r--r--keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/keymap.c2
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c2
-rw-r--r--keyboards/handwired/videowriter/keymaps/oleg/keymap.c2
-rw-r--r--keyboards/handwired/wulkan/keymaps/default/keymap.c2
-rw-r--r--keyboards/idobao/id75/keymaps/gkbd/config.h2
-rw-r--r--keyboards/input_club/ergodox_infinity/keymaps/not-quite-neo/keymap.c2
-rw-r--r--keyboards/input_club/whitefox/keymaps/konstantin/keymap.c2
-rw-r--r--keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/keymap.c2
-rw-r--r--keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c2
-rw-r--r--keyboards/keebio/levinson/keymaps/drogglbecher/keymap.c2
-rw-r--r--keyboards/keebio/nyquist/keymaps/bramver/keymap.c2
-rw-r--r--keyboards/keebio/quefrency/keymaps/bramver/keymap.c2
-rw-r--r--keyboards/keychron/q1/rev_0102/keymaps/victorsavu3/config.h2
-rwxr-xr-xkeyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/config.h2
-rwxr-xr-xkeyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/keymap.c2
-rwxr-xr-xkeyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/readme.md2
-rw-r--r--keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/config.h2
-rw-r--r--keyboards/ktec/ergodone/keymaps/vega/keymap.c8
-rw-r--r--keyboards/lyso1/lck75/config.h2
-rw-r--r--keyboards/massdrop/alt/keymaps/charlesrocket/config.h2
-rw-r--r--keyboards/massdrop/alt/keymaps/charlesrocket/keymap.c2
-rw-r--r--keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c4
-rw-r--r--keyboards/mitosis/keymaps/nzen/keymap.c2
-rw-r--r--keyboards/mlego/m48/keymaps/default/config.h2
-rw-r--r--keyboards/mlego/m60/keymaps/default/config.h2
-rw-r--r--keyboards/mlego/m60_split/keymaps/default/config.h2
-rw-r--r--keyboards/mlego/m65/keymaps/uk/config.h4
-rw-r--r--keyboards/moonlander/keymaps/drashna/keymap.c2
-rw-r--r--keyboards/planck/keymaps/buhearns/keymap.c2
-rw-r--r--keyboards/planck/keymaps/mwpeterson/keymap.c2
-rw-r--r--keyboards/planck/keymaps/rootiest/config.h2
-rw-r--r--keyboards/planck/keymaps/rootiest/keymap.c4
-rw-r--r--keyboards/planck/keymaps/sascha/keymap.c2
-rw-r--r--keyboards/planck/keymaps/snowkuma/keymap.c2
-rw-r--r--keyboards/planck/keymaps/zach/zach_common_functions.c4
-rw-r--r--keyboards/preonic/keymaps/pezhore/config.h2
-rw-r--r--keyboards/preonic/keymaps/pezhore/keymap.c10
-rw-r--r--keyboards/preonic/keymaps/zach/zach_common_functions.c4
-rw-r--r--keyboards/redox/keymaps/jeherve/config.h2
-rw-r--r--keyboards/reviung/reviung41/keymaps/ciutadellla/config.h2
-rw-r--r--keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c2
-rw-r--r--keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/config.h2
-rw-r--r--keyboards/signum/3_0/keymaps/default/layout.py2
-rw-r--r--keyboards/spaceman/2_milk/keymaps/emoji/config.h2
-rw-r--r--keyboards/spaceman/2_milk/keymaps/emoji/readme.md10
-rw-r--r--keyboards/spaceman/2_milk/keymaps/encg/config.h2
-rw-r--r--keyboards/spaceman/2_milk/keymaps/encg/readme.md2
-rw-r--r--keyboards/splitkb/kyria/keymaps/drashna/keymap.c2
-rw-r--r--keyboards/splitkb/kyria/keymaps/lw/config.h2
-rw-r--r--keyboards/splitkb/kyria/keymaps/lw/keymap.c4
-rw-r--r--keyboards/splitkb/kyria/keymaps/lw/readme.md4
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/keymap.c2
-rw-r--r--keyboards/xiudi/xd75/keymaps/billypython/keymap.c2
-rw-r--r--keyboards/xiudi/xd75/keymaps/bramver/keymap.c2
-rw-r--r--keyboards/xiudi/xd75/keymaps/markus/config.h2
-rw-r--r--keyboards/xiudi/xd75/keymaps/markus/keymap.c6
-rw-r--r--keyboards/xiudi/xd75/keymaps/minna/config.h2
-rw-r--r--keyboards/xiudi/xd75/keymaps/minna/keymap.c2
-rw-r--r--keyboards/yatara/drink_me/keymaps/queen/config.h2
-rw-r--r--keyboards/yatara/drink_me/keymaps/queen/keymap.c8
-rw-r--r--keyboards/ymdk/melody96/keymaps/dvz/config.h2
-rw-r--r--keyboards/ymdk/melody96/keymaps/konstantin/keymap.c2
-rw-r--r--keyboards/ymdk/melody96/keymaps/zunger/keymap.c2
-rwxr-xr-xlayouts/community/60_iso/bifbofii/keymap.c4
-rw-r--r--layouts/community/65_ansi_blocker/spidey3/keymap.c4
-rw-r--r--layouts/community/75_ansi/spidey3/keymap.c4
-rw-r--r--layouts/community/ergodox/deadcyclo/keymap.c2
-rw-r--r--layouts/community/ergodox/drashna/keymap.c2
-rw-r--r--layouts/community/ortho_4x12/bifbofii/keymap.c4
-rw-r--r--layouts/community/ortho_5x12/riblee/config.h2
-rw-r--r--layouts/community/ortho_5x12/riblee/keymap.c2
-rw-r--r--quantum/process_keycode/process_unicode_common.c28
-rw-r--r--quantum/quantum_keycodes.h32
-rw-r--r--quantum/quantum_keycodes_legacy.h9
-rw-r--r--quantum/unicode/unicode.c54
-rw-r--r--quantum/unicode/unicode.h15
-rw-r--r--tests/caps_word/caps_word_unicodemap/config.h2
-rw-r--r--tests/test_common/test_driver.hpp2
-rw-r--r--users/arkag/arkag.c6
-rw-r--r--users/drashna/config.h2
-rw-r--r--users/konstantin/config.h2
-rw-r--r--users/kuchosauronad0/kuchosauronad0.c4
-rw-r--r--users/ridingqwerty/ridingqwerty.c2
-rw-r--r--users/romus/romus.c6
-rw-r--r--users/rupa/config.h2
-rw-r--r--users/rupa/wrappers.h2
-rw-r--r--users/rverst/rverst.c6
-rw-r--r--users/rverst/unicode.h2
-rw-r--r--users/sigma/sigma.c6
-rw-r--r--users/spidey3/config.h2
-rw-r--r--users/spidey3/layer_rgb.c22
-rw-r--r--users/spidey3/spidey3.c6
-rw-r--r--users/spidey3/spidey3_unicode.c2
-rw-r--r--users/uqs/config.h2
-rw-r--r--users/uqs/uqs.c4
-rw-r--r--users/yet-another-developer/yet-another-developer.c4
132 files changed, 304 insertions, 293 deletions
diff --git a/docs/feature_unicode.md b/docs/feature_unicode.md
index 0b06cae6c2..a93e9ad2ba 100644
--- a/docs/feature_unicode.md
+++ b/docs/feature_unicode.md
@@ -112,28 +112,28 @@ Unicode input in QMK works by inputting a sequence of characters to the OS, sort
 
 The following input modes are available:
 
-* **`UC_MAC`**: macOS built-in Unicode hex input. Supports code points up to `0x10FFFF` (all possible code points).
+* **`UNICODE_MODE_MACOS`**: macOS built-in Unicode hex input. Supports code points up to `0x10FFFF` (all possible code points).
 
   To enable, go to _System Preferences > Keyboard > Input Sources_, add _Unicode Hex Input_ to the list (it's under _Other_), then activate it from the input dropdown in the Menu Bar.
   By default, this mode uses the left Option key (`KC_LALT`) for Unicode input, but this can be changed by defining [`UNICODE_KEY_MAC`](#input-key-configuration) with a different keycode.
 
   !> Using the _Unicode Hex Input_ input source may disable some Option-based shortcuts, such as Option+Left and Option+Right.
 
-* **`UC_LNX`**: Linux built-in IBus Unicode input. Supports code points up to `0x10FFFF` (all possible code points).
+* **`UNICODE_MODE_LINUX`**: Linux built-in IBus Unicode input. Supports code points up to `0x10FFFF` (all possible code points).
 
   Enabled by default and works almost anywhere on IBus-enabled distros. Without IBus, this mode works under GTK apps, but rarely anywhere else.
   By default, this mode uses Ctrl+Shift+U (`LCTL(LSFT(KC_U))`) to start Unicode input, but this can be changed by defining [`UNICODE_KEY_LNX`](#input-key-configuration) with a different keycode. This might be required for IBus versions ≥1.5.15, where Ctrl+Shift+U behavior is consolidated into Ctrl+Shift+E.
 
   Users who wish support in non-GTK apps without IBus may need to resort to a more indirect method, such as creating a custom keyboard layout ([more on this method](#custom-linux-layout)).
 
-* **`UC_WIN`**: _(not recommended)_ Windows built-in hex numpad Unicode input. Supports code points up to `0xFFFF`.
+* **`UNICODE_MODE_WINDOWS`**: _(not recommended)_ Windows built-in hex numpad Unicode input. Supports code points up to `0xFFFF`.
 
   To enable, create a registry key under `HKEY_CURRENT_USER\Control Panel\Input Method` of type `REG_SZ` called `EnableHexNumpad` and set its value to `1`. This can be done from the Command Prompt by running `reg add "HKCU\Control Panel\Input Method" -v EnableHexNumpad -t REG_SZ -d 1` with administrator privileges. Reboot afterwards.
-  This mode is not recommended because of reliability and compatibility issues; use the `UC_WINC` mode instead.
+  This mode is not recommended because of reliability and compatibility issues; use the `UNICODE_MODE_WINCOMPOSE` mode instead.
 
-* **`UC_BSD`**: _(non implemented)_ Unicode input under BSD. Not implemented at this time. If you're a BSD user and want to help add support for it, please [open an issue on GitHub](https://github.com/qmk/qmk_firmware/issues).
+* **`UNICODE_MODE_BSD`**: _(non implemented)_ Unicode input under BSD. Not implemented at this time. If you're a BSD user and want to help add support for it, please [open an issue on GitHub](https://github.com/qmk/qmk_firmware/issues).
 
-* **`UC_WINC`**: Windows Unicode input using [WinCompose](https://github.com/samhocevar/wincompose). As of v0.9.0, supports code points up to `0x10FFFF` (all possible code points).
+* **`UNICODE_MODE_WINCOMPOSE`**: Windows Unicode input using [WinCompose](https://github.com/samhocevar/wincompose). As of v0.9.0, supports code points up to `0x10FFFF` (all possible code points).
 
   To enable, install the [latest release](https://github.com/samhocevar/wincompose/releases/latest). Once installed, WinCompose will automatically run on startup. This mode works reliably under all version of Windows supported by the app.
   By default, this mode uses right Alt (`KC_RALT`) as the Compose key, but this can be changed in the WinCompose settings and by defining [`UNICODE_KEY_WINC`](#input-key-configuration) with a different keycode.
@@ -144,15 +144,15 @@ The following input modes are available:
 To set your desired input mode, add the following define to your `config.h`:
 
 ```c
-#define UNICODE_SELECTED_MODES UC_LNX
+#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX
 ```
 
-This example sets the board's default input mode to `UC_LNX`. You can replace this with `UC_MAC`, `UC_WINC`, or any of the other modes listed [above](#input-modes). The board will automatically use the selected mode on startup, unless you manually switch to another mode (see [below](#keycodes)).
+This example sets the board's default input mode to `UNICODE_MODE_LINUX`. You can replace this with `UNICODE_MODE_MACOS`, `UNICODE_MODE_WINCOMPOSE`, or any of the other modes listed [above](#input-modes). The board will automatically use the selected mode on startup, unless you manually switch to another mode (see [below](#keycodes)).
 
-You can also select multiple input modes, which allows you to easily cycle through them using the `UC_MOD`/`UC_RMOD` keycodes.
+You can also select multiple input modes, which allows you to easily cycle through them using the `UC_NEXT`/`UC_PREV` keycodes.
 
 ```c
-#define UNICODE_SELECTED_MODES UC_MAC, UC_LNX, UC_WINC
+#define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS, UNICODE_MODE_LINUX, UNICODE_MODE_WINCOMPOSE
 ```
 
 Note that the values are separated by commas. The board will remember the last used input mode and will continue using it on next power-up. You can disable this and force it to always start with the first mode in the list by adding `#define UNICODE_CYCLE_PERSIST false` to your `config.h`.
@@ -161,18 +161,18 @@ Note that the values are separated by commas. The board will remember the last u
 
 You can switch the input mode at any time by using the following keycodes. Adding these to your keymap allows you to quickly switch to a specific input mode, including modes not listed in `UNICODE_SELECTED_MODES`.
 
-|Keycode               |Alias    |Input Mode  |Description                                                                  |
-|----------------------|---------|------------|-----------------------------------------------------------------------------|
-|`UNICODE_MODE_FORWARD`|`UC_MOD` |Next in list|Cycle through selected modes, reverse direction when Shift is held           |
-|`UNICODE_MODE_REVERSE`|`UC_RMOD`|Prev in list|Cycle through selected modes in reverse, forward direction when Shift is held|
-|`UNICODE_MODE_MAC`    |`UC_M_MA`|`UC_MAC`    |Switch to macOS input                                                        |
-|`UNICODE_MODE_LNX`    |`UC_M_LN`|`UC_LNX`    |Switch to Linux input                                                        |
-|`UNICODE_MODE_WIN`    |`UC_M_WI`|`UC_WIN`    |Switch to Windows input                                                      |
-|`UNICODE_MODE_BSD`    |`UC_M_BS`|`UC_BSD`    |Switch to BSD input _(not implemented)_                                      |
-|`UNICODE_MODE_WINC`   |`UC_M_WC`|`UC_WINC`   |Switch to Windows input using WinCompose                                     |
-|`UNICODE_MODE_EMACS`  |`UC_M_EM`|`UC_EMACS`  |Switch to emacs (`C-x-8 RET`)                                               |
-
-You can also switch the input mode by calling `set_unicode_input_mode(x)` in your code, where _x_ is one of the above input mode constants (e.g. `UC_LNX`).
+|Keycode                     |Alias    |Input Mode               |Description                                                                  |
+|----------------------------|---------|-------------------------|-----------------------------------------------------------------------------|
+|`QK_UNICODE_MODE_NEXT`      |`UC_NEXT`|Next in list             |Cycle through selected modes, reverse direction when Shift is held           |
+|`QK_UNICODE_MODE_PREVIOUS`  |`UC_PREV`|Prev in list             |Cycle through selected modes in reverse, forward direction when Shift is held|
+|`QK_UNICODE_MODE_MACOS`     |`UC_MAC` |`UNICODE_MODE_MACOS`     |Switch to macOS input                                                        |
+|`QK_UNICODE_MODE_LINUX`     |`UC_LINX`|`UNICODE_MODE_LINUX`     |Switch to Linux input                                                        |
+|`QK_UNICODE_MODE_WINDOWS`   |`UC_WIN` |`UNICODE_MODE_WINDOWS`   |Switch to Windows input                                                      |
+|`QK_UNICODE_MODE_BSD`       |`UC_BSD` |`UNICODE_MODE_BSD`       |Switch to BSD input _(not implemented)_                                      |
+|`QK_UNICODE_MODE_WINCOMPOSE`|`UC_WINC`|`UNICODE_MODE_WINCOMPOSE`|Switch to Windows input using WinCompose                                     |
+|`QK_UNICODE_MODE_EMACS`     |`UC_EMAC`|`UNICODE_MODE_EMACS`     |Switch to emacs (`C-x-8 RET`)                                                |
+
+You can also switch the input mode by calling `set_unicode_input_mode(x)` in your code, where _x_ is one of the above input mode constants (e.g. `UNICODE_MODE_LINUX`).
 
 ?> Using `UNICODE_SELECTED_MODES` is preferable to calling `set_unicode_input_mode()` in `matrix_init_user()` or similar functions, since it's better integrated into the Unicode system and has the added benefit of avoiding unnecessary writes to EEPROM.
 
diff --git a/docs/keycodes.md b/docs/keycodes.md
index 1aea603ede..f701193a45 100644
--- a/docs/keycodes.md
+++ b/docs/keycodes.md
@@ -839,15 +839,16 @@ See also: [Swap Hands](feature_swap_hands.md)
 
 See also: [Unicode Support](feature_unicode.md)
 
-|Key                   |Aliases  |Description                                                     |
-|----------------------|---------|----------------------------------------------------------------|
-|`UC(c)`               |         |Send Unicode code point `c`, up to `0x7FFF`                     |
-|`X(i)`                |         |Send Unicode code point at index `i` in `unicode_map`           |
-|`XP(i, j)`            |         |Send Unicode code point at index `i`, or `j` if Shift/Caps is on|
-|`UNICODE_MODE_FORWARD`|`UC_MOD` |Cycle through selected input modes                              |
-|`UNICODE_MODE_REVERSE`|`UC_RMOD`|Cycle through selected input modes in reverse                   |
-|`UNICODE_MODE_MAC`    |`UC_M_MA`|Switch to macOS input                                           |
-|`UNICODE_MODE_LNX`    |`UC_M_LN`|Switch to Linux input                                           |
-|`UNICODE_MODE_WIN`    |`UC_M_WI`|Switch to Windows input                                         |
-|`UNICODE_MODE_BSD`    |`UC_M_BS`|Switch to BSD input (not implemented)                           |
-|`UNICODE_MODE_WINC`   |`UC_M_WC`|Switch to Windows input using WinCompose                        |
+|Key                         |Aliases  |Description                                                     |
+|----------------------------|---------|----------------------------------------------------------------|
+|`UC(c)`                     |         |Send Unicode code point `c`, up to `0x7FFF`                     |
+|`X(i)`                      |         |Send Unicode code point at index `i` in `unicode_map`           |
+|`XP(i, j)`                  |         |Send Unicode code point at index `i`, or `j` if Shift/Caps is on|
+|`QK_UNICODE_MODE_NEXT`      |`UC_NEXT`|Cycle through selected input modes                              |
+|`QK_UNICODE_MODE_PREVIOUS`  |`UC_PREV`|Cycle through selected input modes in reverse                   |
+|`QK_UNICODE_MODE_MACOS`     |`UC_MAC` |Switch to macOS input                                           |
+|`QK_UNICODE_MODE_LINUX`     |`UC_LINX`|Switch to Linux input                                           |
+|`QK_UNICODE_MODE_WINDOWS`   |`UC_WIN` |Switch to Windows input                                         |
+|`QK_UNICODE_MODE_BSD`       |`UC_BSD` |Switch to BSD input (not implemented)                           |
+|`QK_UNICODE_MODE_WINCOMPOSE`|`UC_WINC`|Switch to Windows input using WinCompose                        |
+|`QK_UNICODE_MODE_EMACS`     |`UC_EMAC`|Switch to emacs (`C-x-8 RET`)                                   |
diff --git a/keyboards/a_dux/keymaps/daliusd/config.h b/keyboards/a_dux/keymaps/daliusd/config.h
index 786451768a..78a96dd7ac 100644
--- a/keyboards/a_dux/keymaps/daliusd/config.h
+++ b/keyboards/a_dux/keymaps/daliusd/config.h
@@ -17,7 +17,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-#define UNICODE_SELECTED_MODES UC_LNX
+#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX
 
 #define MOUSEKEY_INTERVAL 12
 #define MOUSEKEY_MAX_SPEED 6
diff --git a/keyboards/abacus/keymaps/unicodemap/keymap.c b/keyboards/abacus/keymaps/unicodemap/keymap.c
index 95f343b33c..7441b12882 100644
--- a/keyboards/abacus/keymaps/unicodemap/keymap.c
+++ b/keyboards/abacus/keymaps/unicodemap/keymap.c
@@ -130,7 +130,7 @@ bool dip_switch_update_user(uint8_t index, bool active) {
 
 
 void matrix_init_user(void) {
-    set_unicode_input_mode(UC_WINC);
+    set_unicode_input_mode(UNICODE_MODE_WINCOMPOSE);
 }
 
 bool encoder_update_user(uint8_t index, bool clockwise) {
diff --git a/keyboards/atreus62/keymaps/d4mation/keymap.c b/keyboards/atreus62/keymaps/d4mation/keymap.c
index 1448f0a9d1..e01f5b9ec6 100644
--- a/keyboards/atreus62/keymaps/d4mation/keymap.c
+++ b/keyboards/atreus62/keymaps/d4mation/keymap.c
@@ -145,7 +145,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   [_ADJUST] = LAYOUT(
     XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                   XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
     XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                   XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
-    XXXXXXX, XXXXXXX, XXXXXXX, UC_M_WI, UC_M_MA, XXXXXXX,                   XXXXXXX, DF(_DVR),DF(_QWR),XXXXXXX, XXXXXXX, XXXXXXX,
+    XXXXXXX, XXXXXXX, XXXXXXX, UC_WIN,  UC_MAC,  XXXXXXX,                   XXXXXXX, DF(_DVR),DF(_QWR),XXXXXXX, XXXXXXX, XXXXXXX,
     XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                   XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
     XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, CG_SWAP, CG_NORM, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
   ),
@@ -154,7 +154,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 /* Runs just one time when the keyboard initializes. */
 void eeconfig_init_keymap( void ) {
-  set_unicode_input_mode( UC_MAC );
+  set_unicode_input_mode( UNICODE_MODE_MACOS );
 };
 
 bool process_record_keymap( uint16_t keycode, keyrecord_t *record ) {
diff --git a/keyboards/b_sides/rev41lp/keymaps/namnlos/config.h b/keyboards/b_sides/rev41lp/keymaps/namnlos/config.h
index 69d44bdd03..b6f2866c46 100644
--- a/keyboards/b_sides/rev41lp/keymaps/namnlos/config.h
+++ b/keyboards/b_sides/rev41lp/keymaps/namnlos/config.h
@@ -24,7 +24,7 @@
 #define COMBO_COUNT 3
 #define IGNORE_MOD_TAP_INTERRUPT
 
-#define UNICODE_SELECTED_MODES UC_WINC, UC_WIN, UC_MAC, UC_LNX
+#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_WINDOWS, UNICODE_MODE_MACOS, UNICODE_MODE_LINUX
 
 #define TAPPING_FORCE_HOLD
 #define TAPPING_TERM 200
diff --git a/keyboards/b_sides/rev41lp/keymaps/namnlos/keymap.c b/keyboards/b_sides/rev41lp/keymaps/namnlos/keymap.c
index 968f96f3b2..0a43c83440 100644
--- a/keyboards/b_sides/rev41lp/keymaps/namnlos/keymap.c
+++ b/keyboards/b_sides/rev41lp/keymaps/namnlos/keymap.c
@@ -166,7 +166,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   [_ADJUST] = LAYOUT_rev41lp(
     XXXXXXX,   XXXXXXX, XXXXXXX,   BL_OFF,   BL_DEC,   BL_TOGG,            BL_BRTG,   BL_INC,    BL_ON,  XXXXXXX,  XXXXXXX,  XXXXXXX,
     XXXXXXX,   XXXXXXX, XXXXXXX,  XXXXXXX,  XXXXXXX,   BL_STEP,            XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,
-    XXXXXXX,   UC_M_WC, UC_M_MA,  UC_M_LN,  XXXXXXX,   XXXXXXX,            QK_BOOT,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,
+    XXXXXXX,   UC_WINC, UC_MAC,   UC_LINX,  XXXXXXX,   XXXXXXX,            QK_BOOT,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,
                                                _______, _______, _______,  _______,  _______
   )
 };
diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/keymap.c b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/keymap.c
index a0f290ad57..cc6dbc34e9 100644
--- a/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/keymap.c
+++ b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/keymap.c
@@ -113,7 +113,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         QK_MAKE, KC_WIDE,KC_AUSSIE,KC_SCRIPT,KC_ZALGO,KC_SUPER, KC_NOMODE,KC_BLOCKS,KC_REGIONAL,TG_GAME,TG_DBLO, QK_BOOT,
         VRSN,    _________________ADJUST_L1_________________,    _________________ADJUST_R1_________________, EE_CLR,
         KEYLOCK, _________________ADJUST_L2_________________,    _________________ADJUST_R2_________________, TG_MODS,
-        UC_MOD,  _________________ADJUST_L3_________________,    _________________ADJUST_R3_________________, KC_MPLY,
+        UC_NEXT, _________________ADJUST_L3_________________,    _________________ADJUST_R3_________________, KC_MPLY,
                                    QK_RBT, AUTO_CTN, _______,    _______, KC_NUKE,
                                            _______, _______,      _______
     )
diff --git a/keyboards/bop/config.h b/keyboards/bop/config.h
index 00bae0f655..d3b3c90d48 100644
--- a/keyboards/bop/config.h
+++ b/keyboards/bop/config.h
@@ -41,4 +41,4 @@
 #define LOCKING_RESYNC_ENABLE
 
 /* Unicode select mode */
-#define UNICODE_SELECTED_MODES UC_MAC, UC_LNX, UC_WINC
+#define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS, UNICODE_MODE_LINUX, UNICODE_MODE_WINCOMPOSE
diff --git a/keyboards/checkerboards/quark/keymaps/pezhore/config.h b/keyboards/checkerboards/quark/keymaps/pezhore/config.h
index 824bad44af..35b49ed9c9 100644
--- a/keyboards/checkerboards/quark/keymaps/pezhore/config.h
+++ b/keyboards/checkerboards/quark/keymaps/pezhore/config.h
@@ -15,5 +15,5 @@
  */
 
 #pragma once
-#define UNICODE_SELECTED_MODES UC_LNX, UC_MAC, UC_WINC
+#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX, UNICODE_MODE_MACOS, UNICODE_MODE_WINCOMPOSE
 #define TAPPING_TOGGLE 2
diff --git a/keyboards/checkerboards/quark/keymaps/pezhore/keymap.c b/keyboards/checkerboards/quark/keymaps/pezhore/keymap.c
index 4c96169830..f331e2b9cf 100644
--- a/keyboards/checkerboards/quark/keymaps/pezhore/keymap.c
+++ b/keyboards/checkerboards/quark/keymaps/pezhore/keymap.c
@@ -69,8 +69,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  */
 [_FN] = LAYOUT_ortho_4x12(
    KC_GRV,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  POOP,     KC_PSCR,  KC_DEL,
-  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  UC_M_WC,
-  _______,    SHRUG,    TFLIP,     POOP,   DPOINT,    STRUT,  _______,  _______,  _______,  _______,   SARCSM,  UC_M_LN,
+  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  UC_WINC,
+  _______,    SHRUG,    TFLIP,     POOP,   DPOINT,    STRUT,  _______,  _______,  _______,  _______,   SARCSM,  UC_LINX,
   _______,     KC_1,     KC_2,     KC_3,     KC_4,     KC_5,     KC_6,     KC_7,     KC_8,     KC_9,     KC_0,  _______
 ),
 
diff --git a/keyboards/contra/keymaps/bramver/keymap.c b/keyboards/contra/keymaps/bramver/keymap.c
index d34b958b2b..e84dcc9af6 100644
--- a/keyboards/contra/keymaps/bramver/keymap.c
+++ b/keyboards/contra/keymaps/bramver/keymap.c
@@ -122,5 +122,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 };
 
 void matrix_init_user(void) {
-  set_unicode_input_mode(UC_LNX);
+  set_unicode_input_mode(UNICODE_MODE_LINUX);
 }
diff --git a/keyboards/converter/ibm_terminal/keymaps/priyadi/keymap.c b/keyboards/converter/ibm_terminal/keymaps/priyadi/keymap.c
index ab92ad2112..15db200779 100644
--- a/keyboards/converter/ibm_terminal/keymaps/priyadi/keymap.c
+++ b/keyboards/converter/ibm_terminal/keymaps/priyadi/keymap.c
@@ -281,15 +281,15 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 
     /* os switcher */
     case OS_LIN:
-      set_unicode_input_mode(UC_LNX);
+      set_unicode_input_mode(UNICODE_MODE_LINUX);
       return false;
       break;
     case OS_WIN:
-      set_unicode_input_mode(UC_WINC);
+      set_unicode_input_mode(UNICODE_MODE_WINCOMPOSE);
       return false;
       break;
     case OS_MAC:
-      set_unicode_input_mode(UC_MAC);
+      set_unicode_input_mode(UNICODE_MODE_MACOS);
       return false;
       break;
 
@@ -298,5 +298,5 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 }
 
 void matrix_init_user() {
-  set_unicode_input_mode(UC_LNX);
+  set_unicode_input_mode(UNICODE_MODE_LINUX);
 }
diff --git a/keyboards/crkbd/keymaps/nimishgautam/config.h b/keyboards/crkbd/keymaps/nimishgautam/config.h
index d237727091..38146abb43 100644
--- a/keyboards/crkbd/keymaps/nimishgautam/config.h
+++ b/keyboards/crkbd/keymaps/nimishgautam/config.h
@@ -4,7 +4,7 @@
 #pragma once
 
 // OS-specific stuff
-//#define UNICODE_SELECTED_MODES UC_MAC
+//#define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS
 
 /* Select hand configuration */
 //#define MASTER_LEFT
diff --git a/keyboards/crkbd/keymaps/ollyhayes/config.h b/keyboards/crkbd/keymaps/ollyhayes/config.h
index 734d41d084..4c51005181 100644
--- a/keyboards/crkbd/keymaps/ollyhayes/config.h
+++ b/keyboards/crkbd/keymaps/ollyhayes/config.h
@@ -25,7 +25,7 @@
 
 #define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c"
 
-#define UNICODE_SELECTED_MODES UC_LNX
+#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX
 
 #ifdef RGB_MATRIX_ENABLE
 #   define RGB_MATRIX_KEYPRESSES // reacts to keypresses
diff --git a/keyboards/crkbd/keymaps/rmeli/config.h b/keyboards/crkbd/keymaps/rmeli/config.h
index 36fb755d00..007e4bc45b 100644
--- a/keyboards/crkbd/keymaps/rmeli/config.h
+++ b/keyboards/crkbd/keymaps/rmeli/config.h
@@ -26,7 +26,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #define TAPPING_TERM 200
 
-#define UNICODE_SELECTED_MODES UC_MAC, UC_LNX
+#define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS, UNICODE_MODE_LINUX
 
 #define AUTO_SHIFT_REPEAT
 
diff --git a/keyboards/crkbd/keymaps/rmeli/keymap.c b/keyboards/crkbd/keymaps/rmeli/keymap.c
index b1fc6d1d02..04528fda8c 100644
--- a/keyboards/crkbd/keymaps/rmeli/keymap.c
+++ b/keyboards/crkbd/keymaps/rmeli/keymap.c
@@ -120,11 +120,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
   [_CONFIG] = LAYOUT_split_3x6_3(
   //|-----------------------------------------------------|                    |-----------------------------------------------------|
-      QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                       UC_MOD,   AS_UP,   NK_ON, XXXXXXX, XXXXXXX,DF(_QWY),
+      QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                      UC_NEXT,   AS_UP,   NK_ON, XXXXXXX, XXXXXXX,DF(_QWY),
   //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
       RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI,                      XXXXXXX, AS_TOGG, NK_TOGG, XXXXXXX, XXXXXXX, XXXXXXX,
   //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
-      XXXXXXX,RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD,                      UC_RMOD, AS_DOWN,  NK_OFF, XXXXXXX, XXXXXXX,DF(_CMK),
+      XXXXXXX,RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD,                      UC_PREV, AS_DOWN,  NK_OFF, XXXXXXX, XXXXXXX,DF(_CMK),
   //|--------+--------+--------+--------+--------+--------+--------|  |--------+--------+--------+--------+--------+--------+--------|
                                           _______, _______, _______,   _______, _______, _______
                                       //|--------------------------|  |--------------------------|
diff --git a/keyboards/donutcables/budget96/keymaps/donut/keymap.c b/keyboards/donutcables/budget96/keymaps/donut/keymap.c
index d7beffde4d..d7e2bfd0d0 100644
--- a/keyboards/donutcables/budget96/keymaps/donut/keymap.c
+++ b/keyboards/donutcables/budget96/keymaps/donut/keymap.c
@@ -73,7 +73,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
     /* (3) Fn 2 */
     [_FN2] = LAYOUT_96_ansi(
-	KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, UC_M_WC, EE_CLR, QK_BOOT, 
+	KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, UC_WINC, EE_CLR, QK_BOOT, 
 	VK_TOGG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 
 	RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 
 	KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 
diff --git a/keyboards/doro67/multi/keymaps/konstantin/keymap.c b/keyboards/doro67/multi/keymaps/konstantin/keymap.c
index 54f5ba09e6..02687f8248 100644
--- a/keyboards/doro67/multi/keymaps/konstantin/keymap.c
+++ b/keyboards/doro67/multi/keymaps/konstantin/keymap.c
@@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
      */
     [L_FN] = LAYOUT_multi(
         _______, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  NUMPAD,  KC_SCRL, KC_PAUS,
-        KC_BTN4, KC_BTN2, KC_MS_U, KC_BTN1, KC_BTN3, KC_BTN5, _______, UC_MOD,  _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, CLEAR,            KC_INS,
+        KC_BTN4, KC_BTN2, KC_MS_U, KC_BTN1, KC_BTN3, KC_BTN5, _______, UC_NEXT, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, CLEAR,            KC_INS,
         _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_U, _______, _______, _______, _______, _______, _______, _______,          _______,          TOP,
         _______, _______, KC_ACL0, KC_ACL2, KC_WH_L, KC_WH_R, _______, _______, KC_APP,  KC_VOLD, KC_VOLU, KC_MUTE, _______,          KC_PGUP, BOTTOM,
         _______, DST_P_R, DST_N_A,          KC_WH_D,          _______,          _______,          _______, _______, XXXXXXX, KC_HOME, KC_PGDN, KC_END
diff --git a/keyboards/durgod/k320/keymaps/kuenhlee/keymap.c b/keyboards/durgod/k320/keymaps/kuenhlee/keymap.c
index ff339dcb54..c03fdb5bf7 100644
--- a/keyboards/durgod/k320/keymaps/kuenhlee/keymap.c
+++ b/keyboards/durgod/k320/keymaps/kuenhlee/keymap.c
@@ -141,5 +141,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 };
 
 void matrix_init_user(void) {
-  set_unicode_input_mode(UC_WINC);
+  set_unicode_input_mode(UNICODE_MODE_WINCOMPOSE);
 }
diff --git a/keyboards/dztech/dz65rgb/keymaps/catrielmuller/config.h b/keyboards/dztech/dz65rgb/keymaps/catrielmuller/config.h
index 966bc5d064..76feedceb0 100644
--- a/keyboards/dztech/dz65rgb/keymaps/catrielmuller/config.h
+++ b/keyboards/dztech/dz65rgb/keymaps/catrielmuller/config.h
@@ -1,3 +1,3 @@
 #define LEADER_TIMEOUT 300
 #define FORCE_NKRO
-#define UNICODE_SELECTED_MODES UC_LNX, UC_MAC, UC_WIN, UC_WINC
\ No newline at end of file
+#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX, UNICODE_MODE_MACOS, UNICODE_MODE_WINDOWS, UNICODE_MODE_WINCOMPOSE
\ No newline at end of file
diff --git a/keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c b/keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c
index 925f5d0509..8bc5edf937 100644
--- a/keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c
+++ b/keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c
@@ -224,7 +224,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     [_CONFIG] = LAYOUT_65_ansi(
         TO(_MAIN), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ACL2,
         KC_NO, KC_PWR, KC_SLEP, KC_WAKE, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT, DB_TOGG, EE_CLR, KC_NO, KC_ACL1,
-        KC_NO, UC_RMOD, UC_MOD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ACL0,
+        KC_NO, UC_PREV, UC_NEXT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ACL0,
         KC_NO, MAGIC_TOGGLE_NKRO, MAGIC_UNHOST_NKRO, MAGIC_HOST_NKRO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
         KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(_INDEX), KC_NO, KC_NO, KC_NO, KC_NO
     ),
diff --git a/keyboards/evyd13/wasdat/keymaps/konstantin/keymap.c b/keyboards/evyd13/wasdat/keymaps/konstantin/keymap.c
index 2c18d9c447..fcbab46b72 100644
--- a/keyboards/evyd13/wasdat/keymaps/konstantin/keymap.c
+++ b/keyboards/evyd13/wasdat/keymaps/konstantin/keymap.c
@@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     [L_FN] = LAYOUT_tkl_iso(
         _______,          _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NUMPAD,  KC_MUTE,
         _______, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  CLEAR,   KC_MPLY, KC_MSTP, KC_VOLU,
-        KC_BTN4, KC_BTN2, KC_MS_U, KC_BTN1, KC_BTN3, KC_BTN5, _______, UC_MOD,  _______, _______, _______, _______, _______,          KC_MPRV, KC_MNXT, KC_VOLD,
+        KC_BTN4, KC_BTN2, KC_MS_U, KC_BTN1, KC_BTN3, KC_BTN5, _______, UC_NEXT, _______, _______, _______, _______, _______,          KC_MPRV, KC_MNXT, KC_VOLD,
         _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, _______,
         _______, _______, KC_ACL0, KC_ACL2, KC_WH_L, KC_WH_R, _______, _______, KC_APP,  _______, _______, _______,          _______,          KC_PGUP,
         _______, DST_P_R, DST_N_A,                            KC_WH_D,                            _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
diff --git a/keyboards/gmmk/gmmk2/p96/ansi/keymaps/default/keymap.c b/keyboards/gmmk/gmmk2/p96/ansi/keymaps/default/keymap.c
index 81dd960377..27d1d74c9f 100644
--- a/keyboards/gmmk/gmmk2/p96/ansi/keymaps/default/keymap.c
+++ b/keyboards/gmmk/gmmk2/p96/ansi/keymaps/default/keymap.c
@@ -42,5 +42,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,   _______,  _______,  _______,  _______,  _______,
   _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,             _______,  _______,  _______,
   _______,  RGB_HUI,  RGB_HUD,  RGB_SPD,  RGB_SPI,  _______,  _______,  _______,  _______,  _______,  _______,  _______,   RGB_VAI,  _______,  _______,  _______,  _______,
-	_______,  UC_M_WI,  _______,                      _______,                                _______,  _______,  _______, RGB_RMOD,   RGB_VAD,  RGB_MOD,  _______,  _______)
+	_______,  UC_WIN,   _______,                      _______,                                _______,  _______,  _______, RGB_RMOD,   RGB_VAD,  RGB_MOD,  _______,  _______)
 };
diff --git a/keyboards/gmmk/gmmk2/p96/ansi/keymaps/via/keymap.c b/keyboards/gmmk/gmmk2/p96/ansi/keymaps/via/keymap.c
index 0df96f3ec1..15c2b2b3b9 100644
--- a/keyboards/gmmk/gmmk2/p96/ansi/keymaps/via/keymap.c
+++ b/keyboards/gmmk/gmmk2/p96/ansi/keymaps/via/keymap.c
@@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,   _______,  _______,  _______,  _______,  _______,
   _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,             _______,  _______,  _______,
   _______,  RGB_HUI,  RGB_HUD,  RGB_SPD,  RGB_SPI,  _______,  _______,  _______,  _______,  _______,  _______,  _______,   RGB_VAI,  _______,  _______,  _______,  _______,
-	_______,  UC_M_WI,  _______,                      _______,                                _______,  _______,  _______, RGB_RMOD,   RGB_VAD,  RGB_MOD,  _______,  _______),
+	_______,  UC_WIN,  _______,                      _______,                                _______,  _______,  _______, RGB_RMOD,   RGB_VAD,  RGB_MOD,  _______,  _______),
 [2] = LAYOUT(
     _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,   _______,  _______,  _______,  _______,  _______,
   _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,   _______,  _______,  _______,  _______,  _______,
diff --git a/keyboards/gmmk/gmmk2/p96/iso/keymaps/default/keymap.c b/keyboards/gmmk/gmmk2/p96/iso/keymaps/default/keymap.c
index eae862138c..8662bdf630 100644
--- a/keyboards/gmmk/gmmk2/p96/iso/keymaps/default/keymap.c
+++ b/keyboards/gmmk/gmmk2/p96/iso/keymaps/default/keymap.c
@@ -40,5 +40,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,   _______,  _______,  _______,  _______,  _______,
   _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,             _______,  _______,  _______,
   _______,  _______,  RGB_SAI,  RGB_SAD,  RGB_SPD,  RGB_SPI,  _______,  _______,  _______,  _______,  _______,  _______,  _______,   RGB_VAI,  _______,  _______,  _______,  _______,
-  _______,  UC_M_WI,  _______,                      _______,                                _______,  _______,  _______, RGB_RMOD,   RGB_VAD,  RGB_MOD,  _______,  _______)
+  _______,  UC_WIN,   _______,                      _______,                                _______,  _______,  _______, RGB_RMOD,   RGB_VAD,  RGB_MOD,  _______,  _______)
 };
diff --git a/keyboards/gmmk/gmmk2/p96/iso/keymaps/via/keymap.c b/keyboards/gmmk/gmmk2/p96/iso/keymaps/via/keymap.c
index 0ddc19b954..1b73959bce 100644
--- a/keyboards/gmmk/gmmk2/p96/iso/keymaps/via/keymap.c
+++ b/keyboards/gmmk/gmmk2/p96/iso/keymaps/via/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,   _______,  _______,  _______,  _______,  _______,
   _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,             _______,  _______,  _______,
   _______,  _______,  RGB_SAI,  RGB_SAD,  RGB_SPD,  RGB_SPI,  _______,  _______,  _______,  _______,  _______,  _______,  _______,   RGB_VAI,  _______,  _______,  _______,  _______,
-	_______,  UC_M_WI,  _______,                      _______,                                _______,  _______,  _______, RGB_RMOD,   RGB_VAD,  RGB_MOD,  _______,  _______),
+	_______,  UC_WIN,   _______,                      _______,                                _______,  _______,  _______, RGB_RMOD,   RGB_VAD,  RGB_MOD,  _______,  _______),
 [2] = LAYOUT(
     _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,   _______,  _______,  _______,  _______,  _______,
   _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,   _______,  _______,  _______,  _______,  _______,
diff --git a/keyboards/handwired/2x5keypad/keymaps/default_tapdance/keymap.c b/keyboards/handwired/2x5keypad/keymaps/default_tapdance/keymap.c
index d567c9febd..c70ecd5562 100644
--- a/keyboards/handwired/2x5keypad/keymaps/default_tapdance/keymap.c
+++ b/keyboards/handwired/2x5keypad/keymaps/default_tapdance/keymap.c
@@ -135,7 +135,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 
 void matrix_init_user(void)
 {
-    set_unicode_input_mode(UC_WINC);  /* See https://jayliu50.github.io/qmk-cheatsheet/ */
+    set_unicode_input_mode(UNICODE_MODE_WINCOMPOSE);  /* See https://jayliu50.github.io/qmk-cheatsheet/ */
 }
 
 
diff --git a/keyboards/handwired/aek64/keymaps/4sstylz/keymap.c b/keyboards/handwired/aek64/keymaps/4sstylz/keymap.c
index 4b1c571e35..0c9c5a7c18 100644
--- a/keyboards/handwired/aek64/keymaps/4sstylz/keymap.c
+++ b/keyboards/handwired/aek64/keymaps/4sstylz/keymap.c
@@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 // Set the unicode input mode for using UC.
 void matrix_init_user(void) {
-  set_unicode_input_mode(UC_LNX);
+  set_unicode_input_mode(UNICODE_MODE_LINUX);
 }
 
 // Processing all the key pressed.
diff --git a/keyboards/handwired/d48/keymaps/anderson/keymap.c b/keyboards/handwired/d48/keymaps/anderson/keymap.c
index adead97505..ae5ed7ad86 100644
--- a/keyboards/handwired/d48/keymaps/anderson/keymap.c
+++ b/keyboards/handwired/d48/keymaps/anderson/keymap.c
@@ -133,7 +133,7 @@ void keyboard_post_init_user(void) {
 }
 
 void eeconfig_init_user(void) {
-    set_unicode_input_mode(UC_LNX);
+    set_unicode_input_mode(UNICODE_MODE_LINUX);
 }
 
 void matrix_init_user(void) {
diff --git a/keyboards/handwired/d48/keymaps/default/keymap.c b/keyboards/handwired/d48/keymaps/default/keymap.c
index 5dbd66a71b..388a0726d5 100644
--- a/keyboards/handwired/d48/keymaps/default/keymap.c
+++ b/keyboards/handwired/d48/keymaps/default/keymap.c
@@ -110,7 +110,7 @@ void keyboard_post_init_user(void) {
 }
 
 void eeconfig_init_user(void) {
-    set_unicode_input_mode(UC_LNX);
+    set_unicode_input_mode(UNICODE_MODE_LINUX);
 }
 
 static uint32_t last_update = 0;
diff --git a/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c b/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c
index 8ed2443441..afd1eb399e 100644
--- a/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c
+++ b/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c
@@ -339,7 +339,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 
 // Unicode input mode set to Windows using WinCompose
 void matrix_init_user(void) {
-    set_unicode_input_mode(UC_WINC);
+    set_unicode_input_mode(UNICODE_MODE_WINCOMPOSE);
 };
 #ifdef OLED_ENABLE
 bool oled_task_user(void) {
diff --git a/keyboards/handwired/promethium/keymaps/default/keymap.c b/keyboards/handwired/promethium/keymaps/default/keymap.c
index 00ba10b769..ff95655242 100644
--- a/keyboards/handwired/promethium/keymaps/default/keymap.c
+++ b/keyboards/handwired/promethium/keymaps/default/keymap.c
@@ -603,14 +603,14 @@ void led_set_unicode_input_mode(void) {
   rgbsps_set(LED_IND_WINDOWS, COLOR_BLANK);
 
   switch (get_unicode_input_mode()) {
-    case UC_LNX:
+    case UNICODE_MODE_LINUX:
       rgbsps_set(LED_IND_LINUX, THEME_COLOR_LINUX);
       break;
-    case UC_MAC:
+    case UNICODE_MODE_MACOS:
       rgbsps_set(LED_IND_APPLE, THEME_COLOR_APPLE);
       break;
-    case UC_WIN:
-    case UC_WINC:
+    case UNICODE_MODE_WINDOWS:
+    case UNICODE_MODE_WINCOMPOSE:
       rgbsps_set(LED_IND_WINDOWS, THEME_COLOR_WINDOWS);
       break;
   }
@@ -1199,21 +1199,21 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 
     // OS switchers
     case LINUX:
-      set_unicode_input_mode(UC_LNX);
+      set_unicode_input_mode(UNICODE_MODE_LINUX);
 #ifdef RGBSPS_ENABLE
       led_set_unicode_input_mode();
 #endif
       return false;
       break;
     case WIN:
-      set_unicode_input_mode(UC_WINC);
+      set_unicode_input_mode(UNICODE_MODE_WINCOMPOSE);
 #ifdef RGBSPS_ENABLE
       led_set_unicode_input_mode();
 #endif
       return false;
       break;
     case OSX:
-      set_unicode_input_mode(UC_MAC);
+      set_unicode_input_mode(UNICODE_MODE_MACOS);
 #ifdef RGBSPS_ENABLE
       led_set_unicode_input_mode();
 #endif
@@ -1278,7 +1278,7 @@ void set_output_user(uint8_t output) {
 void matrix_init_user() {
   wait_ms(500); // give time for usb to initialize
 
-  set_unicode_input_mode(UC_LNX);
+  set_unicode_input_mode(UNICODE_MODE_LINUX);
 
 #ifdef RGBSPS_ENABLE
   led_init();
diff --git a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c
index 3bfcd61a1a..9d3f01b812 100644
--- a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c
+++ b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c
@@ -606,14 +606,14 @@ void led_set_unicode_input_mode(void) {
   rgbsps_set(LED_IND_WINDOWS, COLOR_BLANK);
 
   switch (get_unicode_input_mode()) {
-    case UC_LNX:
+    case UNICODE_MODE_LINUX:
       rgbsps_set(LED_IND_LINUX, THEME_COLOR_LINUX);
       break;
-    case UC_MAC:
+    case UNICODE_MODE_MACOS:
       rgbsps_set(LED_IND_APPLE, THEME_COLOR_APPLE);
       break;
-    case UC_WIN:
-    case UC_WINC:
+    case UNICODE_MODE_WINDOWS:
+    case UNICODE_MODE_WINCOMPOSE:
       rgbsps_set(LED_IND_WINDOWS, THEME_COLOR_WINDOWS);
       break;
   }
@@ -1202,21 +1202,21 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 
     // OS switchers
     case LINUX:
-      set_unicode_input_mode(UC_LNX);
+      set_unicode_input_mode(UNICODE_MODE_LINUX);
 #ifdef RGBSPS_ENABLE
       led_set_unicode_input_mode();
 #endif
       return false;
       break;
     case WIN:
-      set_unicode_input_mode(UC_WINC);
+      set_unicode_input_mode(UNICODE_MODE_WINCOMPOSE);
 #ifdef RGBSPS_ENABLE
       led_set_unicode_input_mode();
 #endif
       return false;
       break;
     case OSX:
-      set_unicode_input_mode(UC_MAC);
+      set_unicode_input_mode(UNICODE_MODE_MACOS);
 #ifdef RGBSPS_ENABLE
       led_set_unicode_input_mode();
 #endif
@@ -1281,7 +1281,7 @@ void set_output_user(uint8_t output) {
 void matrix_init_user() {
   wait_ms(500); // give time for usb to initialize
 
-  set_unicode_input_mode(UC_LNX);
+  set_unicode_input_mode(UNICODE_MODE_LINUX);
 
 #ifdef RGBSPS_ENABLE
   led_init();
diff --git a/keyboards/handwired/t111/keymaps/oleg/config.h b/keyboards/handwired/t111/keymaps/oleg/config.h
index 22ae5bcf4c..b4f15ae896 100644
--- a/keyboards/handwired/t111/keymaps/oleg/config.h
+++ b/keyboards/handwired/t111/keymaps/oleg/config.h
@@ -17,4 +17,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-#define UNICODE_SELECTED_MODES UC_WIN, UC_WINC
\ No newline at end of file
+#define UNICODE_SELECTED_MODES UNICODE_MODE_WINDOWS, UNICODE_MODE_WINCOMPOSE
\ No newline at end of file
diff --git a/keyboards/handwired/t111/keymaps/oleg/keymap.c b/keyboards/handwired/t111/keymaps/oleg/keymap.c
index 9d66ded502..0a00151f89 100644
--- a/keyboards/handwired/t111/keymaps/oleg/keymap.c
+++ b/keyboards/handwired/t111/keymaps/oleg/keymap.c
@@ -116,7 +116,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * `-------------------------------------------------------------------------------------------------------------------------------------'
 */    
     [1] = LAYOUT(
-    VRSN,             KC_SLEP, _______, UC_MOD,  _______, _______, _______, _______, _______, _______,        _______,        _______, _______, _______, _______, _______, _______,
+    VRSN,             KC_SLEP, _______, UC_NEXT, _______, _______, _______, _______, _______, _______,        _______,        _______, _______, _______, _______, _______, _______,
     _______, _______, X(UAT),  X(UHSH), X(UDLR), X(USCT), X(UCFX), X(UAMP), X(UAST), _______, _______,        _______,               _______, _______, _______, _______, _______, KC_CALC, _______, _______, _______,
     _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_BTN3, _______, _______, _______, KC_SYRQ, KC_SCRL, KC_PAUS,        XP(ULSB, ULCB), XP(URSB, URCB),        _______,   _______, _______, _______, _______, _______, _______,
     _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN5, _______, _______, _______, _______, _______, XP(USCO, UCLN), XP(UAPO, UQOT),        _______,                          _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/keymap.c b/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/keymap.c
index dde663b6ac..bb873a33f7 100644
--- a/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/keymap.c
+++ b/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/keymap.c
@@ -107,7 +107,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     [_ADJUST] = LAYOUT_4x6_right_wrapper(
         QK_MAKE, _________________ADJUST_L1_________________,                      _________________ADJUST_R1_________________, QK_BOOT,
         VRSN,    _________________ADJUST_L2_________________,                      _________________ADJUST_R2_________________, EE_CLR,
-        UC_MOD,  _________________ADJUST_L3_________________,                      _________________ADJUST_R3_________________, TG_MODS,
+        UC_NEXT, _________________ADJUST_L3_________________,                      _________________ADJUST_R3_________________, TG_MODS,
                           HPT_DWLI, HPT_DWLD,                                                        TG_GAME, TG_DBLO,
                                             HPT_TOG, HPT_BUZ,                               KC_NUKE,
                                                      _______, _______,             _______,
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c
index 1a46317a42..a96630842d 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c
@@ -123,7 +123,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         QK_MAKE, KC_WIDE,KC_AUSSIE,KC_SCRIPT,KC_ZALGO,KC_NOMODE,                 KC_NOMODE,KC_BLOCKS,KC_REGIONAL,_______,_______, QK_BOOT,
         VRSN,    _________________ADJUST_L1_________________,                        _________________ADJUST_R1_________________, EE_CLR,
         KEYLOCK, _________________ADJUST_L2_________________,                        _________________ADJUST_R2_________________, TG_MODS,
-        UC_MOD,  _________________ADJUST_L3_________________,                        _________________ADJUST_R3_________________, KC_MPLY,
+        UC_NEXT, _________________ADJUST_L3_________________,                        _________________ADJUST_R3_________________, KC_MPLY,
                    TG(_DIABLOII), AUTO_CTN,                                                            TG_GAME, TG_DBLO,
                                             _______, QK_RBT,                                  KC_NUKE,
                                                      _______, _______,               _______,
diff --git a/keyboards/handwired/videowriter/keymaps/oleg/keymap.c b/keyboards/handwired/videowriter/keymaps/oleg/keymap.c
index 1568b2f61b..94e3fbcfe1 100644
--- a/keyboards/handwired/videowriter/keymaps/oleg/keymap.c
+++ b/keyboards/handwired/videowriter/keymaps/oleg/keymap.c
@@ -103,6 +103,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 
 
 void matrix_init_user(void) {
-  set_unicode_input_mode(UC_WIN);
+  set_unicode_input_mode(UNICODE_MODE_WINDOWS);
 }
 
diff --git a/keyboards/handwired/wulkan/keymaps/default/keymap.c b/keyboards/handwired/wulkan/keymaps/default/keymap.c
index 6ae4ad0b86..2612c084fd 100644
--- a/keyboards/handwired/wulkan/keymaps/default/keymap.c
+++ b/keyboards/handwired/wulkan/keymaps/default/keymap.c
@@ -107,5 +107,5 @@ layer_state_t layer_state_set_user(layer_state_t state) {
 }
 
 void eeconfig_init_user(void) {
-  set_unicode_input_mode(UC_LNX);
+  set_unicode_input_mode(UNICODE_MODE_LINUX);
 }
diff --git a/keyboards/idobao/id75/keymaps/gkbd/config.h b/keyboards/idobao/id75/keymaps/gkbd/config.h
index 35572307c0..35e479fdf6 100644
--- a/keyboards/idobao/id75/keymaps/gkbd/config.h
+++ b/keyboards/idobao/id75/keymaps/gkbd/config.h
@@ -16,7 +16,7 @@
 
 #pragma once
 
-#define UNICODE_SELECTED_MODES UC_WINC
+#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE
 
 /* Selected Unicode input method relies on WinCompose
  * https://docs.qmk.fm/#/feature_unicode?id=input-modes
diff --git a/keyboards/input_club/ergodox_infinity/keymaps/not-quite-neo/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/not-quite-neo/keymap.c
index bfbe2a0318..be1edfc019 100644
--- a/keyboards/input_club/ergodox_infinity/keymaps/not-quite-neo/keymap.c
+++ b/keyboards/input_club/ergodox_infinity/keymaps/not-quite-neo/keymap.c
@@ -258,7 +258,7 @@ L06 -> <TBD>: UNSPECIFIED
 
 // Runs just one time when the keyboard initializes.
 void matrix_init_user(void) {
-  set_unicode_input_mode(UC_LNX);
+  set_unicode_input_mode(UNICODE_MODE_LINUX);
 };
 
 
diff --git a/keyboards/input_club/whitefox/keymaps/konstantin/keymap.c b/keyboards/input_club/whitefox/keymaps/konstantin/keymap.c
index a7273b6902..d89888aa59 100644
--- a/keyboards/input_club/whitefox/keymaps/konstantin/keymap.c
+++ b/keyboards/input_club/whitefox/keymaps/konstantin/keymap.c
@@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
      */
     [L_FN] = LAYOUT_truefox(
         _______, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  NUMPAD,  KC_SCRL, KC_PAUS,
-        KC_BTN4, KC_BTN2, KC_MS_U, KC_BTN1, KC_BTN3, KC_BTN5, _______, UC_MOD,  _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, CLEAR,            KC_INS,
+        KC_BTN4, KC_BTN2, KC_MS_U, KC_BTN1, KC_BTN3, KC_BTN5, _______, UC_NEXT, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, CLEAR,            KC_INS,
         _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_U, _______, _______, _______, _______, _______, _______, _______,          _______,          TOP,
         _______,          KC_ACL0, KC_ACL2, KC_WH_L, KC_WH_R, _______, _______, KC_APP,  KC_VOLD, KC_VOLU, KC_MUTE, _______,          KC_PGUP, BOTTOM,
         _______, DST_P_R, DST_N_A,                            KC_WH_D,                   _______, _______,                   KC_HOME, KC_PGDN, KC_END
diff --git a/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/keymap.c b/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/keymap.c
index faf90b624e..9cdf31ce9b 100644
--- a/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/keymap.c
+++ b/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/keymap.c
@@ -161,7 +161,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 }
 
 void eeconfig_init_user(void) {
-  set_unicode_input_mode(UC_MAC);
+  set_unicode_input_mode(UNICODE_MODE_MACOS);
 }
 
 void matrix_init_user(void) {
diff --git a/keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c b/keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c
index fe0080375a..e822b39276 100644
--- a/keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c
+++ b/keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c
@@ -27,7 +27,7 @@
 
 //Unicode keymaps
 void eeconfig_init_user(void) {
-  set_unicode_input_mode(UC_LNX);
+  set_unicode_input_mode(UNICODE_MODE_LINUX);
 }
 #define DE_ADIA     UC(0x00E4)
 #define DE_SS       UC(0x00DF)
diff --git a/keyboards/keebio/levinson/keymaps/drogglbecher/keymap.c b/keyboards/keebio/levinson/keymaps/drogglbecher/keymap.c
index b8d2dc5949..4906faf4ef 100644
--- a/keyboards/keebio/levinson/keymaps/drogglbecher/keymap.c
+++ b/keyboards/keebio/levinson/keymaps/drogglbecher/keymap.c
@@ -72,5 +72,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 };
 
 void matrix_init_user(void) {
-    set_unicode_input_mode(UC_LNX);
+    set_unicode_input_mode(UNICODE_MODE_LINUX);
 };
diff --git a/keyboards/keebio/nyquist/keymaps/bramver/keymap.c b/keyboards/keebio/nyquist/keymaps/bramver/keymap.c
index 0448862023..183a77cc2d 100644
--- a/keyboards/keebio/nyquist/keymaps/bramver/keymap.c
+++ b/keyboards/keebio/nyquist/keymaps/bramver/keymap.c
@@ -241,7 +241,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 };
 
 void matrix_init_user(void) {
-  set_unicode_input_mode(UC_LNX);
+  set_unicode_input_mode(UNICODE_MODE_LINUX);
 };
 
 
diff --git a/keyboards/keebio/quefrency/keymaps/bramver/keymap.c b/keyboards/keebio/quefrency/keymaps/bramver/keymap.c
index 1b8738a1d2..6b0ddfe8da 100644
--- a/keyboards/keebio/quefrency/keymaps/bramver/keymap.c
+++ b/keyboards/keebio/quefrency/keymaps/bramver/keymap.c
@@ -127,5 +127,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 };
 
 void matrix_init_user(void) {
-  set_unicode_input_mode(UC_LNX);
+  set_unicode_input_mode(UNICODE_MODE_LINUX);
 };
diff --git a/keyboards/keychron/q1/rev_0102/keymaps/victorsavu3/config.h b/keyboards/keychron/q1/rev_0102/keymaps/victorsavu3/config.h
index 8120a9352a..4019f83429 100644
--- a/keyboards/keychron/q1/rev_0102/keymaps/victorsavu3/config.h
+++ b/keyboards/keychron/q1/rev_0102/keymaps/victorsavu3/config.h
@@ -61,7 +61,7 @@
 #define RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS 50
 
 // Unicode for Linux
-#define UNICODE_SELECTED_MODES UC_LNX
+#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX
 #define UNICODE_KEY_LNX  LCTL(LSFT(KC_U))
 
 // Leader config
diff --git a/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/config.h b/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/config.h
index 2de4c8f889..50c75ee7f6 100755
--- a/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/config.h
+++ b/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/config.h
@@ -16,7 +16,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 #pragma once
 
-#define UNICODE_SELECTED_MODES UC_WINC, UC_WIN, UC_LNX, UC_MAC
+#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_WINDOWS, UNICODE_MODE_LINUX, UNICODE_MODE_MACOS
 #define UNICODE_CYCLE_PERSIST false
 
 #ifdef RGB_DI_PIN
diff --git a/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/keymap.c b/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/keymap.c
index f201c3d88f..6a4ca7550d 100755
--- a/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/keymap.c
+++ b/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/keymap.c
@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         KC_NO, KC_NO, KC_NO, UC(L'€'), UC(L'§'), UC(L'°'), KC_NO, UC(L'ü'), KC_NO, UC(L'ö'), UC(L'–'), KC_NO,
         KC_NO, UC(L'ä'), UC(L'ß'), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
         MO(_UNI2), UC(L'„'), UC(L'“'), UC(L'”'), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, UC(L'…'), KC_NO,
-        KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, UC_MOD
+        KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, UC_NEXT
     ),
     [_UNI2] = LAYOUT(
         KC_NO, KC_NO, KC_NO, UC(L'é'), KC_NO, KC_NO, KC_NO, UC(L'Ü'), KC_NO, UC(L'Ö'), UC(L'—'), KC_NO,
diff --git a/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/readme.md b/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/readme.md
index f277cc284a..704be0e416 100755
--- a/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/readme.md
+++ b/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/readme.md
@@ -88,7 +88,7 @@ UNI Layer
 * Umlauts
 * Punctuation
 * Special Characters
-* Switching [Input Modes](https://beta.docs.qmk.fm/using-qmk/software-features/feature_unicode#2-input-modes-id-input-modes) (UC_WINC, UC_WIN, UC_LNX, UC_MAC)
+* Switching [Input Modes](https://beta.docs.qmk.fm/using-qmk/software-features/feature_unicode#2-input-modes-id-input-modes) (UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_WINDOWS, UNICODE_MODE_LINUX, UNICODE_MODE_MACOS)
 
 ## 5 UNI2 Layer
 ```
diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/config.h b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/config.h
index 81750ce50b..4eba7eea7d 100644
--- a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/config.h
+++ b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/config.h
@@ -4,4 +4,4 @@
 #pragma once
 
 #define TAPPING_TERM 175
-#define UNICODE_SELECTED_MODES UC_LNX
+#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX
diff --git a/keyboards/ktec/ergodone/keymaps/vega/keymap.c b/keyboards/ktec/ergodone/keymaps/vega/keymap.c
index 5e166f940a..eafbdda513 100644
--- a/keyboards/ktec/ergodone/keymaps/vega/keymap.c
+++ b/keyboards/ktec/ergodone/keymaps/vega/keymap.c
@@ -649,8 +649,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 [FNLR] = LAYOUT_ergodox(
        // left hand
-       UC_M_LN,   KC_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_NO,
-       UC_M_WC,KC_F11, KC_F12, KC_F13,KC_F14, KC_F15,  KC_NO,
+       UC_LINX,   KC_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_NO,
+       UC_WINC,KC_F11, KC_F12, KC_F13,KC_F14, KC_F15,  KC_NO,
        TO(TINY),KC_F21, KC_F22, KC_F23,KC_F24, MAGIC_TOGGLE_NKRO,
        TO(FULL),KC_PAUSE,KC_PSCR,KC_SCRL,KC_NO,KC_NO,KC_NO,
           EE_CLR,TO(BASE),TO(BASE),TO(BASE),TO(BASE),
@@ -658,8 +658,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
                                                KC_NO,
                                KC_NO,KC_NO,KC_NO,
        // right hand
-       TO(BASE), KC_F6,   KC_F7,  KC_F8,   KC_F9,   KC_F10,  UC_M_LN,
-       KC_NO, KC_F16,  KC_F17,KC_F18,   KC_F19,  KC_F20,  UC_M_WI,
+       TO(BASE), KC_F6,   KC_F7,  KC_F8,   KC_F9,   KC_F10,  UC_LINX,
+       KC_NO, KC_F16,  KC_F17,KC_F18,   KC_F19,  KC_F20,  UC_WIN,
                 KC_NO, KC_NO,   KC_NO,    KC_NO,    KC_NO, KC_NO,
        KC_NO, KC_NO, KC_NO,   KC_NO,    KC_NO,    KC_NO, KC_NO,
                          KC_NO,KC_NO,  KC_NO,    KC_NO,  KC_NO,
diff --git a/keyboards/lyso1/lck75/config.h b/keyboards/lyso1/lck75/config.h
index a631992eb8..b5d6bb1331 100644
--- a/keyboards/lyso1/lck75/config.h
+++ b/keyboards/lyso1/lck75/config.h
@@ -60,7 +60,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #define OLED_TIMEOUT 10000
 
-#define UNICODE_SELECTED_MODES UC_WINC, UC_MAC, UC_LNX
+#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_MACOS, UNICODE_MODE_LINUX
 
 #define UNICODE_CYCLE_PERSIST false
 
diff --git a/keyboards/massdrop/alt/keymaps/charlesrocket/config.h b/keyboards/massdrop/alt/keymaps/charlesrocket/config.h
index 90b4a27f33..119477f80d 100644
--- a/keyboards/massdrop/alt/keymaps/charlesrocket/config.h
+++ b/keyboards/massdrop/alt/keymaps/charlesrocket/config.h
@@ -16,4 +16,4 @@
 
 #pragma once
 
-#define UNICODE_SELECTED_MODES UC_BSD, UC_MAC, UC_LNX
+#define UNICODE_SELECTED_MODES UNICODE_MODE_BSD, UNICODE_MODE_MACOS, UNICODE_MODE_LINUX
diff --git a/keyboards/massdrop/alt/keymaps/charlesrocket/keymap.c b/keyboards/massdrop/alt/keymaps/charlesrocket/keymap.c
index cfc3629714..edd906deb5 100644
--- a/keyboards/massdrop/alt/keymaps/charlesrocket/keymap.c
+++ b/keyboards/massdrop/alt/keymaps/charlesrocket/keymap.c
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
         _______, _______, _______, EE_CLR,  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______, _______,
-        _______, UC_RMOD, UC_MOD,  _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______,          _______, _______,
+        _______, UC_PREV, UC_NEXT, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______,          _______, _______,
         _______, LAG_SWP, LAG_NRM,                            _______,                            _______, TG(3),   _______, _______, _______
     ),
     [3] = LAYOUT(
diff --git a/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c b/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c
index ee48567aba..c55bc30ada 100644
--- a/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c
+++ b/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c
@@ -65,7 +65,7 @@ void matrix_scan_user(void) {
     }
     //tableflip (LEADER - TF)
     SEQ_TWO_KEYS(KC_T, KC_F) {
-        set_unicode_input_mode(UC_MAC);
+        set_unicode_input_mode(UNICODE_MODE_MACOS);
         send_unicode_string("(ノಠ痊ಠ)ノ彡┻━┻");
     }
     //screencap (LEADER - SC)
@@ -74,7 +74,7 @@ void matrix_scan_user(void) {
     }
     //screencap (LEADER - TM)
     SEQ_TWO_KEYS(KC_T, KC_M) {
-        set_unicode_input_mode(UC_MAC);
+        set_unicode_input_mode(UNICODE_MODE_MACOS);
         register_unicode(0x2122); // ™
     }
     /*
diff --git a/keyboards/mitosis/keymaps/nzen/keymap.c b/keyboards/mitosis/keymaps/nzen/keymap.c
index 4fed93f67c..07816067b4 100644
--- a/keyboards/mitosis/keymaps/nzen/keymap.c
+++ b/keyboards/mitosis/keymaps/nzen/keymap.c
@@ -203,5 +203,5 @@ void matrix_scan_user(void) {
 };
 
 void matrix_init_user(void) {
-	set_unicode_input_mode(UC_LNX); // or UC_WINC
+	set_unicode_input_mode(UNICODE_MODE_LINUX); // or UNICODE_MODE_WINCOMPOSE
 };
diff --git a/keyboards/mlego/m48/keymaps/default/config.h b/keyboards/mlego/m48/keymaps/default/config.h
index b1aed18a18..d3e949574f 100644
--- a/keyboards/mlego/m48/keymaps/default/config.h
+++ b/keyboards/mlego/m48/keymaps/default/config.h
@@ -18,4 +18,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #pragma once
 
 #define TAPPING_TOGGLE 2
-#define UNICODE_SELECTED_MODES UC_LNX, UC_MAC, UC_WINC
+#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX, UNICODE_MODE_MACOS, UNICODE_MODE_WINCOMPOSE
diff --git a/keyboards/mlego/m60/keymaps/default/config.h b/keyboards/mlego/m60/keymaps/default/config.h
index b1aed18a18..d3e949574f 100644
--- a/keyboards/mlego/m60/keymaps/default/config.h
+++ b/keyboards/mlego/m60/keymaps/default/config.h
@@ -18,4 +18,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #pragma once
 
 #define TAPPING_TOGGLE 2
-#define UNICODE_SELECTED_MODES UC_LNX, UC_MAC, UC_WINC
+#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX, UNICODE_MODE_MACOS, UNICODE_MODE_WINCOMPOSE
diff --git a/keyboards/mlego/m60_split/keymaps/default/config.h b/keyboards/mlego/m60_split/keymaps/default/config.h
index b1aed18a18..d3e949574f 100644
--- a/keyboards/mlego/m60_split/keymaps/default/config.h
+++ b/keyboards/mlego/m60_split/keymaps/default/config.h
@@ -18,4 +18,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #pragma once
 
 #define TAPPING_TOGGLE 2
-#define UNICODE_SELECTED_MODES UC_LNX, UC_MAC, UC_WINC
+#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX, UNICODE_MODE_MACOS, UNICODE_MODE_WINCOMPOSE
diff --git a/keyboards/mlego/m65/keymaps/uk/config.h b/keyboards/mlego/m65/keymaps/uk/config.h
index 7b5ced9ccb..b0c6cfd639 100644
--- a/keyboards/mlego/m65/keymaps/uk/config.h
+++ b/keyboards/mlego/m65/keymaps/uk/config.h
@@ -19,8 +19,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #define TAPPING_TOGGLE 2
 
-#define UNICODE_SELECTED_MODES UC_LNX
-//#define UNICODE_SELECTED_MODES UC_LNX, UC_MAC, UC_WINC
+#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX
+//#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX, UNICODE_MODE_MACOS, UNICODE_MODE_WINCOMPOSE
 
 #ifdef WPM_ENABLE
 #define WPM_SAMPLE_SECONDS 10
diff --git a/keyboards/moonlander/keymaps/drashna/keymap.c b/keyboards/moonlander/keymaps/drashna/keymap.c
index ced94786ef..e38a2828fe 100644
--- a/keyboards/moonlander/keymaps/drashna/keymap.c
+++ b/keyboards/moonlander/keymaps/drashna/keymap.c
@@ -109,7 +109,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         QK_MAKE, KC_WIDE,KC_AUSSIE,KC_SCRIPT,KC_ZALGO,KC_NOMODE,_______,   KC_NUKE,KC_NOMODE,KC_BLOCKS,KC_REGIONAL,_______,_______, QK_BOOT,
         VRSN,    _________________ADJUST_L1_________________, TG(_DIABLOII),  _______, _________________ADJUST_R1_________________, EE_CLR,
         KEYLOCK, _________________ADJUST_L2_________________, _______,        _______, _________________ADJUST_R2_________________, RGB_IDL,
-        UC_MOD,  _________________ADJUST_L3_________________,                          _________________ADJUST_R3_________________, TG_MODS,
+        UC_NEXT, _________________ADJUST_L3_________________,                          _________________ADJUST_R3_________________, TG_MODS,
         _______, _______, _______, _______, _______,          _______,        _______,          _______, _______, _______, _______, AUTO_CTN,
                                             QK_RBT,  _______, _______,        _______, _______, _______
     ),
diff --git a/keyboards/planck/keymaps/buhearns/keymap.c b/keyboards/planck/keymaps/buhearns/keymap.c
index 46029127e7..d20ebbe5b9 100644
--- a/keyboards/planck/keymaps/buhearns/keymap.c
+++ b/keyboards/planck/keymaps/buhearns/keymap.c
@@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   UC(0xB0), UC(0xB9), UC(0xB2), UC(0xB3), UC(0xDF),   UC(0x20AC), KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,
   KC_TRNS,  UC(0xC4), UC(0xD6), UC(0xDC), UC(0xBB),   UC(0xAB),   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,
   KC_TRNS,  UC(0xE4), UC(0xF6), UC(0xFC), UC(0x2022), KC_NO,      KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,
-  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,    KC_TRNS,    KC_TRNS, KC_TRNS, UC_M_MA, UC_M_LN, UC_M_WI, UC_M_WC
+  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,    KC_TRNS,    KC_TRNS, KC_TRNS, UC_MAC,  UC_LINX, UC_WIN,  UC_WINC
 )};
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
diff --git a/keyboards/planck/keymaps/mwpeterson/keymap.c b/keyboards/planck/keymaps/mwpeterson/keymap.c
index c3f6a70784..2828192100 100644
--- a/keyboards/planck/keymaps/mwpeterson/keymap.c
+++ b/keyboards/planck/keymaps/mwpeterson/keymap.c
@@ -255,7 +255,7 @@ void plover_lookup(void) {
 }
 
 void matrix_init_user(void) {
-    set_unicode_input_mode(UC_LNX);
+    set_unicode_input_mode(UNICODE_MODE_LINUX);
 };
 
 layer_state_t layer_state_set_user(layer_state_t state) {
diff --git a/keyboards/planck/keymaps/rootiest/config.h b/keyboards/planck/keymaps/rootiest/config.h
index 63275011db..4de638ce29 100644
--- a/keyboards/planck/keymaps/rootiest/config.h
+++ b/keyboards/planck/keymaps/rootiest/config.h
@@ -91,7 +91,7 @@
 /*
  * UNICODE options
  */
-#define UNICODE_SELECTED_MODES UC_WINC, UC_LNX, UC_MAC  // Define the methods used for in/outputting unicode
+#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_LINUX, UNICODE_MODE_MACOS  // Define the methods used for in/outputting unicode
 
 /*
  * TAP-DANCE options
diff --git a/keyboards/planck/keymaps/rootiest/keymap.c b/keyboards/planck/keymaps/rootiest/keymap.c
index 42ba7f033a..68b19e5eba 100644
--- a/keyboards/planck/keymaps/rootiest/keymap.c
+++ b/keyboards/planck/keymaps/rootiest/keymap.c
@@ -413,7 +413,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     * `-----------------------------------------------------------------------------------'
     */
     [_TABULA] = LAYOUT_planck_mit(                                                                                                   //
-        KC_ESC, KC_ALTF4, VK_TOGG, PRINT_WPM_KEY, WAKE_ANI_TOG, WAKE_AUD_TOG, KC_REDO, UC_MOD, UC_M_WC, CG_TOGG, AG_TOGG, KC_DLINE,  //
+        KC_ESC, KC_ALTF4, VK_TOGG, PRINT_WPM_KEY, WAKE_ANI_TOG, WAKE_AUD_TOG, KC_REDO, UC_NEXT, UC_WINC, CG_TOGG, AG_TOGG, KC_DLINE,  //
         KC_NXTAB, KC_SLCTALL, KC_SAVE, KC_TRNS, KC_FIND, SH_TG, SH_TG, IRONY, KC_LCUT, KC_LCOPY, KC_TRNS, KC_KILL,                   //
         KC_LSFT, KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, KC_PRVWD, KC_NXTWD, TG(_MOUSY), KC_TRNS, KC_HOME, KC_END, SC_SENT,              //
         TO(_BASE), KC_LCTL, KC_LGUI, KC_LALT, SC_LSPO, ALT_TAB, SC_RSPC, KC_PRVWD, KC_BRID, KC_BRIU, KC_NXTWD),
@@ -430,7 +430,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
      */
 
     [_MOUSY] = LAYOUT_planck_mit(                                                                                                  //
-        KC_ESC, KC_BTN1, KC_MS_U, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, UC_MOD, UC_M_WC, CG_TOGG, AG_TOGG, KC_BSPC,  //
+        KC_ESC, KC_BTN1, KC_MS_U, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, UC_NEXT, UC_WINC, CG_TOGG, AG_TOGG, KC_BSPC,  //
         KC_TAB, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_TRNS, IRONY, VK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS,                   //
         KC_LSFT, KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, KC_PRVWD, KC_NXTWD, KC_TRNS, KC_HOME, KC_BTN3, KC_END, SC_SENT,               //
         TO(_BASE), KC_LCTL, KC_LGUI, KC_LALT, KC_BTN1, ALT_TAB, KC_BTN2, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R)};
diff --git a/keyboards/planck/keymaps/sascha/keymap.c b/keyboards/planck/keymaps/sascha/keymap.c
index ec4781c78b..aaa2c28215 100644
--- a/keyboards/planck/keymaps/sascha/keymap.c
+++ b/keyboards/planck/keymaps/sascha/keymap.c
@@ -37,5 +37,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 };
 
 void matrix_init_user(void) {
-    set_unicode_input_mode(UC_LNX);
+    set_unicode_input_mode(UNICODE_MODE_LINUX);
 };
diff --git a/keyboards/planck/keymaps/snowkuma/keymap.c b/keyboards/planck/keymaps/snowkuma/keymap.c
index 3dbf680d95..ecf6b0725a 100644
--- a/keyboards/planck/keymaps/snowkuma/keymap.c
+++ b/keyboards/planck/keymaps/snowkuma/keymap.c
@@ -369,5 +369,5 @@ void matrix_scan_user(void) {
 }
 
 void matrix_init_user(void) {
-    set_unicode_input_mode(UC_MAC);
+    set_unicode_input_mode(UNICODE_MODE_MACOS);
 }
diff --git a/keyboards/planck/keymaps/zach/zach_common_functions.c b/keyboards/planck/keymaps/zach/zach_common_functions.c
index 13034897cf..7a594b567f 100644
--- a/keyboards/planck/keymaps/zach/zach_common_functions.c
+++ b/keyboards/planck/keymaps/zach/zach_common_functions.c
@@ -301,7 +301,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     #ifdef UNICODE_ENABLE
     case UNIWIN:
         if(record->event.pressed){
-            set_unicode_input_mode(UC_WIN);
+            set_unicode_input_mode(UNICODE_MODE_WINDOWS);
             #ifdef AUDIO_ENABLE
               PLAY_SONG(uniwin);
             #endif
@@ -310,7 +310,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
         break;
     case UNILIN:
         if(record->event.pressed){
-            set_unicode_input_mode(UC_LNX);
+            set_unicode_input_mode(UNICODE_MODE_LINUX);
             #ifdef AUDIO_ENABLE
               PLAY_SONG(unilin);
             #endif
diff --git a/keyboards/preonic/keymaps/pezhore/config.h b/keyboards/preonic/keymaps/pezhore/config.h
index 727d58c3d0..1c0099ae40 100644
--- a/keyboards/preonic/keymaps/pezhore/config.h
+++ b/keyboards/preonic/keymaps/pezhore/config.h
@@ -15,7 +15,7 @@
  */
 
 #pragma once
-#define UNICODE_SELECTED_MODES UC_WINC, UC_LNX, UC_MAC
+#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_LINUX, UNICODE_MODE_MACOS
 #ifdef AUDIO_ENABLE
     #define STARTUP_SONG SONG(PREONIC_SOUND)
     // #define STARTUP_SONG SONG(NO_SOUND)
diff --git a/keyboards/preonic/keymaps/pezhore/keymap.c b/keyboards/preonic/keymaps/pezhore/keymap.c
index 722f68bcd0..5470a8542d 100644
--- a/keyboards/preonic/keymaps/pezhore/keymap.c
+++ b/keyboards/preonic/keymaps/pezhore/keymap.c
@@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * ,-----------------------------------------------------------------------------------.
  * |RGBTgl|Brigt-|Brigt+|      |      |      |      |      |      |      |      | POOP |
  * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | RGB+ | Hue- | Hue+ |      |      |      |      |      |      |      |PrtScr|UC_MOD|
+ * | RGB+ | Hue- | Hue+ |      |      |      |      |      |      |      |PrtScr|UC_Nxt|
  * |------+------+------+------+------+-------------+------+------+------+------+------|
  * | RGB- | Sat- | Sat+ |      |      |      |      |      |      |      |      |UC_Wnc|
  * |------+------+------+------+------+------|------+------+------+------+------+------|
@@ -76,10 +76,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  */
 [_FN] = LAYOUT_preonic_grid(
   RGB_TOG,  RGB_VAD, RGB_VAI,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  POOP,
-  RGB_MOD,  RGB_HUD, RGB_HUI,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  KC_PSCR,  UC_MOD,
-  RGB_RMOD, RGB_SAD, RGB_SAI,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  UC_M_WC,
-  _______,  RGB_SPD, RGB_SPI,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  UC_M_LN,
-  _______,  SHRUG,   TFLIP,    DPOINT,   STRUT,    _______,  _______,  _______,   _______, TG_NUMP,   _______,  UC_M_MA
+  RGB_MOD,  RGB_HUD, RGB_HUI,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  KC_PSCR,  UC_NEXT,
+  RGB_RMOD, RGB_SAD, RGB_SAI,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  UC_WINC,
+  _______,  RGB_SPD, RGB_SPI,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  UC_LINX,
+  _______,  SHRUG,   TFLIP,    DPOINT,   STRUT,    _______,  _______,  _______,   _______, TG_NUMP,  _______,  UC_MAC
 ),
 
 /* Numpad
diff --git a/keyboards/preonic/keymaps/zach/zach_common_functions.c b/keyboards/preonic/keymaps/zach/zach_common_functions.c
index 13034897cf..7a594b567f 100644
--- a/keyboards/preonic/keymaps/zach/zach_common_functions.c
+++ b/keyboards/preonic/keymaps/zach/zach_common_functions.c
@@ -301,7 +301,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     #ifdef UNICODE_ENABLE
     case UNIWIN:
         if(record->event.pressed){
-            set_unicode_input_mode(UC_WIN);
+            set_unicode_input_mode(UNICODE_MODE_WINDOWS);
             #ifdef AUDIO_ENABLE
               PLAY_SONG(uniwin);
             #endif
@@ -310,7 +310,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
         break;
     case UNILIN:
         if(record->event.pressed){
-            set_unicode_input_mode(UC_LNX);
+            set_unicode_input_mode(UNICODE_MODE_LINUX);
             #ifdef AUDIO_ENABLE
               PLAY_SONG(unilin);
             #endif
diff --git a/keyboards/redox/keymaps/jeherve/config.h b/keyboards/redox/keymaps/jeherve/config.h
index 7e334aee64..689e8f6e4d 100644
--- a/keyboards/redox/keymaps/jeherve/config.h
+++ b/keyboards/redox/keymaps/jeherve/config.h
@@ -33,7 +33,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define RGBLIGHT_SLEEP
 
 /* Set Unicode mode by default */
-#define UNICODE_SELECTED_MODES UC_MAC
+#define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS
 
 /* Custom startup sound */
 #ifdef AUDIO_ENABLE
diff --git a/keyboards/reviung/reviung41/keymaps/ciutadellla/config.h b/keyboards/reviung/reviung41/keymaps/ciutadellla/config.h
index 7d4a356308..4e26907640 100644
--- a/keyboards/reviung/reviung41/keymaps/ciutadellla/config.h
+++ b/keyboards/reviung/reviung41/keymaps/ciutadellla/config.h
@@ -24,4 +24,4 @@
 #endif
 
 #define TAPPING_TERM 200
-#define UNICODE_SELECTED_MODES UC_MAC, UC_LNX, UC_WINC
+#define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS, UNICODE_MODE_LINUX, UNICODE_MODE_WINCOMPOSE
diff --git a/keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c b/keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c
index 6a2fb4de2f..e3ae65a45f 100644
--- a/keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c
+++ b/keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c
@@ -133,7 +133,7 @@
 
 
  void matrix_init_user(){
-     set_unicode_input_mode(UC_MAC);
+     set_unicode_input_mode(UNICODE_MODE_MACOS);
  }
 
 
diff --git a/keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/config.h
index 653695d629..6f3b77b0de 100644
--- a/keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/config.h
+++ b/keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/config.h
@@ -20,4 +20,4 @@
 
 #define TAPPING_FORCE_HOLD
 #define TAPPING_TERM 180
-#define UNICODE_SELECTED_MODES UC_WINC
+#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE
diff --git a/keyboards/signum/3_0/keymaps/default/layout.py b/keyboards/signum/3_0/keymaps/default/layout.py
index 2842bee7db..63fd3c2ac2 100644
--- a/keyboards/signum/3_0/keymaps/default/layout.py
+++ b/keyboards/signum/3_0/keymaps/default/layout.py
@@ -398,7 +398,7 @@ qmk_dict = {
     "_sp_swp": "SHT(KC_SPC)",
     # Unicode support (via X()) included implicitly
     # Switching Unicode Input Modes
-    "UC_win": "UC_M_WC", "UC_lnx": "UC_M_LN", "UC_mac": "UC_M_MA",
+    "UC_win": "UC_WINC", "UC_lnx": "UC_LINX", "UC_mac": "UC_MAC",
 
     # custom keys
     "altF4": "LALT(KC_F4)",
diff --git a/keyboards/spaceman/2_milk/keymaps/emoji/config.h b/keyboards/spaceman/2_milk/keymaps/emoji/config.h
index 2d86c008d5..a564c44a29 100644
--- a/keyboards/spaceman/2_milk/keymaps/emoji/config.h
+++ b/keyboards/spaceman/2_milk/keymaps/emoji/config.h
@@ -1,2 +1,2 @@
-#define UNICODE_SELECTED_MODES UC_LNX, UC_MAC, UC_WIN, UC_WINC
+#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX, UNICODE_MODE_MACOS, UNICODE_MODE_WINDOWS, UNICODE_MODE_WINCOMPOSE
 #define TAPPING_TERM 300
\ No newline at end of file
diff --git a/keyboards/spaceman/2_milk/keymaps/emoji/readme.md b/keyboards/spaceman/2_milk/keymaps/emoji/readme.md
index 3bcc4831b3..43b7dc4257 100644
--- a/keyboards/spaceman/2_milk/keymaps/emoji/readme.md
+++ b/keyboards/spaceman/2_milk/keymaps/emoji/readme.md
@@ -11,14 +11,14 @@ corresponding input mode has to be set in QMK.
 
 Documentation: [Feature Unicode](https://beta.docs.qmk.fm/features/feature_unicode#input-modes)
 
-On this keymap the default unicode mode it's `UC_LNX`.
+On this keymap the default unicode mode it's `UNICODE_MODE_LINUX`.
 You can change it permanently tapping 2 times the KeyOne to select the next mode.
 
 ## Unicode Mode List
-- UC_LNX
-- UC_MAC
-- UC_WIN
-- UC_WINC
+- UNICODE_MODE_LINUX
+- UNICODE_MODE_MACOS
+- UNICODE_MODE_WINDOWS
+- UNICODE_MODE_WINCOMPOSE
 
 # Keymap
 To add more functionality to this Minimal Keyboard, 
diff --git a/keyboards/spaceman/2_milk/keymaps/encg/config.h b/keyboards/spaceman/2_milk/keymaps/encg/config.h
index 4d7e1bb573..abb80c2a34 100644
--- a/keyboards/spaceman/2_milk/keymaps/encg/config.h
+++ b/keyboards/spaceman/2_milk/keymaps/encg/config.h
@@ -16,5 +16,5 @@
 
 #pragma once
 
-#define UNICODE_SELECTED_MODES UC_MAC, UC_WINC
+#define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS, UNICODE_MODE_WINCOMPOSE
 #define UNICODE_CYCLE_PERSIST true
diff --git a/keyboards/spaceman/2_milk/keymaps/encg/readme.md b/keyboards/spaceman/2_milk/keymaps/encg/readme.md
index f1f9cd6c6d..73232ec32f 100644
--- a/keyboards/spaceman/2_milk/keymaps/encg/readme.md
+++ b/keyboards/spaceman/2_milk/keymaps/encg/readme.md
@@ -16,7 +16,7 @@ The bottom button outputs 3 random emojis one by one. The random function takes
 
 ## Unicode Setup
 
-This keymap's default unicode input mode is `UC_WINC` which requires [WinCompose](https://github.com/samhocevar/wincompose). For other OSes, see [QMK documentation on unicode input modes](https://docs.qmk.fm/#/feature_unicode?id=input-modes).
+This keymap's default unicode input mode is `UNICODE_MODE_WINCOMPOSE` which requires [WinCompose](https://github.com/samhocevar/wincompose). For other OSes, see [QMK documentation on unicode input modes](https://docs.qmk.fm/#/feature_unicode?id=input-modes).
 
 ## Ideas for the future
 
diff --git a/keyboards/splitkb/kyria/keymaps/drashna/keymap.c b/keyboards/splitkb/kyria/keymaps/drashna/keymap.c
index 9775454f24..6e403595a1 100644
--- a/keyboards/splitkb/kyria/keymaps/drashna/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/drashna/keymap.c
@@ -92,7 +92,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     [_ADJUST] = LAYOUT_wrapper(
         QK_MAKE, _________________ADJUST_L1_________________,                                       _________________ADJUST_R1_________________, QK_BOOT,
         VRSN,    _________________ADJUST_L2_________________,                                       _________________ADJUST_R2_________________, EE_CLR,
-        UC_MOD,  _________________ADJUST_L3_________________, HPT_TOG, HPT_FBK,   MG_NKRO, UC_MOD,  _________________ADJUST_R3_________________, TG_MODS,
+        UC_NEXT, _________________ADJUST_L3_________________, HPT_TOG, HPT_FBK,   MG_NKRO, UC_NEXT, _________________ADJUST_R3_________________, TG_MODS,
                                    QK_RBT,  _______, KEYLOCK, KC_NUKE, _______,   _______, _______, _______, _______, AUTO_CTN
     ),
 //     [_LAYERINDEX] = LAYOUT_wrapper(
diff --git a/keyboards/splitkb/kyria/keymaps/lw/config.h b/keyboards/splitkb/kyria/keymaps/lw/config.h
index 038a8ff3dd..6766ab5cdb 100644
--- a/keyboards/splitkb/kyria/keymaps/lw/config.h
+++ b/keyboards/splitkb/kyria/keymaps/lw/config.h
@@ -23,4 +23,4 @@
 // #define SPLIT_USB_DETECT
 // #define NO_USB_STARTUP_CHECK
 
-#define UNICODE_SELECTED_MODES UC_LNX, UC_WINC // support for Linux and Windows unicode 
\ No newline at end of file
+#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX, UNICODE_MODE_WINCOMPOSE // support for Linux and Windows unicode 
\ No newline at end of file
diff --git a/keyboards/splitkb/kyria/keymaps/lw/keymap.c b/keyboards/splitkb/kyria/keymaps/lw/keymap.c
index 71b0416209..0e25d2cdf3 100644
--- a/keyboards/splitkb/kyria/keymaps/lw/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/lw/keymap.c
@@ -129,7 +129,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * |--------+------+------+------+------+------|                              |------+------+------+------+------+--------|
  * |        | Brt- | Prev | Bckw | Stop | Vol- |                              |  End | Left | Down | Right|ScrLck| BkSpace|
  * |--------+------+------+------+------+------+-------------.  ,-------------+------+------+------+------+------+--------|
- * | LShift |  ´   |  `   |  ^   |  ¨   | Mute |      |UC_MOD|  |RShift| Menu | PrtSc| ç/Ç  | § °  |      | SAVE | Insert |
+ * | LShift |  ´   |  `   |  ^   |  ¨   | Mute |      |UC_Nxt|  |RShift| Menu | PrtSc| ç/Ç  | § °  |      | SAVE | Insert |
  * `----------------------+------+------+------+------+------|  |------+------+------+------+------+----------------------'
  *                        |LCtrl | LGUI | LAlt |      | MO(1)|  | MO(2)| UNDO |  CUT | COPY | PASTE|
  *                        |      |      |      |      |      |  |      |      |      |      |      |
@@ -138,7 +138,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     [_NAV] = LAYOUT(
  _______, KC_BRIU, KC_MNXT, KC_MFFD, KC_MPLY, KC_VOLU,                                     KC_HOME, KC_PGUP,   KC_UP, KC_PGDN, _______,  KC_DEL,
  _______, KC_BRID, KC_MPRV, KC_MRWD, KC_MSTP, KC_VOLD,                                      KC_END, KC_LEFT, KC_DOWN, KC_RGHT, KC_SCRL, KC_BSPC,
- KC_LSFT, US_ACUT, US_DGRV, US_DCIR, US_DIAE, KC_MUTE, _______,  UC_MOD, KC_RSFT,  KC_APP, KC_PSCR, XP(CEDIL,CEDIL_MAJ), XP(SECTION,DEGREE), _______, LCTL(KC_S),  KC_INS,
+ KC_LSFT, US_ACUT, US_DGRV, US_DCIR, US_DIAE, KC_MUTE, _______, UC_NEXT, KC_RSFT,  KC_APP, KC_PSCR, XP(CEDIL,CEDIL_MAJ), XP(SECTION,DEGREE), _______, LCTL(KC_S),  KC_INS,
                             KC_LCTL, KC_LGUI, KC_LALT, _______,   MO(1),   MO(2), LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V)
     ),
 
diff --git a/keyboards/splitkb/kyria/keymaps/lw/readme.md b/keyboards/splitkb/kyria/keymaps/lw/readme.md
index 67be1950ab..87d4d17e96 100644
--- a/keyboards/splitkb/kyria/keymaps/lw/readme.md
+++ b/keyboards/splitkb/kyria/keymaps/lw/readme.md
@@ -93,7 +93,7 @@ This layer is activated when holding `MO(2)`.
  * |--------+------+------+------+------+------|                              |------+------+------+------+------+--------|
  * |        | Brt- | Prev | Bckw | Stop | Vol- |                              |  End | Left | Down | Right|ScrLck| BkSpace|
  * |--------+------+------+------+------+------+-------------.  ,-------------+------+------+------+------+------+--------|
- * | LShift |  ´   |  `   |  ^   |  ¨   | Mute |      |UC_MOD|  |RShift| Menu | PrtSc| ç/Ç  | § °  |      | SAVE | Insert |
+ * | LShift |  ´   |  `   |  ^   |  ¨   | Mute |      |UC_Nxt|  |RShift| Menu | PrtSc| ç/Ç  | § °  |      | SAVE | Insert |
  * `----------------------+------+------+------+------+------|  |------+------+------+------+------+----------------------'
  *                        |LCtrl | LGUI | LAlt |      | MO(1)|  | MO(2)| UNDO |  CUT | COPY | PASTE|
  *                        |      |      |      |      |      |  |      |      |      |      |      |
@@ -101,4 +101,4 @@ This layer is activated when holding `MO(2)`.
  */
 ```
 
-The key `UC_MOD` allows to switch between Linux and Windows unicode. Note however that [WinCompose](https://github.com/samhocevar/wincompose) must be installed on Windows (simply download and install the latest release and it will run). 
\ No newline at end of file
+The key `UC_NEXT` allows to switch between Linux and Windows unicode. Note however that [WinCompose](https://github.com/samhocevar/wincompose) must be installed on Windows (simply download and install the latest release and it will run). 
\ No newline at end of file
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/josjoha/keymap.c
index 17550a2168..92356446fd 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/keymap.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/keymap.c
@@ -1192,7 +1192,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 //                ,                  ,                  ,                  , -*-              ,                 <|,>              ,         ,                  ,                    ,         ,               ,
         CTO_BASE  , COUNT_TOG        , COUNT_NULL       , COUNT_WORDMIN    , COUNT_REPORT     , SPEED_TOG         , SPEED_REPORT  , KC_MPLY , KC_MNXT          , KC_MPRV            , KC_MSTP , KC_RSFT       ,
         KC_CAPS   , C_KC_PWR         , C_KC_WAKE        , C_KC_SLEP        , C_KC_PAUS        , KC_SCRL           , KC_PSCR       , XXXXXXX , KC_VOLU          , KC_VOLD            , KC_MUTE , KC_INS        ,
-        XP_DRA_CG , UNICODE_MODE_LNX , UNICODE_MODE_BSD , UNICODE_MODE_MAC , UNICODE_MODE_WIN , UNICODE_MODE_WINC , XXXXXXX       , XXXXXXX , KC_BRIGHTNESS_UP , KC_BRIGHTNESS_DOWN , XXXXXXX , KC_APP        ,
+        XP_DRA_CG , UC_LINX          , UC_BSD           , UC_MAC           , UC_WIN           , UC_WINC           , XXXXXXX       , XXXXXXX , KC_BRIGHTNESS_UP , KC_BRIGHTNESS_DOWN , XXXXXXX , KC_APP        ,
 //      -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
         LEDS_ON  
 #     ifdef TRANSMINIVAN_LEFTSIDE
diff --git a/keyboards/xiudi/xd75/keymaps/billypython/keymap.c b/keyboards/xiudi/xd75/keymaps/billypython/keymap.c
index 9f4b7d1942..f902e8c121 100644
--- a/keyboards/xiudi/xd75/keymaps/billypython/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/billypython/keymap.c
@@ -16,7 +16,7 @@
 #define MINUS   UC(0x2212)
 
 void eeconfig_init_user(void) {
-  set_unicode_input_mode(UC_LNX);
+  set_unicode_input_mode(UNICODE_MODE_LINUX);
 }
 
 enum layers {
diff --git a/keyboards/xiudi/xd75/keymaps/bramver/keymap.c b/keyboards/xiudi/xd75/keymaps/bramver/keymap.c
index e816858711..673dbc474d 100644
--- a/keyboards/xiudi/xd75/keymaps/bramver/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/bramver/keymap.c
@@ -94,7 +94,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 void matrix_init_user(void) {
   _delay_ms(20); // Gets rid of tick
-  set_unicode_input_mode(UC_LNX);
+  set_unicode_input_mode(UNICODE_MODE_LINUX);
 }
 
 /* Template for future layers
diff --git a/keyboards/xiudi/xd75/keymaps/markus/config.h b/keyboards/xiudi/xd75/keymaps/markus/config.h
index c56028a5fc..15b0ac8e36 100644
--- a/keyboards/xiudi/xd75/keymaps/markus/config.h
+++ b/keyboards/xiudi/xd75/keymaps/markus/config.h
@@ -46,4 +46,4 @@
 #define MK_W_INTERVAL_1     120
 #define MK_W_OFFSET_2       1
 #define MK_W_INTERVAL_2     20
-#define UNICODE_SELECTED_MODES UC_LNX
+#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX
diff --git a/keyboards/xiudi/xd75/keymaps/markus/keymap.c b/keyboards/xiudi/xd75/keymaps/markus/keymap.c
index dc1590749b..18052f5ef7 100644
--- a/keyboards/xiudi/xd75/keymaps/markus/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/markus/keymap.c
@@ -160,9 +160,9 @@ MO(_FN2), ________, ________, ________, ________, KC_PENT,  KC_P0,    DE_DOT,
  */
 [_FN3] = LAYOUT_ortho_5x15(
 KC_F13,   KC_F14,   KC_F15,   KC_F16,   KC_F17,   KC_F18,   KC_BRID,  ___xx___, KC_BRIU,  KC_F19,   KC_F20,   KC_F21,   KC_F22,   KC_F23,   KC_F24,
-________, QWERTZ,   UC_M_LN,  ___xx___, ___xx___, KC_PWR,   RGB_TOG,  RGB_M_P,  RGB_MOD,  ___xx___, KC_PGUP,  KC_UP,    KC_PGDN,  ___xx___, ___xx___,
-________, QWERTY,   UC_M_WC,  UC(L'›'), UC(L'‹'), KC_SLEP,  RGB_HUI,  RGB_SAI,  RGB_VAI,  KC_HOME,  KC_LEFT,  KC_DOWN,  KC_RIGHT, KC_END,   ________,
-________, GAMING,   UC_M_MA,  UC(L'»'), UC(L'«'), KC_WAKE,  RGB_HUD,  RGB_SAD,  RGB_VAD,  UC(L' '), UC(L' '), UC(L' '), UC(L' '), UC(L'‑'), ________,
+________, QWERTZ,   UC_LINX,  ___xx___, ___xx___, KC_PWR,   RGB_TOG,  RGB_M_P,  RGB_MOD,  ___xx___, KC_PGUP,  KC_UP,    KC_PGDN,  ___xx___, ___xx___,
+________, QWERTY,   UC_WINC,  UC(L'›'), UC(L'‹'), KC_SLEP,  RGB_HUI,  RGB_SAI,  RGB_VAI,  KC_HOME,  KC_LEFT,  KC_DOWN,  KC_RIGHT, KC_END,   ________,
+________, GAMING,   UC_MAC,   UC(L'»'), UC(L'«'), KC_WAKE,  RGB_HUD,  RGB_SAD,  RGB_VAD,  UC(L' '), UC(L' '), UC(L' '), UC(L' '), UC(L'‑'), ________,
 ________, ________, ________, ________, ________, ________, ________, QK_BOOT,  ________, ________, ________, ________, ________, ________, ________
 )
 
diff --git a/keyboards/xiudi/xd75/keymaps/minna/config.h b/keyboards/xiudi/xd75/keymaps/minna/config.h
index 27975f0e24..f8805edc36 100644
--- a/keyboards/xiudi/xd75/keymaps/minna/config.h
+++ b/keyboards/xiudi/xd75/keymaps/minna/config.h
@@ -4,4 +4,4 @@
 #pragma once
 
 // place overrides here
-#define UNICODE_SELECTED_MODES UC_WINC, UC_LNX, UC_MAC
\ No newline at end of file
+#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_LINUX, UNICODE_MODE_MACOS
\ No newline at end of file
diff --git a/keyboards/xiudi/xd75/keymaps/minna/keymap.c b/keyboards/xiudi/xd75/keymaps/minna/keymap.c
index 26c9c07b27..b0b513c60f 100644
--- a/keyboards/xiudi/xd75/keymaps/minna/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/minna/keymap.c
@@ -74,6 +74,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     KC_MSEL, KC_NO,   KC_MYCM, KC_MAIL, RGB_HUD, RGB_HUI, KC_CALC, KC_P7, KC_P8, KC_P9, KC_MINS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS,
     KC_MPRV, KC_NO,   KC_MNXT, KC_MSTP, RGB_SAD, RGB_SAI, KC_MPLY, KC_P4, KC_P5, KC_P6, KC_PLUS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS,
     KC_VOLD, KC_MUTE, KC_VOLU, KC_APP,  RGB_VAD, RGB_VAI, KC_NO, KC_P1, KC_P2, KC_P3, KC_PENT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-    KC_TRNS, MO(1),   RGB_TOG, KC_NO,   RGB_RMOD,RGB_MOD, KC_NO, KC_P0, KC_NO, KC_PDOT, KC_PENT, KC_PENT, MO(1), UC_RMOD, UC_MOD)
+    KC_TRNS, MO(1),   RGB_TOG, KC_NO,   RGB_RMOD,RGB_MOD, KC_NO, KC_P0, KC_NO, KC_PDOT, KC_PENT, KC_PENT, MO(1), UC_PREV, UC_NEXT)
 };
 
diff --git a/keyboards/yatara/drink_me/keymaps/queen/config.h b/keyboards/yatara/drink_me/keymaps/queen/config.h
index ed8565a311..4cb538fc6c 100644
--- a/keyboards/yatara/drink_me/keymaps/queen/config.h
+++ b/keyboards/yatara/drink_me/keymaps/queen/config.h
@@ -1 +1 @@
-#define UNICODE_SELECTED_MODES UC_LNX, UC_MAC, UC_WIN, UC_WINC
+#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX, UNICODE_MODE_MACOS, UNICODE_MODE_WINDOWS, UNICODE_MODE_WINCOMPOSE
diff --git a/keyboards/yatara/drink_me/keymaps/queen/keymap.c b/keyboards/yatara/drink_me/keymaps/queen/keymap.c
index 70b24be79d..2d99b38663 100644
--- a/keyboards/yatara/drink_me/keymaps/queen/keymap.c
+++ b/keyboards/yatara/drink_me/keymaps/queen/keymap.c
@@ -13,7 +13,7 @@ void td_spade_lnx (qk_tap_dance_state_t *state, void *user_data) {
     if (state->count == 1) {
         register_unicode(0x2660); // ♠
     } else {
-        set_unicode_input_mode(UC_LNX);
+        set_unicode_input_mode(UNICODE_MODE_LINUX);
     }
     reset_tap_dance(state);
 }
@@ -23,7 +23,7 @@ void td_diamond_osx (qk_tap_dance_state_t *state, void *user_data) {
     if (state->count == 1) {
         register_unicode(0x2666); // ♦
     } else {
-        set_unicode_input_mode(UC_MAC);
+        set_unicode_input_mode(UNICODE_MODE_MACOS);
     }
     reset_tap_dance(state);
 }
@@ -33,7 +33,7 @@ void td_club_win (qk_tap_dance_state_t *state, void *user_data) {
     if (state->count == 1) {
         register_unicode(0x2663); // ♣
     } else {
-        set_unicode_input_mode(UC_WIN);
+        set_unicode_input_mode(UNICODE_MODE_WINDOWS);
     }
     reset_tap_dance(state);
 }
@@ -43,7 +43,7 @@ void td_heart_winc (qk_tap_dance_state_t *state, void *user_data) {
     if (state->count == 1) {
         register_unicode(0x2665); // ♥
     } else {
-        set_unicode_input_mode(UC_WINC);
+        set_unicode_input_mode(UNICODE_MODE_WINCOMPOSE);
     }
     reset_tap_dance(state);
 }
diff --git a/keyboards/ymdk/melody96/keymaps/dvz/config.h b/keyboards/ymdk/melody96/keymaps/dvz/config.h
index 78b95df64e..9c834bdce1 100644
--- a/keyboards/ymdk/melody96/keymaps/dvz/config.h
+++ b/keyboards/ymdk/melody96/keymaps/dvz/config.h
@@ -19,7 +19,7 @@
 #define COMBO_COUNT 4
 #define COMBO_TERM 100
 
-//#define UNICODE_SELECTED_MODES UC_WINC
+//#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE
 
 #define RGBLIGHT_LAYERS
 #define RGBLIGHT_LAYER_BLINK
diff --git a/keyboards/ymdk/melody96/keymaps/konstantin/keymap.c b/keyboards/ymdk/melody96/keymaps/konstantin/keymap.c
index 473f89704c..5dff7a249a 100644
--- a/keyboards/ymdk/melody96/keymaps/konstantin/keymap.c
+++ b/keyboards/ymdk/melody96/keymaps/konstantin/keymap.c
@@ -69,7 +69,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     [L_FN] = LAYOUT(
         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, SYSRQ,   KC_SCRL, KC_PAUS, BREAK,   TOP,     BOTTOM,
         _______, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  _______, _______, RGB_TOG, DIVIDE,  TIMES,   MINUS,
-        KC_BTN4, KC_BTN2, KC_MS_U, KC_BTN1, KC_BTN3, KC_BTN5, _______, UC_MOD,  _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, CLEAR,            RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX,
+        KC_BTN4, KC_BTN2, KC_MS_U, KC_BTN1, KC_BTN3, KC_BTN5, _______, UC_NEXT, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, CLEAR,            RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX,
         _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______,                   RGB_HUD, RGB_SAD, RGB_VAD, RGB_SET,
         _______, _______, KC_ACL0, KC_ACL2, KC_WH_L, KC_WH_R, _______, _______, KC_APP,  KC_VOLD, KC_VOLU, KC_MUTE, _______,          KC_PGUP, RGB_M_R, RGB_M_SN,RGB_M_B, XXXXXXX,
         _______, DST_P_R, DST_N_A,                            KC_WH_D,                            _______, XXXXXXX, _______, KC_HOME, KC_PGDN, KC_END,  RGB_RMOD,RGB_MOD, RGB_M_P
diff --git a/keyboards/ymdk/melody96/keymaps/zunger/keymap.c b/keyboards/ymdk/melody96/keymaps/zunger/keymap.c
index 98be4f22c7..d65f10dcec 100644
--- a/keyboards/ymdk/melody96/keymaps/zunger/keymap.c
+++ b/keyboards/ymdk/melody96/keymaps/zunger/keymap.c
@@ -239,7 +239,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     KC_CGRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, QK_BOOT,
     KC_CGRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______, _______, _______, _______, _______,
     _______, _______, _______, KC_CAGU, _______, _______, _______, KC_CDIA, KC_CCIR, _______, _______, _______, _______,          _______, _______, _______, _______,
-    _______, _______, _______, UC_M_MA, UC_M_LN, UC_M_WI, UC_M_BS, UC_M_WC, _______, _______, _______, _______,                   _______, _______, _______, _______, _______,
+    _______, _______, _______, UC_MAC,  UC_LINX, UC_WIN,  UC_BSD,  UC_WINC, _______, _______, _______, _______,                   _______, _______, _______, _______, _______,
     _______,          _______, _______, KC_CCED, _______, _______, KC_CTIL, _______, _______, _______, _______, _______,          _______, _______, _______, _______,
     _______, _______, _______,                            _______,                            _______, _______, _______, _______, _______, _______, _______, _______, _______),
 };
diff --git a/layouts/community/60_iso/bifbofii/keymap.c b/layouts/community/60_iso/bifbofii/keymap.c
index 7365f98e97..f335bd3289 100755
--- a/layouts/community/60_iso/bifbofii/keymap.c
+++ b/layouts/community/60_iso/bifbofii/keymap.c
@@ -144,8 +144,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
      */
     [SPECIALS] = LAYOUT_60_iso(
         XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, XXXXXXX,
-        XXXXXXX, XXXXXXX, UC_M_WC, XXXXXXX, XXXXXXX, XXXXXXX,    XXXXXXX, XXXXXXX, XXXXXXX, UC_M_MA, XXXXXXX, XXXXXXX, XXXXXXX,
-        XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TG(GAMING), XXXXXXX, XXXXXXX, XXXXXXX, UC_M_LN, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG,
+        XXXXXXX, XXXXXXX, UC_WINC, XXXXXXX, XXXXXXX, XXXXXXX,    XXXXXXX, XXXXXXX, XXXXXXX, UC_MAC,  XXXXXXX, XXXXXXX, XXXXXXX,
+        XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TG(GAMING), XXXXXXX, XXXXXXX, XXXXXXX, UC_LINX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG,
         XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,    QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
         XXXXXXX, XXXXXXX, XXXXXXX,                               XXXXXXX,                            XXXXXXX, XXXXXXX, XXXXXXX, KC_TRNS
     ),
diff --git a/layouts/community/65_ansi_blocker/spidey3/keymap.c b/layouts/community/65_ansi_blocker/spidey3/keymap.c
index e4a417ef90..5f8080d471 100644
--- a/layouts/community/65_ansi_blocker/spidey3/keymap.c
+++ b/layouts/community/65_ansi_blocker/spidey3/keymap.c
@@ -26,8 +26,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     [_FN] = LAYOUT_65_ansi_blocker(
         KC_GRV,     KC_F1,      KC_F2,      KC_F3,      KC_F4,      KC_F5,      KC_F6,      KC_F7,      KC_F8,      KC_F9,      KC_F10,     KC_F11,     KC_F12,                 KC_INS,     KC_SCRL,
         XXXXXXX,    RGB_TOG,    RGB_MOD,    RGB_HUD,    RGB_HUI,    RGB_SAD,    RGB_SAI,    RGB_VAD,    RGB_VAI,    SPI_GLO,    VK_TOGG,    CH_SUSP,    KC_SLEP,                KC_PWR,     KC_BRIU,
-        MO(_GLYPH), RGB_M_P,    RGB_M_B,    RGB_M_R,    RGB_M_SW,   RGB_M_SN,   RGB_M_K,    RGB_M_G,    RGB_M_TW,   UC_M_LN,    XXXXXXX,    XXXXXXX,                            KC_CPNL,    KC_BRID,
-        _______,    XXXXXXX,    UC_M_EM,    UC_M_WC,    UC_MOD,     NK_TOGG,    TG(_NUMPAD),UC_M_MA,    XXXXXXX,    XXXXXXX,    DB_TOGG,                            _______,    KC_VOLU,    KC_MUTE,
+        MO(_GLYPH), RGB_M_P,    RGB_M_B,    RGB_M_R,    RGB_M_SW,   RGB_M_SN,   RGB_M_K,    RGB_M_G,    RGB_M_TW,   UC_LINX,    XXXXXXX,    XXXXXXX,                            KC_CPNL,    KC_BRID,
+        _______,    XXXXXXX,    UC_EMAC,    UC_WINC,    UC_NEXT,    NK_TOGG,    TG(_NUMPAD),UC_MAC,     XXXXXXX,    XXXXXXX,    DB_TOGG,                            _______,    KC_VOLU,    KC_MUTE,
         _______,    _______,    _______,                                    KC_MPLY,                                            KC_ASST,    _______,                KC_MPRV,    KC_VOLD,    KC_MNXT
     ),
     // Glyph Transformation
diff --git a/layouts/community/75_ansi/spidey3/keymap.c b/layouts/community/75_ansi/spidey3/keymap.c
index 65656173a4..5c2f6a150b 100644
--- a/layouts/community/75_ansi/spidey3/keymap.c
+++ b/layouts/community/75_ansi/spidey3/keymap.c
@@ -26,8 +26,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         QK_BOOT,    SPI_NORMAL, SPI_WIDE,   SPI_SCRIPT, SPI_BLOCKS, SPI_CIRCLE, SPI_SQUARE, SPI_PARENS, SPI_FRAKTR, SPI_BOLD,   SPI_MATH,   XXXXXXX,    SPI_GFLOCK, KC_SLEP,    CH_SUSP,    KC_PWR,
         EE_CLR,     X(SAD),     X(MEH),     X(HAPPY),   X(ANGRY),   X(THUMBDN), X(THUMBUP), X(SPIDER),  X_BUL,      X(LOL),     X(SURPRISE),X_DASH,     XXXXXXX,                KC_PAUS,    KC_SCRL,
         XXXXXXX,    RGB_TOG,    RGB_MOD,    RGB_HUD,    RGB_HUI,    RGB_SAD,    RGB_SAI,    RGB_VAD,    RGB_VAI,    SPI_GLO,    VK_TOGG,    XXXXXXX,    XXXXXXX,                XXXXXXX,    KC_BRIU,
-        XXXXXXX,    RGB_M_P,    RGB_M_B,    RGB_M_R,    RGB_M_SW,   RGB_M_SN,   RGB_M_K,    RGB_M_G,    RGB_M_TW,   UC_M_LN,    XXXXXXX,    XXXXXXX,                            XXXXXXX,    KC_BRID,
-        _______,    XXXXXXX,    UC_M_EM,    UC_M_WC,    UC_MOD,     NK_TOGG,    TG(_NUMPAD),UC_M_MA,    X(LARR),    X(RARR),    DB_TOGG,    _______,                            KC_VOLU,    KC_MUTE,
+        XXXXXXX,    RGB_M_P,    RGB_M_B,    RGB_M_R,    RGB_M_SW,   RGB_M_SN,   RGB_M_K,    RGB_M_G,    RGB_M_TW,   UC_LINX,    XXXXXXX,    XXXXXXX,                            XXXXXXX,    KC_BRID,
+        _______,    XXXXXXX,    UC_EMAC,    UC_WINC,    UC_NEXT,    NK_TOGG,    TG(_NUMPAD),UC_MAC,     X(LARR),    X(RARR),    DB_TOGG,    _______,                            KC_VOLU,    KC_MUTE,
         _______,    _______,    _______,                                    KC_MPLY,                                            KC_ASST,    _______,    KC_CPNL,    KC_MPRV,    KC_VOLD,    KC_MNXT
     )
 };
diff --git a/layouts/community/ergodox/deadcyclo/keymap.c b/layouts/community/ergodox/deadcyclo/keymap.c
index 6edf8b00f6..97e95d103b 100644
--- a/layouts/community/ergodox/deadcyclo/keymap.c
+++ b/layouts/community/ergodox/deadcyclo/keymap.c
@@ -341,7 +341,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 
 // Runs just one time when the keyboard initializes.
 void matrix_init_user(void) {
-  set_unicode_input_mode(UC_LNX);
+  set_unicode_input_mode(UNICODE_MODE_LINUX);
 };
 
 // Runs constantly in the background, in a loop.
diff --git a/layouts/community/ergodox/drashna/keymap.c b/layouts/community/ergodox/drashna/keymap.c
index c9c63168f6..64ef098280 100644
--- a/layouts/community/ergodox/drashna/keymap.c
+++ b/layouts/community/ergodox/drashna/keymap.c
@@ -167,7 +167,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
             ),
 
   [_ADJUST] = LAYOUT_ergodox_pretty_wrapper(
-             QK_MAKE, _______, _______, _______, _______, _______, UC_MOD,                  KC_NUKE, _________________ADJUST_R1_________________, QK_BOOT,
+             QK_MAKE, _______, _______, _______, _______, _______, UC_NEXT,                 KC_NUKE, _________________ADJUST_R1_________________, QK_BOOT,
              VRSN,    _________________ADJUST_L1_________________, _______,                 _______, _________________ADJUST_R1_________________, EE_CLR,
              _______, _________________ADJUST_L2_________________,                                   _________________ADJUST_R2_________________, RGB_IDL,
              KEYLOCK, _________________ADJUST_L3_________________, _______,                 _______, _________________ADJUST_R3_________________, TG_MODS,
diff --git a/layouts/community/ortho_4x12/bifbofii/keymap.c b/layouts/community/ortho_4x12/bifbofii/keymap.c
index d754741899..fde4bd006d 100644
--- a/layouts/community/ortho_4x12/bifbofii/keymap.c
+++ b/layouts/community/ortho_4x12/bifbofii/keymap.c
@@ -164,8 +164,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
  */
 [SPECIALS] = LAYOUT_ortho_4x12(
-    XXXXXXX, XXXXXXX, UC_M_WC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UC_M_MA, XXXXXXX, XXXXXXX,
-    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UC_M_LN, XXXXXXX, XXXXXXX,
+    XXXXXXX, XXXXXXX, UC_WINC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UC_MAC,  XXXXXXX, XXXXXXX,
+    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UC_LINX, XXXXXXX, XXXXXXX,
     XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
     XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
 )
diff --git a/layouts/community/ortho_5x12/riblee/config.h b/layouts/community/ortho_5x12/riblee/config.h
index 8dbff5e10e..6f7393861e 100644
--- a/layouts/community/ortho_5x12/riblee/config.h
+++ b/layouts/community/ortho_5x12/riblee/config.h
@@ -15,4 +15,4 @@
  */
 
 #pragma once
-#define UNICODE_SELECTED_MODES UC_MAC, UC_LNX
+#define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS, UNICODE_MODE_LINUX
diff --git a/layouts/community/ortho_5x12/riblee/keymap.c b/layouts/community/ortho_5x12/riblee/keymap.c
index 00b3ec1d82..7a786de79d 100644
--- a/layouts/community/ortho_5x12/riblee/keymap.c
+++ b/layouts/community/ortho_5x12/riblee/keymap.c
@@ -198,7 +198,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     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_INS,  KC_PSCR,   KC_DEL,
     _______, _______, MU_MOD,  AU_ON,   AU_OFF,  AG_NORM, AG_SWAP, QWERTY,  COLEMAK,  DVORAK,  HUNGARIAN, WORKMAN,
-    _______, _______, _______, _______, UC_MOD,  UC_RMOD, NK_TOGG, CG_NORM, CG_SWAP,  _______, _______,   _______,
+    _______, _______, _______, _______, UC_NEXT, UC_PREV, NK_TOGG, CG_NORM, CG_SWAP,  _______, _______,   _______,
     _______, _______, _______, _______, _______, _______, _______, _______, _______,  _______, _______,   _______
 )
 
diff --git a/quantum/process_keycode/process_unicode_common.c b/quantum/process_keycode/process_unicode_common.c
index bd5fc560f3..a0b9010027 100644
--- a/quantum/process_keycode/process_unicode_common.c
+++ b/quantum/process_keycode/process_unicode_common.c
@@ -31,29 +31,29 @@ bool process_unicode_common(uint16_t keycode, keyrecord_t *record) {
     if (record->event.pressed) {
         bool shifted = get_mods() & MOD_MASK_SHIFT;
         switch (keycode) {
-            case UNICODE_MODE_FORWARD:
+            case QK_UNICODE_MODE_NEXT:
                 cycle_unicode_input_mode(shifted ? -1 : +1);
                 break;
-            case UNICODE_MODE_REVERSE:
+            case QK_UNICODE_MODE_PREVIOUS:
                 cycle_unicode_input_mode(shifted ? +1 : -1);
                 break;
-            case UNICODE_MODE_MAC:
-                set_unicode_input_mode(UC_MAC);
+            case QK_UNICODE_MODE_MACOS:
+                set_unicode_input_mode(UNICODE_MODE_MACOS);
                 break;
-            case UNICODE_MODE_LNX:
-                set_unicode_input_mode(UC_LNX);
+            case QK_UNICODE_MODE_LINUX:
+                set_unicode_input_mode(UNICODE_MODE_LINUX);
                 break;
-            case UNICODE_MODE_WIN:
-                set_unicode_input_mode(UC_WIN);
+            case QK_UNICODE_MODE_WINDOWS:
+                set_unicode_input_mode(UNICODE_MODE_WINDOWS);
                 break;
-            case UNICODE_MODE_BSD:
-                set_unicode_input_mode(UC_BSD);
+            case QK_UNICODE_MODE_BSD:
+                set_unicode_input_mode(UNICODE_MODE_BSD);
                 break;
-            case UNICODE_MODE_WINC:
-                set_unicode_input_mode(UC_WINC);
+            case QK_UNICODE_MODE_WINCOMPOSE:
+                set_unicode_input_mode(UNICODE_MODE_WINCOMPOSE);
                 break;
-            case UNICODE_MODE_EMACS:
-                set_unicode_input_mode(UC_EMACS);
+            case QK_UNICODE_MODE_EMACS:
+                set_unicode_input_mode(UNICODE_MODE_EMACS);
                 break;
         }
     }
diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h
index 6c9a262484..2f9e211cc1 100644
--- a/quantum/quantum_keycodes.h
+++ b/quantum/quantum_keycodes.h
@@ -378,13 +378,13 @@ enum quantum_keycodes {
     QK_CLEAR_EEPROM, // 5CDF
 
     // Unicode
-    UNICODE_MODE_FORWARD, // 5CE0
-    UNICODE_MODE_REVERSE, // 5CE1
-    UNICODE_MODE_MAC,     // 5CE2
-    UNICODE_MODE_LNX,     // 5CE3
-    UNICODE_MODE_WIN,     // 5CE4
-    UNICODE_MODE_BSD,     // 5CE5
-    UNICODE_MODE_WINC,    // 5CE6
+    QK_UNICODE_MODE_NEXT,       // 5CE0
+    QK_UNICODE_MODE_PREVIOUS,   // 5CE1
+    QK_UNICODE_MODE_MACOS,      // 5CE2
+    QK_UNICODE_MODE_LINUX,      // 5CE3
+    QK_UNICODE_MODE_WINDOWS,    // 5CE4
+    QK_UNICODE_MODE_BSD,        // 5CE5
+    QK_UNICODE_MODE_WINCOMPOSE, // 5CE6
 
     // Haptic
     HPT_ON,   // 5CE7
@@ -609,7 +609,7 @@ enum quantum_keycodes {
     MAGIC_UNSWAP_ESCAPE_CAPSLOCK,
     MAGIC_TOGGLE_ESCAPE_CAPSLOCK,
 
-    UNICODE_MODE_EMACS,
+    QK_UNICODE_MODE_EMACS,
 
     QK_AUTOCORRECT_ON,
     QK_AUTOCORRECT_OFF,
@@ -834,15 +834,15 @@ enum quantum_keycodes {
 #define X(i) (QK_UNICODEMAP | (i))
 #define XP(i, j) (QK_UNICODEMAP_PAIR | ((i)&0x7F) | (((j)&0x7F) << 7)) // 127 max i and j
 
-#define UC_MOD UNICODE_MODE_FORWARD
-#define UC_RMOD UNICODE_MODE_REVERSE
+#define UC_NEXT QK_UNICODE_MODE_NEXT
+#define UC_PREV QK_UNICODE_MODE_PREVIOUS
 
-#define UC_M_MA UNICODE_MODE_MAC
-#define UC_M_LN UNICODE_MODE_LNX
-#define UC_M_WI UNICODE_MODE_WIN
-#define UC_M_BS UNICODE_MODE_BSD
-#define UC_M_WC UNICODE_MODE_WINC
-#define UC_M_EM UNICODE_MODE_EMACS
+#define UC_MAC QK_UNICODE_MODE_MACOS
+#define UC_LINX QK_UNICODE_MODE_LINUX
+#define UC_WIN QK_UNICODE_MODE_WINDOWS
+#define UC_BSD QK_UNICODE_MODE_BSD
+#define UC_WINC QK_UNICODE_MODE_WINCOMPOSE
+#define UC_EMAC QK_UNICODE_MODE_EMACS
 
 // Auto Shift
 #define AS_UP QK_AUTO_SHIFT_UP
diff --git a/quantum/quantum_keycodes_legacy.h b/quantum/quantum_keycodes_legacy.h
index 3baf37d378..68771baece 100644
--- a/quantum/quantum_keycodes_legacy.h
+++ b/quantum/quantum_keycodes_legacy.h
@@ -29,6 +29,15 @@
 #define CMB_OFF QK_COMBO_OFF
 #define CMB_TOG QK_COMBO_TOGGLE
 
+#define UC_MOD QK_UNICODE_MODE_NEXT
+#define UC_RMOD QK_UNICODE_MODE_PREVIOUS
+#define UC_M_MA QK_UNICODE_MODE_MACOS
+#define UC_M_LN QK_UNICODE_MODE_LINUX
+#define UC_M_WI QK_UNICODE_MODE_WINDOWS
+#define UC_M_BS QK_UNICODE_MODE_BSD
+#define UC_M_WC QK_UNICODE_MODE_WINCOMPOSE
+#define UC_M_EM QK_UNICODE_MODE_EMACS
+
 #define PROGRAMMABLE_BUTTON_1 QK_PROGRAMMABLE_BUTTON_1
 #define PROGRAMMABLE_BUTTON_2 QK_PROGRAMMABLE_BUTTON_2
 #define PROGRAMMABLE_BUTTON_3 QK_PROGRAMMABLE_BUTTON_3
diff --git a/quantum/unicode/unicode.c b/quantum/unicode/unicode.c
index e2bfd68a3a..35cb62e700 100644
--- a/quantum/unicode/unicode.c
+++ b/quantum/unicode/unicode.c
@@ -46,7 +46,7 @@
 #endif
 
 // Comma-delimited, ordered list of input modes selected for use (e.g. in cycle)
-// Example: #define UNICODE_SELECTED_MODES UC_WINC, UC_LNX
+// Example: #define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_LINUX
 #ifndef UNICODE_SELECTED_MODES
 #    define UNICODE_SELECTED_MODES -1
 #endif
@@ -108,32 +108,32 @@ static float song_emacs[][2] = UNICODE_SONG_EMACS;
 static void unicode_play_song(uint8_t mode) {
     switch (mode) {
 #    ifdef UNICODE_SONG_MAC
-        case UC_MAC:
+        case UNICODE_MODE_MACOS:
             PLAY_SONG(song_mac);
             break;
 #    endif
 #    ifdef UNICODE_SONG_LNX
-        case UC_LNX:
+        case UNICODE_MODE_LINUX:
             PLAY_SONG(song_lnx);
             break;
 #    endif
 #    ifdef UNICODE_SONG_WIN
-        case UC_WIN:
+        case UNICODE_MODE_WINDOWS:
             PLAY_SONG(song_win);
             break;
 #    endif
 #    ifdef UNICODE_SONG_BSD
-        case UC_BSD:
+        case UNICODE_MODE_BSD:
             PLAY_SONG(song_bsd);
             break;
 #    endif
 #    ifdef UNICODE_SONG_WINC
-        case UC_WINC:
+        case UNICODE_MODE_WINCOMPOSE:
             PLAY_SONG(song_winc);
             break;
 #    endif
 #    ifdef UNICODE_SONG_EMACS
-        case UC_EMACS:
+        case UNICODE_MODE_EMACS:
             PLAY_SONG(song_emacs);
             break;
 #    endif
@@ -209,7 +209,7 @@ __attribute__((weak)) void unicode_input_start(void) {
     // Need to do this before we mess around with the mods, or else
     // UNICODE_KEY_LNX (which is usually Ctrl-Shift-U) might not work
     // correctly in the shifted case.
-    if (unicode_config.input_mode == UC_LNX && unicode_saved_led_state.caps_lock) {
+    if (unicode_config.input_mode == UNICODE_MODE_LINUX && unicode_saved_led_state.caps_lock) {
         tap_code(KC_CAPS_LOCK);
     }
 
@@ -218,13 +218,13 @@ __attribute__((weak)) void unicode_input_start(void) {
     clear_weak_mods();
 
     switch (unicode_config.input_mode) {
-        case UC_MAC:
+        case UNICODE_MODE_MACOS:
             register_code(UNICODE_KEY_MAC);
             break;
-        case UC_LNX:
+        case UNICODE_MODE_LINUX:
             tap_code16(UNICODE_KEY_LNX);
             break;
-        case UC_WIN:
+        case UNICODE_MODE_WINDOWS:
             // For increased reliability, use numpad keys for inputting digits
             if (!unicode_saved_led_state.num_lock) {
                 tap_code(KC_NUM_LOCK);
@@ -233,11 +233,11 @@ __attribute__((weak)) void unicode_input_start(void) {
             wait_ms(UNICODE_TYPE_DELAY);
             tap_code(KC_KP_PLUS);
             break;
-        case UC_WINC:
+        case UNICODE_MODE_WINCOMPOSE:
             tap_code(UNICODE_KEY_WINC);
             tap_code(KC_U);
             break;
-        case UC_EMACS:
+        case UNICODE_MODE_EMACS:
             // The usual way to type unicode in emacs is C-x-8 <RET> then the unicode number in hex
             tap_code16(LCTL(KC_X));
             tap_code16(KC_8);
@@ -250,25 +250,25 @@ __attribute__((weak)) void unicode_input_start(void) {
 
 __attribute__((weak)) void unicode_input_finish(void) {
     switch (unicode_config.input_mode) {
-        case UC_MAC:
+        case UNICODE_MODE_MACOS:
             unregister_code(UNICODE_KEY_MAC);
             break;
-        case UC_LNX:
+        case UNICODE_MODE_LINUX:
             tap_code(KC_SPACE);
             if (unicode_saved_led_state.caps_lock) {
                 tap_code(KC_CAPS_LOCK);
             }
             break;
-        case UC_WIN:
+        case UNICODE_MODE_WINDOWS:
             unregister_code(KC_LEFT_ALT);
             if (!unicode_saved_led_state.num_lock) {
                 tap_code(KC_NUM_LOCK);
             }
             break;
-        case UC_WINC:
+        case UNICODE_MODE_WINCOMPOSE:
             tap_code(KC_ENTER);
             break;
-        case UC_EMACS:
+        case UNICODE_MODE_EMACS:
             tap_code16(KC_ENTER);
             break;
     }
@@ -278,25 +278,25 @@ __attribute__((weak)) void unicode_input_finish(void) {
 
 __attribute__((weak)) void unicode_input_cancel(void) {
     switch (unicode_config.input_mode) {
-        case UC_MAC:
+        case UNICODE_MODE_MACOS:
             unregister_code(UNICODE_KEY_MAC);
             break;
-        case UC_LNX:
+        case UNICODE_MODE_LINUX:
             tap_code(KC_ESCAPE);
             if (unicode_saved_led_state.caps_lock) {
                 tap_code(KC_CAPS_LOCK);
             }
             break;
-        case UC_WINC:
+        case UNICODE_MODE_WINCOMPOSE:
             tap_code(KC_ESCAPE);
             break;
-        case UC_WIN:
+        case UNICODE_MODE_WINDOWS:
             unregister_code(KC_LEFT_ALT);
             if (!unicode_saved_led_state.num_lock) {
                 tap_code(KC_NUM_LOCK);
             }
             break;
-        case UC_EMACS:
+        case UNICODE_MODE_EMACS:
             tap_code16(LCTL(KC_G)); // C-g cancels
             break;
     }
@@ -307,7 +307,7 @@ __attribute__((weak)) void unicode_input_cancel(void) {
 // clang-format off
 
 static void send_nibble_wrapper(uint8_t digit) {
-    if (unicode_config.input_mode == UC_WIN) {
+    if (unicode_config.input_mode == UNICODE_MODE_WINDOWS) {
         uint8_t kc = digit < 10
                    ? KC_KP_1 + (10 + digit - 1) % 10
                    : KC_A + (digit - 10);
@@ -328,7 +328,7 @@ void register_hex(uint16_t hex) {
 
 void register_hex32(uint32_t hex) {
     bool first_digit        = true;
-    bool needs_leading_zero = (unicode_config.input_mode == UC_WINC);
+    bool needs_leading_zero = (unicode_config.input_mode == UNICODE_MODE_WINCOMPOSE);
     for (int i = 7; i >= 0; i--) {
         // Work out the digit we're going to transmit
         uint8_t digit = ((hex >> (i * 4)) & 0xF);
@@ -352,13 +352,13 @@ void register_hex32(uint32_t hex) {
 }
 
 void register_unicode(uint32_t code_point) {
-    if (code_point > 0x10FFFF || (code_point > 0xFFFF && unicode_config.input_mode == UC_WIN)) {
+    if (code_point > 0x10FFFF || (code_point > 0xFFFF && unicode_config.input_mode == UNICODE_MODE_WINDOWS)) {
         // Code point out of range, do nothing
         return;
     }
 
     unicode_input_start();
-    if (code_point > 0xFFFF && unicode_config.input_mode == UC_MAC) {
+    if (code_point > 0xFFFF && unicode_config.input_mode == UNICODE_MODE_MACOS) {
         // Convert code point to UTF-16 surrogate pair on macOS
         code_point -= 0x10000;
         uint32_t lo = code_point & 0x3FF, hi = (code_point & 0xFFC00) >> 10;
diff --git a/quantum/unicode/unicode.h b/quantum/unicode/unicode.h
index b3e43799ff..6f1e35d554 100644
--- a/quantum/unicode/unicode.h
+++ b/quantum/unicode/unicode.h
@@ -30,13 +30,14 @@ typedef union {
 extern unicode_config_t unicode_config;
 
 enum unicode_input_modes {
-    UC_MAC,   // macOS using Unicode Hex Input
-    UC_LNX,   // Linux using IBus
-    UC_WIN,   // Windows using EnableHexNumpad
-    UC_BSD,   // BSD (not implemented)
-    UC_WINC,  // Windows using WinCompose (https://github.com/samhocevar/wincompose)
-    UC_EMACS, // Emacs is an operating system in search of a good text editor
-    UC__COUNT // Number of available input modes (always leave at the end)
+    UNICODE_MODE_MACOS,      // macOS using Unicode Hex Input
+    UNICODE_MODE_LINUX,      // Linux using IBus
+    UNICODE_MODE_WINDOWS,    // Windows using EnableHexNumpad
+    UNICODE_MODE_BSD,        // BSD (not implemented)
+    UNICODE_MODE_WINCOMPOSE, // Windows using WinCompose (https://github.com/samhocevar/wincompose)
+    UNICODE_MODE_EMACS,      // Emacs is an operating system in search of a good text editor
+
+    UNICODE_MODE_COUNT // Number of available input modes (always leave at the end)
 };
 
 void    unicode_input_mode_init(void);
diff --git a/tests/caps_word/caps_word_unicodemap/config.h b/tests/caps_word/caps_word_unicodemap/config.h
index 89fd7924d4..0f770337b1 100644
--- a/tests/caps_word/caps_word_unicodemap/config.h
+++ b/tests/caps_word/caps_word_unicodemap/config.h
@@ -17,4 +17,4 @@
 
 #include "test_common.h"
 
-#define UNICODE_SELECTED_MODES UC_LNX
+#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX
diff --git a/tests/test_common/test_driver.hpp b/tests/test_common/test_driver.hpp
index c97bda8bc5..982aec6c83 100644
--- a/tests/test_common/test_driver.hpp
+++ b/tests/test_common/test_driver.hpp
@@ -64,7 +64,7 @@ class TestDriver {
 #define EXPECT_REPORT(driver, report) EXPECT_CALL((driver), send_keyboard_mock(KeyboardReport report))
 
 /**
- * @brief Sets gmock expectation that Unicode `code_point` is sent with UC_LNX input
+ * @brief Sets gmock expectation that Unicode `code_point` is sent with UNICODE_MODE_LINUX input
  * mode. For instance for U+2013,
  *
  *   EXPECT_UNICODE(driver, 0x2013);
diff --git a/users/arkag/arkag.c b/users/arkag/arkag.c
index fccae5ad6d..e7c8218587 100644
--- a/users/arkag/arkag.c
+++ b/users/arkag/arkag.c
@@ -190,15 +190,15 @@ void set_os (uint8_t os, bool update) {
   }
   switch (os) {
   case OS_MAC:
-    set_unicode_input_mode(UC_MAC);
+    set_unicode_input_mode(UNICODE_MODE_MACOS);
     underglow = (Color){ 213, 255, 255 };
     break;
   case OS_WIN:
-    set_unicode_input_mode(UC_WINC);
+    set_unicode_input_mode(UNICODE_MODE_WINCOMPOSE);
     underglow = (Color){ 128, 255, 255 };
     break;
   case OS_NIX:
-    set_unicode_input_mode(UC_LNX);
+    set_unicode_input_mode(UNICODE_MODE_LINUX);
     underglow = (Color){ 43, 255, 255 };
     break;
   default:
diff --git a/users/drashna/config.h b/users/drashna/config.h
index 57b26786b3..5c5c131e36 100644
--- a/users/drashna/config.h
+++ b/users/drashna/config.h
@@ -63,7 +63,7 @@
 #    endif
 #endif // !AUDIO_ENABLE
 
-#define UNICODE_SELECTED_MODES UC_WINC, UC_MAC
+#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_MACOS
 
 // #define WPM_ESTIMATED_WORD_SIZE 5
 #define WPM_ALLOW_COUNT_REGRESSION
diff --git a/users/konstantin/config.h b/users/konstantin/config.h
index f5247cf5a9..26c7ecc0c7 100644
--- a/users/konstantin/config.h
+++ b/users/konstantin/config.h
@@ -53,7 +53,7 @@
 
 // Unicode
 #define UNICODE_CYCLE_PERSIST  false
-#define UNICODE_SELECTED_MODES UC_WINC, UC_WIN, UC_LNX
+#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_WINDOWS, UNICODE_MODE_LINUX
 #define UNICODE_KEY_WINC       KC_RGUI
 
 // Firmware size reduction
diff --git a/users/kuchosauronad0/kuchosauronad0.c b/users/kuchosauronad0/kuchosauronad0.c
index 4e9e856107..2c63eadfd1 100644
--- a/users/kuchosauronad0/kuchosauronad0.c
+++ b/users/kuchosauronad0/kuchosauronad0.c
@@ -19,9 +19,9 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 userspace_config_t userspace_config;
 #if (defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE) || defined(UCIS_ENABLE))
-#  define KUCHOSAURONAD0_UNICODE_MODE UC_WINC
+#  define KUCHOSAURONAD0_UNICODE_MODE UNICODE_MODE_WINCOMPOSE
 #else
-#  define KUCHOSAURONAD0_UNICODE_MODE 2 // set to 2 for UC_WIN, set to 4 for UC_WINC
+#  define KUCHOSAURONAD0_UNICODE_MODE 2 // set to 2 for UNICODE_MODE_WINDOWS, set to 4 for UNICODE_MODE_WINCOMPOSE
 #endif
 
 
diff --git a/users/ridingqwerty/ridingqwerty.c b/users/ridingqwerty/ridingqwerty.c
index 19b417a80f..8934b9365b 100644
--- a/users/ridingqwerty/ridingqwerty.c
+++ b/users/ridingqwerty/ridingqwerty.c
@@ -7,7 +7,7 @@ void matrix_init_user(void) {
     matrix_init_keymap();
 
 #if defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE)
-    set_unicode_input_mode(UC_LNX);
+    set_unicode_input_mode(UNICODE_MODE_LINUX);
 #endif
 
     //set_single_persistent_default_layer(_QWERTY);
diff --git a/users/romus/romus.c b/users/romus/romus.c
index a41a6df578..7b2e330228 100644
--- a/users/romus/romus.c
+++ b/users/romus/romus.c
@@ -142,7 +142,7 @@ void matrix_init_user (void) {
 
     // Correct unicode
 #ifdef UNICODE_ENABLE
-    set_unicode_input_mode(UC_LNX);
+    set_unicode_input_mode(UNICODE_MODE_LINUX);
 #endif
 
     // Make beginning layer DVORAK
@@ -272,7 +272,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
                 stop_all_notes();
                 PLAY_SONG(tone_linux);
 #endif
-                set_unicode_input_mode(UC_LNX);
+                set_unicode_input_mode(UNICODE_MODE_LINUX);
             }
             return false;
             break;
@@ -282,7 +282,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
                 stop_all_notes();
                 PLAY_SONG(tone_windows);
 #endif
-                set_unicode_input_mode(UC_WIN);
+                set_unicode_input_mode(UNICODE_MODE_WINDOWS);
             }
             return false;
             break;
diff --git a/users/rupa/config.h b/users/rupa/config.h
index 723d9b3b5f..42a1708f9c 100644
--- a/users/rupa/config.h
+++ b/users/rupa/config.h
@@ -1,6 +1,6 @@
 #pragma once
 
-#define UNICODE_SELECTED_MODES UC_MAC, UC_LNX
+#define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS, UNICODE_MODE_LINUX
 
 #define ONESHOT_TAP_TOGGLE 5
 #define ONESHOT_TIMEOUT 5000
diff --git a/users/rupa/wrappers.h b/users/rupa/wrappers.h
index 199404a760..b5794c8fad 100644
--- a/users/rupa/wrappers.h
+++ b/users/rupa/wrappers.h
@@ -111,7 +111,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define ____65_ADJUST______________ROW1    _______, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  _______, _______
 #define ____65_ADJUST______________ROW2    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,   _______
 #define ____65_ADJUST______________ROW3    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          EE_CLR,  _______
-#define ____65_ADJUST______________ROW4    _______,          _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, UC_MOD,  _______, _______
+#define ____65_ADJUST______________ROW4    _______,          _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, UC_NEXT, _______, _______
 #define ____65_ADJUST______________ROW5    _______, _______, _______,                            _______,                   _______, _______, _______, _______, _______, _______
 
 #define ____65_ADJUST__________RGB_ROW2    _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, _______, _______, RESET,   _______
diff --git a/users/rverst/rverst.c b/users/rverst/rverst.c
index 2cbffbc478..df37ba9b5f 100644
--- a/users/rverst/rverst.c
+++ b/users/rverst/rverst.c
@@ -75,13 +75,13 @@ void switch_mode(uint8_t mode) {
 #ifdef UNICODEMAP_ENABLE
     switch (mode) {
         case MAC_UNI:
-            set_unicode_input_mode(UC_MAC);
+            set_unicode_input_mode(UNICODE_MODE_MACOS);
             break;
         case WINDOWS_UNI:
-            set_unicode_input_mode(UC_WINC);
+            set_unicode_input_mode(UNICODE_MODE_WINCOMPOSE);
             break;
         case LINUX_UNI:
-            set_unicode_input_mode(UC_LNX);
+            set_unicode_input_mode(UNICODE_MODE_LINUX);
             break;
     }
 #endif
diff --git a/users/rverst/unicode.h b/users/rverst/unicode.h
index 2268ffb594..45d1585809 100644
--- a/users/rverst/unicode.h
+++ b/users/rverst/unicode.h
@@ -18,7 +18,7 @@
 
 #ifdef UNICODE_SELECTED_MODES
 #    undef UNICODE_SELECTED_MODES
-#    define UNICODE_SELECTED_MODES UC_MAC, UC_LNX, UC_WINC
+#    define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS, UNICODE_MODE_LINUX, UNICODE_MODE_WINCOMPOSE
 #endif
 
 enum unicode_names { BANG, IRONY, SNEK };
diff --git a/users/sigma/sigma.c b/users/sigma/sigma.c
index 70a76d4c01..9a0786233b 100644
--- a/users/sigma/sigma.c
+++ b/users/sigma/sigma.c
@@ -67,13 +67,13 @@ void set_os(uint8_t os) {
 #if defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE) || defined(UCIS_ENABLE)
   switch (os) {
   case _OS_MACOS:
-    set_unicode_input_mode(UC_MAC);
+    set_unicode_input_mode(UNICODE_MODE_MACOS);
     break;
   case _OS_LINUX:
-    set_unicode_input_mode(UC_LNX);
+    set_unicode_input_mode(UNICODE_MODE_LINUX);
     break;
   case _OS_WINDOWS:
-    set_unicode_input_mode(UC_WIN);
+    set_unicode_input_mode(UNICODE_MODE_WINDOWS);
     break;
   }
 #endif
diff --git a/users/spidey3/config.h b/users/spidey3/config.h
index 15f46a1f4a..0b3bf8f723 100644
--- a/users/spidey3/config.h
+++ b/users/spidey3/config.h
@@ -31,7 +31,7 @@
 
 #endif
 
-#define UNICODE_SELECTED_MODES UC_MAC, UC_LNX, UC_WINC, UC_EMACS
+#define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS, UNICODE_MODE_LINUX, UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_EMACS
 
 #define SPI_DEBUG_SCAN_RATE
 
diff --git a/users/spidey3/layer_rgb.c b/users/spidey3/layer_rgb.c
index 102848fc90..75a4b4c0a1 100644
--- a/users/spidey3/layer_rgb.c
+++ b/users/spidey3/layer_rgb.c
@@ -61,9 +61,9 @@ const rgblight_segment_t PROGMEM _huh_layer[]    = RGBLIGHT_LAYER_SEGMENTS(CORNE
 
 #define UNICODE_OFFSET 12
 const rgblight_segment_t PROGMEM _uc_mac_layer[]  = RGBLIGHT_LAYER_SEGMENTS(CORNER_BR(HSV_PURPLE));
-// No indicator for UC_LNX
-// UC_WIN disabled in config.h
-// UC_BSD not implemented
+// No indicator for UNICODE_MODE_LINUX
+// UNICODE_MODE_WINDOWS disabled in config.h
+// UNICODE_MODE_BSD not implemented
 const rgblight_segment_t PROGMEM _uc_winc_layer[] = RGBLIGHT_LAYER_SEGMENTS(CORNER_BR(HSV_CYAN));
 const rgblight_segment_t PROGMEM _uc_emacs_layer[] = RGBLIGHT_LAYER_SEGMENTS(CORNER_BR(HSV_GREEN));
 
@@ -85,14 +85,14 @@ const rgblight_segment_t *const PROGMEM _rgb_layers[] = {
     [ACK_OFFSET + ACK_MEH]    = _meh_layer,
     [ACK_OFFSET + ACK_HUH]    = _huh_layer,
 
-    [UNICODE_OFFSET + UC_MAC]  = _uc_mac_layer,
-    [UNICODE_OFFSET + UC_LNX]  = _none,
-    [UNICODE_OFFSET + UC_WIN]  = _none,
-    [UNICODE_OFFSET + UC_BSD]  = _none,
-    [UNICODE_OFFSET + UC_WINC] = _uc_winc_layer,
-    [UNICODE_OFFSET + UC_EMACS] = _uc_emacs_layer,
+    [UNICODE_OFFSET + UNICODE_MODE_MACOS]      = _uc_mac_layer,
+    [UNICODE_OFFSET + UNICODE_MODE_LINUX]      = _none,
+    [UNICODE_OFFSET + UNICODE_MODE_WINDOWS]    = _none,
+    [UNICODE_OFFSET + UNICODE_MODE_BSD]        = _none,
+    [UNICODE_OFFSET + UNICODE_MODE_WINCOMPOSE] = _uc_winc_layer,
+    [UNICODE_OFFSET + UNICODE_MODE_EMACS]      = _uc_emacs_layer,
 
-    [UNICODE_OFFSET + UC__COUNT] = NULL
+    [UNICODE_OFFSET + UNICODE_MODE_COUNT] = NULL
 };
 
 // clang-format on
@@ -113,7 +113,7 @@ void do_rgb_layers(layer_state_t state, uint8_t start, uint8_t end) {
 }
 
 void do_rgb_unicode(uint8_t uc_mode) {
-    for (uint8_t i = 0; i < UC__COUNT; i++) {
+    for (uint8_t i = 0; i < UNICODE_MODE_COUNT; i++) {
         bool is_on = i == uc_mode;
         rgblight_set_layer_state(UNICODE_OFFSET + i, is_on);
     }
diff --git a/users/spidey3/spidey3.c b/users/spidey3/spidey3.c
index 0955bef3c3..3cf458d460 100644
--- a/users/spidey3/spidey3.c
+++ b/users/spidey3/spidey3.c
@@ -224,7 +224,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
                 // to determine what Print Screen key should do. The
                 // idea here is to make it consistent across hosts.
                 switch (get_unicode_input_mode()) {
-                    case UC_MAC:
+                    case UNICODE_MODE_MACOS:
                         if ((mods | osm) & MOD_MASK_ALT) {
                             // Window screenshot
                             clear_mods();
@@ -247,8 +247,8 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
                         }
                         break;
 
-                    case UC_WIN:
-                    case UC_WINC:
+                    case UNICODE_MODE_WINDOWS
+                    case UNICODE_MODE_WINCOMPOSE:
                         if ((mods | osm) & MOD_MASK_ALT) {
                             // Window screenshot
                             // Alt+PrintScreen should work as is
diff --git a/users/spidey3/spidey3_unicode.c b/users/spidey3/spidey3_unicode.c
index c2804d8805..bda0876b54 100644
--- a/users/spidey3/spidey3_unicode.c
+++ b/users/spidey3/spidey3_unicode.c
@@ -24,5 +24,5 @@ const uint32_t PROGMEM unicode_map[] = {
 
 void eeconfig_init_user_unicode(void) {
     // Default to Linux style
-    set_unicode_input_mode(UC_LNX);
+    set_unicode_input_mode(UNICODE_MODE_LINUX);
 }
diff --git a/users/uqs/config.h b/users/uqs/config.h
index 5530417de1..4bb793532b 100644
--- a/users/uqs/config.h
+++ b/users/uqs/config.h
@@ -22,7 +22,7 @@
 #define LEADER_TIMEOUT 400
 #define LEADER_PER_KEY_TIMING
 
-#define UNICODE_SELECTED_MODES UC_LNX
+#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX
 
 // make KC_ACL0 et al work when held.
 #define MK_COMBINED
diff --git a/users/uqs/uqs.c b/users/uqs/uqs.c
index ede34d4556..82cf70c439 100644
--- a/users/uqs/uqs.c
+++ b/users/uqs/uqs.c
@@ -560,13 +560,13 @@ void matrix_scan_user(void) {
     }
     // tableflip (LEADER - TF)
     SEQ_TWO_KEYS(KC_T, KC_F) {
-      //set_unicode_input_mode(UC_LNX);
+      //set_unicode_input_mode(UNICODE_MODE_LINUX);
       //send_unicode_hex_string("0028 30CE 0CA0 75CA 0CA0 0029 30CE 5F61 253B 2501 253B");
       send_unicode_string("(╯°□°)╯︵ ┻━┻");
     }
     // untableflip
     SEQ_THREE_KEYS(KC_U, KC_T, KC_F) {
-      //set_unicode_input_mode(UC_LNX);
+      //set_unicode_input_mode(UNICODE_MODE_LINUX);
       //send_unicode_hex_string("0028 30CE 0CA0 75CA 0CA0 0029 30CE 5F61 253B 2501 253B");
       send_unicode_string("┬─┬ノ( º _ ºノ)");
     }
diff --git a/users/yet-another-developer/yet-another-developer.c b/users/yet-another-developer/yet-another-developer.c
index b729c06219..0e62d0cc88 100644
--- a/users/yet-another-developer/yet-another-developer.c
+++ b/users/yet-another-developer/yet-another-developer.c
@@ -4,9 +4,9 @@
 userspace_config_t userspace_config;
 
 #if (defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE) || defined(UCIS_ENABLE))
-    #define YAD_UNICODE_MODE UC_WIN
+    #define YAD_UNICODE_MODE UNICODE_MODE_WINDOWS
 #else
-// set to 2 for UC_WIN, set to 4 for UC_WINC
+// set to 2 for UNICODE_MODE_WINDOWS, set to 4 for UNICODE_MODE_WINCOMPOSE
     #define YAD_UNICODE_MODE 2
 #endif