The LCD Keypad shield from dfrobot is a nice way to get a display and some buttons for an Arduino board. Unfortunately the reading of  button presses does not reliably work with the standard software (LCDKeypad). The alternative keygrabber library seems to be incomplete and did not work for me. The dfrobot forum lists some interesting approaches, so I decided to make my own library.

The LCDButtons library is hosted on github. It can be used as a replacement for LCDKeypad. The button() method works different: if a value is read that indicates a key press the reading is repeated until two consecutive values make the same key. The delay between the readings can be configured. Optionally the function can wait until the button is released.