Yes.
My theory:
- button presses originate from the MPU, via SIO3/MREQ:
http://magiclantern.wikia.com/wiki/SIO3_MREQ- 5Dc: bindGUISwitchCBR; on newer cameras it's more complicated, but along the same lines
- the bind function sends GUI events via GUI_Control (ML name: fake_simple_button).
In 5Dc, bindGUISwitchCBR is overriden to figure out which wheel was turned, because they both send the same GUI event (see gui.c).
However, I had no success porting this trick on 5D3 to figure out unhandled buttons that have all the same event code ( GUICMD_PRESS_BUTTON_SOMETHING ).