If I didn't try, why would I say it doesn't work?
Because several things were suggested, and you didn't quote anybody. You also didn't say what you've tried in the past, which could help.
It would be nice to know what steps you've taken and what has failed to work.
Eg: have you tried a different keyboard? A different Linux (Knoppix, or something else off a cd)? Changing the keyboard mapping? Using the other shift? Copying/pasting the ~?
Try
dmesg | grep -i "key"
See if it has any messages about your keyboard. Also:
cat /var/log/messages | grep -i "key"