Magic Lantern Firmware Wiki
Advertisement

For 550D, see GUI Events/550D.

Event-dump

GUI event dump

gui_main_task() retrieves events from the main message queue. The types are 0-6 and the events have an integer parameter, an object pointer and an unknown 32-bit value.

  • 0: GUI_CONTROL
  • 1: GUI_CHANGE_MODE
  • 2: Local event?
  • 3: GUI_OTHER_EVENT (11 == CANCEL_ALL_EVENT)
  • 4: Timeout?
  • 5: GUI_CHANGE_SHOOT_TYPE
  • 6: GUI_CHANGE_LCD_STATE

The massive gui event handler transforms the parameter value for GUI_CONTROL events into some other type of event. The low values (0x00-0xFF?) are reserved for dialog box items on screen. It should be possible to generate a mapping of event parameters to GUI events and each button to a gui event.

  • 0x800 == GOT_TOP_OF_CONTROL
  • 0x801 == LOST_TOP_OF_CONTROL
  • 0x802 == INITIALIZE_CONTROLLER
  • 0x804 == TERMINATE_WINSYS
  • 0x805 == DELETE_DIALOG_REQUEST
  • 0x807 == PRESS_RIGHT_BUTTON
  • 0x809 == PRESS_LEFT_BUTTON
  • 0x80B == PRESS_UP_BUTTON
  • 0x80D == PRESS_DOWN_BUTTON
  • 0x80F == PRESS_MENU_BUTTON
  • 0x812 == PRESS_SET_BUTTON (maybe)
  • 0x81B == PRESS_UP_BUTTON
  • 0x820 == SUB_DIAL (spin left)
  • 0x823 == PRESS_MLT_CENTER_BUTTON
  • 0x829 == PRESS_INFO_BUTTON
  • 0x82B == ELECTRONIC_SUB_DIAL_RIGHT
  • 0x82C == ELECTRONIC_SUB_DIAL_LEFT
  • ? == SUB_DIAL (spin right)
  • 0x10000000 == PRESS_DISP_BUTTON
  • 0x10000005 == PRESS_DIRECT_PRINT_BUTTON
  • 0x10000007 == PRESS_FUNC_BUTTON
  • 0x10000009 == PRESS_PICTURE_STYLE_BUTTON
  • 0x1000000B == OPEN_SLOT_COVER
  • 0x1000000C == CLOSE_SLOT_COVER
  • 0x1000008A == START_SHOOT_MOVIE

[AJ] It was getting a little messy - and so I've separated my 5D entries into the following:

Button Event num Button_Event App
0x804 TERMINATE_WINSYS DlgLiveView.c
0x805 DELETE_DIALOG_REQUEST DlgLiveView.c
0x807 PRESS_MLT_RIGHT_BUTTON_press DlgLiveView.c
0x809 PRESS_MLT_LEFT_BUTTON DlgLiveView.c
0x80B PRESS_MLT_UP_BUTTON_press DlgLiveView.c
0x80F (and 0x10000000) PRESS_MENU/DISP_BUTTON DlgLiveView.c
0x812 PRESS_SET_BUTTON (strange Logic) DlgLiveView.c
0x819 PRESS_TELE_MAG_BUTTON DlgLiveView.c
0x81A UNPRESS_TELE_MAG_BUTTON DlgLiveView.c
0x81B PRESS_WIDE_REDUCTION_BUTTON DlgLiveView.c
0x81C UNPRESS_WIDE_REDUCTION_BUTTON DlgLiveView.c
0x81F PRESS_MLT_LEFTUP_BUTTON DlgLiveView.c
0x820 PRESS_MLT_LEFT_BUTTON (spin left?) DlgLiveView.c
0x821 PRESS_MLT_LEFTDOWN_BUTTON DlgLiveView.c
0x822 PRESS_MLT_UP_BUTTON_press DlgLiveView.c
0x823 PRESS_MLT_CENTER_BUTTON DlgLiveView.c
0x824 PRESS_MLT_DOWN_BUTTON_press DlgLiveView.c
0x825 PRESS_MLT_RIGHTUP_BUTTON DlgLiveView.c
0x826 PRESS_MLT_RIGHT_BUTTON DlgLiveView.c
0x827 PRESS_MLT_RIGHTDOWN_BUTTON DlgLiveView.c
0x829 PRESS_INFO_BUTTON DlgLiveView.c
0x10000000 (and 0x80F) PRESS_MENU/DISP_BUTTON DlgLiveView.c
0x10000001 PRESS_ERASE_BUTTON DlgLiveView.c
0x10000003 (and 0x10000009) PRESS_PICTURE_STYLE_BUTTON DlgLiveView.c
0x10000005 PRESS_DIRECT_PRINT_BUTTON DlgLiveView.c
0x10000009 (and 0x10000003) PRESS_PICTURE_STYLE_BUTTON DlgLiveView.c
0x10000069 LOCAL_OLC_BLINK DlgLiveView.c
0x1000006B LOCAL_LV_CARD_CHANGE DlgLiveView.c
0x1000006D LOCAL_DIALOG_REFRESH_LV DlgLiveView.c
0x10000077 LOCAL_MOVIE_RECORD_SECCOU DlgLiveView.c
0x10000078 LOCAL_MOVIE_RECORD_STOP DlgLiveView.c
0x10000079 LOCAL_MOVIE_RECORD_ERROR DlgLiveView.c
0x1000007A LOCAL_MOVIE_RECORD_BUFFER DlgLiveView.c
Advertisement