If you go that route, have a look at the PinChange interrupts. As well as the two IRQ lines, any pin can be configured to generate an interrupt on change of state. You’ll get an interrupt on both falling and rising edges, so will need to deal with that, but that can actually turn out to be useful if you need to do any de-glitching / de-bouncing.