By default Windows has the language tab enabled. Certain Ctrl-shift whatever combinations can change the keyboard language from, say, US English to German, without you noticing… Suddeny Y is the esset character that looks like a B with a tail. Etc.
That *might *be a cause. Not real likely with you reporting that the same keystroke returns different characters in different programs. But no harm in eliminating it as a possibility.
For XP, take a look under Control panel >> Regional Settings & langauges >> Languages Tab >> [Details]. Vista / Win7 is similar. If you have multiple langugages or keyboard mappings available and don’t need them, remove them.
As suggested above, if you have a spare keyboard or can borrow one I’d also try swapping keyboards. It’ll at least eliminate either the KB hardware or the PC software as the source of the problem.
If it’s your keyboard language, and you’re running Windows, there’s probably a little icon of a keyboard in your tray down in the corner. If you click it, it’ll show a list of choices, of which you probably want the “US” one. (Then uninstall the others as ** LSLGuy** says)