Pretty simple and very confusing. In order to get the @ to respond I have to hold it down for 1 second before anything happens and then delete all of the extra characters that have been typed. same goes ' obviously. It has nothing to do with shift.
I thought maybe it was my keyboard so I tried a different keyboard and the same problem and my keyboard in a different computer without any problems. This is hugely upsetting whilst trying to program anything..
Any ideas then?