All front panel buttons on mk2s (and onward) generate 2 up codes and 1 down. The mk1 had previously had issues with the up codes getting lost due to interrupt latency, so the mk2 button PIC on the frontboard generated longer fake-IR sequences to send to the main board and sent up twice. It's rather belt&braces, but works fine.

We since fixed the problem with mk1s by moving the IR from irq to fiq.

Hugo