To see all GUI events, look in debug.c, spy_event. You may the first "if" into "if(1)" to display them always.
it seems the flash button changes solid to 3f at address 1000020 all other buttons when press start at there own id like 3d with no address but then real fast flicker to 3f 10000020, so it looks like all buttons, not just the up, down, and right do the same thing except left which stays solid on 3f with no address.
Not sure what this means but: I put all flash button code back to normal which disables the feature on the 500D to make ISO, Kel and Display Profile change, I then checked the button codes with the spy event and all buttons but left button dont show the normal info
Left = 39 0/
all other buttons change from 3a to 3f 1000020/ unless you hold the flash button down, then all other buttons on cam show there own number with no address
right = 37 0/
up = 3b 0/
down = 3d 0/
and once you press any other button the 3f comes on and stays on except left which is 39 and when left is released it goes back to 3a
If your holding flash button and press say right it will show 37 then go to 38 if you let go of right but keep flash button in, all other go to the next higher number, like up goes from 3b to 3c down from 3d to 3e but without flash button held it goes to 3f and the address is 20/ from 10000020/ while pressed.