Quick fix: Open Settings → Time & language → Language & region, select your active language → Language options, and change the keyboard layout to US (or English (United States) – US) — your @ key will return to its physical position immediately.
You press the @ key and get " instead. Or Shift+2 produces @ instead of ". Or the bracket keys are swapped. Your physical keyboard hasn’t changed; Windows is using a different keyboard layout than your hardware. Almost always, a previous keyboard layout (UK English, Japanese JIS, German QWERTZ, French AZERTY) is active even though your physical keys are US ANSI.
Affects: Windows 11 (and Windows 10) after IME installation, account migration, or accidental layout switch.
Fix time: ~3 minutes.
What causes this
The keyboard layout (which key produces which character) is independent of the keyboard language (UI text, IME behavior). When you add a new language to Windows 11, the default layout for that language gets installed too. For Japanese, that’s JIS layout — which moves @ from Shift+2 to its own key. For UK English, the " and @ swap positions vs US. For German, Y and Z swap. These layouts persist even after the language is removed, sometimes.
Another cause: pressing Ctrl + Shift or Win + Space accidentally cycles through installed layouts. You may have done this without noticing and ended up on a layout that doesn’t match your hardware.
Method 1: Reset layout to US English via Settings
The standard fix.
- Open Settings → Time & language → Language & region.
- Look at the language list. Identify which one is your primary (top of list).
- If English (United States) isn’t already in the list, click Add a language, search for it, and install. Untick optional packs you don’t need.
- If English (United States) is in the list but not at the top, click it and use the up arrow to move it to the top.
- Click English (United States) → Language options.
- Under Keyboards, confirm US appears. If only US-International or another variant is listed, click Add a keyboard → US.
- If other layouts (UK, Japanese, etc.) are listed under any language, click the three dots next to each and choose Remove.
- Click the language indicator in the system tray. Switch to ENG / US.
Test by typing @, ", ‘, :, ;, [, ], \. Each should produce the character on your physical keycap.
Method 2: Disable the layout-switch hotkey
Once you’re on the right layout, stop accidental switching.
- Open Settings → Time & language → Typing → Advanced keyboard settings.
- Click Input language hot keys at the bottom.
- The Text Services and Input Languages dialog opens.
- Click the Advanced Key Settings tab.
- Highlight Between input languages and click Change Key Sequence.
- Set Switch Input Language to Not Assigned.
- Set Switch Keyboard Layout to Not Assigned.
- Click OK twice.
Now Ctrl + Shift and other shortcuts won’t accidentally cycle layouts.
Method 3: Force US English layout via registry (when Settings reverts)
Use when changes in Settings don’t stick.
- Press
Win + R, typeregedit, press Enter. - Navigate to
HKEY_CURRENT_USER\Keyboard Layout\Preload. - Set entry 1 to
00000409(US English). - Delete any other numbered entries (2, 3, …) that point to other layouts you don’t want.
- Navigate to
HKEY_CURRENT_USER\Keyboard Layout\Substitutes. Delete every value here — these are layout overrides that often cause drift. - Navigate to
HKEY_USERS\.DEFAULT\Keyboard Layout\Preload. Repeat the same. This affects the sign-in screen. - Open Terminal (Admin) and apply the user language list:
Set-WinUserLanguageList -LanguageList en-US -Force - Sign out and back in.
Common layout codes: 00000409 = US English, 00000411 = Japanese JIS, 00000409:00010409 = US-International (the variant with dead keys for accents).
How to verify the fix worked
- Click the language indicator in the system tray. It shows ENG with US sub-label.
- Open Notepad and type a quick symbol test:
!@#$%^&*()-_=+[]{};':"\|,./<>?. Every character should match your keycap printing. - Press
Win + Space. The picker either doesn’t appear (no other layouts) or shows only US English.
If none of these work
If symbol keys still produce wrong characters despite Method 1-3, the physical keyboard hardware is the issue. Laptops sold in Japan, Korea, France (AZERTY), Germany (QWERTZ), or the UK have physically different keys — there’s no software fix to make a JIS keycap match a US ANSI keycap. Three workarounds: (1) connect a USB ANSI keyboard alongside; (2) remap keys with PowerToys Keyboard Manager to compensate (e.g., remap the JIS " key to act as the US @ key); (3) accept the mismatch and learn the offsets. For chronic Settings reversion on a laptop that’s definitely US-hardware, an OEM utility (Lenovo Vantage, HP Support Assistant) may be enforcing a region-specific layout — check those tools’ settings for keyboard region overrides.
Bottom line: Wrong symbol output is the keyboard layout, not the keyboard language — set US as the only layout, disable the layout-switch hotkey, and the @ key returns to its rightful place.