I have a raspberry pi B+ with raspbian OS installed. In this set up, most of the keys were not producing the proper characters. Among the characters, ‘|’ was the character that I missed a lot, because I was not able to do any grep in the linux command line. I tried re-configuring the keyboard, but that didn’t helped me. Then I found the solution.
I changed the keyboard layout to US.
The command for doing the same is given below.
setxkbmap -layout us
If the above solution is not working, you can manually edit the following file and change the keyboard layout. Change the layout to US (use small letter).