That Alt-code is a work-around, but not a real solution imo.
Check if more than just the @-symbol gives you problems. If more characters are 'in the wrong place' you have to press Ctrl + Shift simultaniously. Most of the time that solves the problem of wrong character output of your keyboard. ;)