You may need to enable the on-change interrupt for the input pin you're using to trigger
the interrupt. Say you're using RA0, then IOCA0=1 would enable on-change interrupt for
this pin.

Then in your interrupt handler, wait for the pin to return to the idle state before exiting.

Something like WHILE PORTA.0 = 1:WEND. Assuming RA0 was held low, and a switch press
taking it high caused the on-change interrupt.

Interrupt happens on RA0 going high, jumps to int handler, waits for pin to return low before
exiting & re-enabling interrupts.