<p>Supports Unicode up to 0xFFFFFFFF. You need to maintain a separate mapping
table <code>const uint32_t PROGMEM unicode_map[] = {...}</code> in your keymap file.
The keycode function is <code>X(n)</code> where <em>n</em> is the array index of the mapping
table.</p>
<h2id="page_UCIS-_-ENABLE">UCIS_ENABLE</h2>
<p>TBD</p>
<p>Unicode input in QMK works by inputing a sequence of characters to the OS,
sort of like macro. Unfortunately, each OS has different ideas on how Unicode is inputted.</p>
<p>This is the current list of Unicode input method in QMK:</p>
<ul>
<li>UC_OSX: MacOS Unicode Hex Input support. Works only up to 0xFFFF. Disabled by default. To enable: go to System Preferences -> Keyboard -> Input Sources, and enable Unicode Hex.</li>
<li>UC_OSX_RALT: Same as UC_OSX, but sends the Right Alt key for unicode input</li>
<li>UC_LNX: Unicode input method under Linux. Works up to 0xFFFFF. Should work almost anywhere on ibus enabled distros. Without ibus, this works under GTK apps, but rarely anywhere else.</li>
<li>UC_WIN: (not recommended) Windows built-in Unicode input. To enable: create registry key under <code>HKEY_CURRENT_USER\Control Panel\Input Method\EnableHexNumpad</code> of type <code>REG_SZ</code> called <code>EnableHexNumpad</code>, set its value to 1, and reboot. This method is not recommended because of reliability and compatibility issue, use WinCompose method below instead.</li>
<li>UC_WINC: Windows Unicode input using WinCompose. Requires <ahref="https://github.com/samhocevar/wincompose"class="Link--external">WinCompose</a>. Works reliably under many (all?) variations of Windows.</li>
</ul>
<h1id="page_Additional-Language-Support">Additional Language Support</h1>
<p>In <code>quantum/keymap_extras/</code>, you'll see various language files - these work the same way as the alternative layout ones do. Most are defined by their two letter country/language code followed by an underscore and a 4-letter abbreviation of its name. <code>FR_UGRV</code> which will result in a <code>ù</code> when using a software-implemented AZERTY layout. It's currently difficult to send such characters in just the firmware.</p>
<h1id="page_International-Characters-on-Windows">International Characters on Windows</h1>
<p><ahref="https://autohotkey.com"class="Link--external">AutoHotkey</a> allows Windows users to create custom hotkeys among others.</p>
<p>The method does not require Unicode support in the keyboard itself but depends instead of AutoHotkey running in the background.</p>
<p>First you need to select a modifier combination that is not in use by any of your programs.
CtrlAltWin is not used very widely and should therefore be perfect for this.
There is a macro defined for a mod-tab combo <code>LCAG_T</code>.
Add this mod-tab combo to a key on your keyboard, e.g.: <code>LCAG_T(KC_TAB)</code>.
This makes the key behave like a tab key if pressed and released immediately but changes it to the modifier if used with another key.</p>
<p>In the default script of AutoHotkey you can define custom hotkeys.</p>
<pre><code><^<!<#a::Send, ä
<^<!<#<+a::Send, Ä
</code></pre>
<p>The hotkeys above are for the combination CtrlAltGui and CtrlAltGuiShift plus the letter a.
AutoHotkey inserts the Text right of <code>Send,</code> when this combination is pressed.</p>