<spanclass="line"><spanstyle="--shiki-light:#D73A49;--shiki-dark:#F97583;">#define</span><spanstyle="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> UNICODE_SELECTED_MODES</span><spanstyle="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> UNICODE_MODE_MACOS, UNICODE_MODE_WINCOMPOSE</span></span></code></pre></div><p>These modes can then be cycled through using the <code>UC_NEXT</code> and <code>UC_PREV</code> keycodes. You can also switch to any input mode, even if it is not specified in <code>UNICODE_SELECTED_MODES</code>, using their respective keycodes.</p><p>If your keyboard has working EEPROM, it will remember the last used input mode and continue using it on the next power up. This can be disabled by defining <code>UNICODE_CYCLE_PERSIST</code> to <code>false</code>.</p><divclass="plugin-tabs"><divclass="plugin-tabs--tab-list"role="tablist"><!--[--><buttonid="tab-macOS-3"role="tab"class="plugin-tabs--tab"aria-selected="true"aria-controls="panel-macOS-3"tabindex="0">macOS</button><buttonid="tab-Linux (IBus)-3"role="tab"class="plugin-tabs--tab"aria-selected="false"aria-controls="panel-Linux (IBus)-3"tabindex="-1">Linux (IBus)</button><buttonid="tab-Windows (WinCompose)-3"role="tab"class="plugin-tabs--tab"aria-selected="false"aria-controls="panel-Windows (WinCompose)-3"tabindex="-1">Windows (WinCompose)</button><buttonid="tab-Windows (HexNumpad)-3"role="tab"class="plugin-tabs--tab"aria-selected="false"aria-controls="panel-Windows (HexNumpad)-3"tabindex="-1">Windows (HexNumpad)</button><buttonid="tab-Emacs-3"role="tab"class="plugin-tabs--tab"aria-selected="false"aria-controls="panel-Emacs-3"tabindex="-1">Emacs</button><buttonid="tab-BSD-3"role="tab"class="plugin-tabs--tab"aria-selected="false"aria-controls="panel-BSD-3"tabindex="-1">BSD</button><!--]--></div><!--[--><divid="panel-macOS-3"class="plugin-tabs--content"role="tabpanel"tabindex="0"aria-labelledby="tab-macOS-3"data-v-b2b19630><!--[--><p><strong>Mode Name:</strong><code>UNICODE_MODE_MACOS</code></p><p>macOS has built-in support for Unicode input as its own input source. It supports all possible code points by way of surrogate pairs for code points above <code>U+FFFF</code>.</p><p>To enable, go to <strong>System Preferences → Keyboard → Input Sources</strong>, then add Unicode Hex Input to the list (under Other), and activate it from the input dropdown in the menu bar. Note that this may disable some Option-based shortcuts such as Option+Left and Option+Right.</p><!--]--></div><!----><!----><!----><!----><!----><!--]--></div><h2id="keycodes"tabindex="-1">Keycodes <aclass="header-anchor"href="#keycodes"aria-label="Permalink to "Keycodes {#keycodes}""></a></h2><table><thead><tr><th>Key</th><th>Aliases</th><th>Description</th></tr></thead><tbody><tr><td><code>UC(c)</code></td><td></td><td>Send Unicode code point <code>c</code>, up to <code>0x7FFF</code></td></tr><tr><td><code>UM(i)</code></td><td></td><td>Send Unicode code point at index <code>i</code> in <code>unicode_map</code></td></tr><tr><td><code>UP(i, j)</code></td><td></td><td>Send Unicode code point at index <code>i</code>, or <code>j</code> if Shift/Caps is on</td></tr><tr><td><code>QK_UNICODE_MODE_NEXT</code></td><td><code>UC_NEXT</code></td><td>Cycle through selected input modes</td></tr><tr><td><code>QK_UNICODE_MODE_PREVIOUS</code></td><td><code>UC_PREV</code></td><td>Cycle through selected input modes in reverse</td></tr><tr><td><code>QK_UNICODE_MODE_MACOS</code></td><td><code>UC_MAC</code></td><td>Switch to macOS input</td></tr><tr><td><code>QK_UNICODE_MODE_LINUX</code></td><td><code>UC_LINX</code></td><td>Switch to Linux input</td></tr><tr><td><code>QK_UNICODE_MODE_WINDOWS</code></td><td><code>UC_WIN</code></td><td>Switch to Windows input</td></tr><tr><td><code>QK_UNICODE_MODE_BSD</code></td><td><code>UC_BSD</code></td><td>Switch to BSD input (not implemented)</td></tr><tr><td><code>QK_UNICODE_MODE_WINCOMPOSE</code></td><td><code>UC_WINC</code></td><td>Switch to Windows input using WinCompose</td></tr><tr><td><code>QK_UNICODE_MODE_E