Were you rooted/ROMed? A bad ROM or kernel can have some wacky effects on devices. But my initial thoughts from your description would make me think it is a hardware issue.
I think my next step would be to make a backup and see about getting it fixed/replaced. If rooted, and you use a non-touch recovery, you may be able to make a backup. Then get everything off your sdcard you want, and flash stock + lock bootloader.