I sometimes find that
@ have swapped places. There's no pattern to it that I can discern. It can happen in the middle of the day.
Maybe you've inadvertently been hitting ALT+SHIFT? That's the Windows shortcut for switching inputlanguages. If so, you could uninstall the English keyboard layout, like so: