The design of the Sainsmart LCD Keypad Shield is really stupid!
The keys are transformed into an analog signal through a resistor network. OK so far.
But the hot line of the resistor network is hard-connected to Vcc instead of Aref.
So if you want to use analogReference=(INTERNAL) or analogReference=(EXTERNAL), the keys won't work!
I am looking forward to modify the shield, but it does not seem to be easily doable since the resistors are located behind the display.
I just do not want to modify the analogReference=(DEFAULT) on the fly, that is IMHO too dirty programming to circumvent a hardware bug.