Fandom

Magic Lantern Firmware Wiki

GUI Events

328pages on
this wiki
Add New Page
Talk0 Share

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

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

Also on Fandom

Random Wiki