I have sometimes experienced my arduino inputs being triggered or manipulated by other changes in the electrical system where I might be working. It can be me plugging a normal house appliance in/out in another room eg.
Is there a good standard approach to deal with this? Putting capacitors close to all the input sources, or some really big capacitors close to the arduino or somewhere else? I'm asking because I have been looking for solutions for some time, but haven't been able to find one.
I had the same issue with one of my designs uncalled for operation, Which had long wires for the 3 button keypad. But my system ran from a 24V supply with a dc/dc converter to 5V for the Arduino.
I did a an input filter which prevented any uncalled for operations. It's been working well over 12 months without no issue's. If you have longish wire going to the buttons and which buttons you are using. Mine where rated at 200ma switching current and when you only pull it either high/low with a 4K7/10K resistor I found that the transient spike/voltage was causing my issue. The idea of the input filter is you create a 40-50ma current draw, your input voltage needs to be higher than 5V (may work with 5V but not tired it has my system was 24V)so could be either 9-24v input you just choose the resistors to suit to create the current draw. I've attached my schematic of the input filter (as I call it) for you to take a look at it may help. My lead was about 20ft long to the controller which was acting as antenna for the noise.
Like I said it cured my problem and works perfectly.