I have updated
my old PR for Custom Modes and more GUI options for my 600D to a
separated module.
Now my 600D has 3 c-modes and more setting to change from the standard dialog canon use for the four arrow button: WB, Drive mode, Focus option and PicStyles.
The module override button presses in photo mode (not LV) of the arrow to open up the GUIMODE_Q of the same dialog screen because it don't need set to pressed to change the value (and I like it better because if you press halfshutter you don't lose the setting).
Then in those dialog screen it show additional seeting to change with arrow, scrollweel and other buttons.
To work on other camera it needs some missing GUIMODE in platform/x00D.xxx/consts.h and uncomment #define FEATURE_REBEL_GUI in platform/x00D.xxx/features.h
If someone with those cameras can find those guimode we can make it work on other camera:
500D, 550D, 650D, 700D, 800D, 1000D, other Rebels? (how to find in second post)
For 500D I can compile the module but Picture Style override option will not work for this two GUIMODE because missing
#define GUIMODE_Q_EXP_COMP_AEB GUIMODE_PICTURE_STYLE // Q Exposition compensation and AEB
#define GUIMODE_Q_ALO GUIMODE_PICTURE_STYLE // Q Auto Light optimizer settings
(this is what I have for 700D for example):
#define CURRENT_GUI_MODE (*(int*)0x2658C) // in SetGUIRequestMode
#define GUIMODE_PLAY 1
#define GUIMODE_MENU 2
// #define GUIMODE_PICTURE_STYLE 0x
#define GUIMODE_FOCUS_MODE 0x123456
// #define GUIMODE_Q_PICQ 0x
// #define GUIMODE_Q_EXP_COMP_AEB 0x
// #define GUIMODE_Q_FLASH_EXP_COMP 0x
// #define GUIMODE_Q_ALO 0x
// #define GUIMODE_Q_ISO 0x
// #define GUIMODE_Q_FOCUS_MODE 0x
// #define GUIMODE_WB 0x
// #define GUIMODE_Q_WB 0x
// #define GUIMODE_DRIVE_MODE 0x
// #define GUIMODE_Q_DRIVE_MODE 0x
The module is hard to explain but once used is hard to work without because it make really faster to change setting without opening menus.
To see some old screenshot:
here