Arduino, digital pins and rubber pad keys

I wanna make a MIDI keyboard from old keyboard for kids.
In the keyboard's PCB there's pads and rubber butttons on it. I've connected buttons' GND to arduino's GND and each button + to the D2, D3, D4 pins. I have following code:

// digital pin 2 has a pushbutton attached to it. Give it a name:
int pushButton = 2;

// the setup routine runs once when you press reset:
void setup() {
  // initialize serial communication at 9600 bits per second:
  // make the pushbutton's pin an input:
  pinMode(pushButton, INPUT_PULLUP);

// the loop routine runs over and over again forever:
void loop() {
  // read the input pin:
  int buttonState = digitalRead(pushButton);

  if(buttonState == LOW)
    delay(100);        // delay in between reads for stability


and when I short the button with piece of metal it works fine, but when I do that with rubber pads it doesn't work. Why?
What can I do?

Rubber tends to be non-conductive. Maybe there is a piece of metal missing that was attached to the rubber pad that isn't making contact.

The rubber have conducting pad inside it... It's something like in remote controllers.

Probably corroded.

You could
a) try some tarnish remover (compound)
b) get some thin foil and crazy-glue it in place of the "conducting pad".