Rewrite button interupt on multiple pins to one pin

For a project, I'm trying to rewrite the code to read some button presses on several pins into code to read button presses on one analog pin.

This is the original code, it reads from a few simple push buttons:

// the buttons interrupt
// this is the interrupt handler for button presses
ISR(PCINT1_vect)
{
  unsigned long m = millis();

  currentButtons[LBUTTON] = digitalRead(lbuttonPin);
  currentButtons[MBUTTON] = digitalRead(mbuttonPin);
  currentButtons[RBUTTON] = digitalRead(rbuttonPin);

  for (int loop = 0; loop < NUMBUTTONS; loop++)
  {
    // Button down press
    if ((previousButtons[loop] == UP) && (currentButtons[loop] == DOWN))
    {
      lastButtonTimeDown[loop] = m;
    }
    // Button release press
    else if ((previousButtons[loop] == DOWN) && (currentButtons[loop] == UP))
    {
      lastButtonTimeDown[loop] = 0;
    }

    previousButtons[loop] = currentButtons[loop];
  }
}

Now, I want to convert this to code that can be used with an LCD Keypad Shield. These buttons are wired with some resistors, and can be read with an analog pin, see the example in the link.

I've been thinking about this, but as I'm a very inexperienced programmer, I haven't been able to figure this out. I realise this may not be trivial, but maybe someone can help me a little on the way with this?

That code reads the state of several switches which can be pressed at the same time. Can your setup handle multiple switches being pressed at the same time? I doubt it.

That code cares about how long the switches are pressed. Do you care?

PaulS:
That code reads the state of several switches which can be pressed at the same time. Can your setup handle multiple switches being pressed at the same time? I doubt it.

That code cares about how long the switches are pressed. Do you care?

I think my setup can't handle multiple switches being pressed at the same time, or I should measure total resistance or something. For my initial purposes, I don't care about multiple switches be pressed at the same time.

How long they are pressed might be necessary in the rest of the code, but if this is hard, I'd leave it out initially.

For my initial purposes, I don't care about multiple switches be pressed at the same time.

If you plan to add that requirement later, the use of an analog pin to read several switches using a resistor ladder is not going to work. Better to use the proper hardware from the beginning.

How long they are pressed might be necessary in the rest of the code, but if this is hard, I'd leave it out initially.

If you leave it out, all that the ISR needs to do is all analogRead() and determine which switch was pressed - exactly the same as you would do it without using an interrupt.