When you type @ on the client and the host writes " instead, you've hit a layout mismatch — the most common keyboard issue in remote desktop. Remio supports two ways of sending keystrokes, and switching between them resolves nearly every layout problem. This guide explains the model, the fix, and the trade-offs.
How Remio sends keystrokes
There are two competing approaches to delivering a keypress over a network, and Remio supports both because each is right for different work.
Scancode mode (default) — Remio sends the physical key position you pressed (the scancode from the keyboard hardware). The host interprets the scancode using its own active layout. This is the right choice for games (where WASD must hit physical positions, not letters), for shortcuts (Cmd+S must be the Cmd key, not the character S), and for any application that reads raw key events.
Character mode — Remio sends the Unicode character your client OS interpreted from the keypress. The host inserts that exact character regardless of its layout. This is the right choice for typing prose, especially with international characters, diacritics, or IMEs.
You can switch between them mid-session: Settings → Keyboard → Input Mode in the client.
# Mental model
scancode mode → physical position (Q is at top-left)
host interprets using its layout
→ games, shortcuts, password fields work
character mode → Unicode codepoint (U+00E4 = ä)
host inserts character as-is
→ international text, IMEs, diacritics work
Prerequisites
- Both ends updated — character mode was added in 2026-03. Old builds only support scancode.
- Knowledge of your host's active layout — macOS shows it in the menu bar; Windows shows it in the language bar.
- If using an IME (Vietnamese Telex, Japanese, Chinese Pinyin), run it only on the client.
-
01
Diagnose the symptom
The exact mistranslation tells you which layouts are mismatched. A few common patterns:
- @ becomes " and vice versa — UK client, US host (or the reverse). Both layouts have @ and " on different shifted keys.
- Z and Y swap — QWERTZ (German, Czech) client, QWERTY host. Z and Y trade physical positions.
- $, £, € misplaced — UK or European client, US host. Currency symbols vary by locale.
- Backslash missing or wrong — ISO vs ANSI keyboard layout. ISO has an extra key near Enter that ANSI lacks.
- Diacritics produce wrong vowels — dead keys interpreted on host instead of client.
- IME duplicates characters — IME running on both ends. Each composes the input and the second one re-composes.
-
02
Option A — match the layouts
The cleanest fix in scancode mode is to make both ends share a layout. Pick one and apply it everywhere.
macOS hostSystem Settings → Keyboard → Text Input → Edit. Add or remove input sources; the menu bar shows the active one. macOS allows multiple layouts; the one in front of an app at the moment of keypress is what Remio reports.
Windows hostSettings → Time & Language → Language & Region → Keyboards. Add, remove, or set a default. The system tray language bar shows the active layout. Press Win+Space to cycle between added layouts.
TIP
If you regularly switch between US and UK keyboards across machines, pick one and force every device to it. The five seconds you spend in System Settings save hours of typo cleanup later.
-
03
Option B — switch to character mode
If you'd rather not change OS settings, or if you regularly type characters that don't exist on the host's layout, switch Remio to character mode.
On the client: Settings → Keyboard → Input Mode → Character (Unicode). Now every key you press is interpreted by your client OS, then the resulting Unicode character is sent to the host. The host inserts it verbatim.
Trade-offs to know:
- Modifier keys still send scancodes — Cmd, Ctrl, Shift, Alt continue to work as scancodes so shortcuts and chord combinations still fire. Only character-producing keys switch to Unicode.
- Games may not work — most games read raw scancodes. Character mode bypasses that. For gaming, keep scancode mode on.
- IMEs work cleanly — your client IME composes the final character locally; the host receives the composed text, not the in-progress pinyin or dead-key sequence.
-
04
Special characters and diacritics
Special characters are where layout mismatches hurt most. Each language has its conventions; here's how Remio handles the common ones.
- German ÄÖÜß — character mode sends them as U+00C4, U+00D6, U+00DC, U+00DF. The host OS needs no German support installed.
- Vietnamese diacritics — run Telex, VNI, or your preferred IME on the client. The composed character (e.g.
ơ,ư,ấ) is sent as Unicode. Do not run a Vietnamese IME on the host or you'll double-compose. - French accents — characters like
é è ê çcompose on the client (with dead keys or AZERTY direct keys) and arrive complete on the host. - Japanese / Chinese / Korean IMEs — character mode preferred. Run the IME on the client only; pinyin or hiragana shows in the on-screen candidate window on the client, and the chosen character is sent to the host.
- Emoji — pick from the client's emoji picker; the codepoint is sent as Unicode. The host renders it with whatever emoji font it has.
-
05
Modifier keys across platforms
The fiddliest cross-platform problem is modifiers: macOS uses Cmd as the primary modifier, Windows uses Ctrl. By default, Remio swaps them automatically based on the host platform so your shortcuts feel native — Cmd+S on the Mac client becomes Ctrl+S on a Windows host, and vice versa.
If you've turned auto-remap off (Preferences → Keyboard → Auto Modifier Remap), the raw modifier reaches the host and most shortcuts won't fire. Re-enable it unless you have a specific reason — typically only power users with bespoke remapping tools need it off.
Additional notes:
- Option / Alt — same physical key, different name. Remio reports both correctly.
- Windows / Cmd — same physical position. Auto-remap takes care of the swap when crossing platforms.
- Caps Lock — passed through as-is. The host's Caps Lock state matches what you toggled on the client.
- Function keys — F1-F12 all reach the host. On Mac hosts, fn+F1 etc. respects whatever the system setting is for media-key behavior.
# Auto-remap example — Mac client → Windows host client: Cmd+S (you press) remio: detected Mac modifier, host is Windows remio: send Ctrl+S host: Ctrl+S triggers Save (works correctly)
Troubleshooting
- Some keys still wrong after switching modes — disconnect and reconnect. Mode change applies on next session.
- Game doesn't recognize keys — confirm scancode mode is selected. Some games also need raw input enabled in their settings.
- IME shows composition window on host — turn off the IME on the host; run it only on the client.
- Shortcut hits the wrong app — verify the host app actually has focus. Remio sends to whatever app is in front on the host.
- Hardware keyboard on iPad not detected — disconnect and reconnect the Bluetooth keyboard, then reopen the session. iPadOS sometimes drops the connection between sessions.
Keyboard layout FAQ
Why do my @ and " keys swap on Remio?
Your client and host are on different keyboard layouts — typically UK vs US. The two layouts swap @ and " between Shift+2 and Shift+'. Force both ends to the same layout in the OS keyboard settings, or switch Remio to character mode so it sends Unicode characters instead of scancodes.
How does Remio send keystrokes — scancodes or characters?
By default, Remio sends scancodes (physical key positions) so games and shortcuts work correctly. For text-heavy work it can switch to character mode (Unicode codepoints) so special characters always arrive intact regardless of host layout.
Can I type German ÄÖÜ on a US keyboard via Remio?
Yes. Enable Character Mode in the client settings — the dead keys, accents, and umlauts you type are sent as Unicode characters and inserted on the host regardless of its layout.
Do Vietnamese diacritics work over Remio?
Yes, in Character Mode. Diacritics are composed on the client (using whatever IME you use locally — Telex, VNI, or the system IME) and the final character is sent as Unicode. Avoid running an IME on the host simultaneously or you'll double-compose.
Where do I change the keyboard layout on the macOS host?
System Settings → Keyboard → Text Input → Edit. Add or remove layouts there. Remio respects whatever layout macOS currently has active for the focused application.
Why do my keyboard shortcuts not work in Remio?
Most often, the modifier keys differ — macOS Cmd vs Windows Ctrl. Remio remaps automatically by default; if you've turned that off in Preferences → Keyboard, the wrong modifier reaches the host. Re-enable Auto Modifier Remap and the shortcuts will fire.