This keyboard behavior indicates the keyboard layout is set incorrectly, most likely United Kingdom instead of United States.
If Shift + 2 types " instead of @, Windows is using the UK English layout. On a UK layout, Shift + 3 also produces £ instead of #.
To correct it in Windows 10:
- Open Settings.
- Go to Time & language > Language & region.
- Under Preferred languages, select the language in use.
- Select Options.
- Under Keyboards, check which layout is installed.
- If the physical keyboard is US, add United States.
- If United Kingdom is installed and not needed, remove it.
- To switch between installed keyboard layouts, press Windows key + Spacebar.
If layouts switch unexpectedly, check Settings > Time & Language > Typing > Advanced keyboard settings and review keyboard switching behavior.