Membrane keypads aren't the most comfortable to type on for extended periods, as any fan of the classic Sinclair ZX80 or ZX81 microcomputers will admit, but they have the advantages of being cheap and relatively robust. They're also surprisingly simple to build, as demonstrated by Paul Bleisch who is currently working on repairing his son's toy but required some means of input. As an off-the-shelf membrane keypad lacked the markings he wanted and a custom-printed keypad would be prohibitively expensive, Paul built his own using nothing more than card, adhesive copper tape, and a printer. Jumper wires are used to connect the keypad to an Arduino Uno, which reads the currently-pressed button using the Keypad sample sketch provided in the Arduino IDE. While Paul admits that his creation isn't necessarily cheaper than an off-the-shelf import, especially when his time is taking into account, it has the benefit of having custom decals and - for a future revision - any layout he can dream up, rather than a forced square matrix.
I decided to make my own. There are a few tutorials on building membrane keypads. Most of the DIY keypads I’ve found don’t seem like they would be all that reliable nor resilient. I’m not looking for something to last forever but it should last long enough to warrant the 30 minutes of work needed to make it.