DISP is defined as an option for the alt button, but is also assign a shortcut function (toggle raw and debug shortcut.) It might be simpler to just limit the alt shortcuts to PLAY and FACE ? I'm guessing disp would be a much less common choice since it has a commonly used function in the canon firmware.
FACE is also given the toggle MF function.
For both of these, if they are available as an alt key, can you verify that they don't trigger the shortcut functions when assigned as the alt key ? I expect they don't, but some of that code is quite convoluted.
I'll check into that. You're right, there are so many possible interactions...
In gui_draw.h, I'm not clear why there is the ifdef for CHDK_COLOR_BASE ?
For a while I was having trouble finding a spot in the color palettes where I could put the CHDK colors, so made it possible to build without them. I left it there in case I later on find a combination of Canon menues that shows the purported empty spot isn't so empty after all.
In kbd.c:
alt_mode_key_mask is not actually used anywhere, it should be removed.
I couldn't find where it was used either, but I'm not very familiar with the workings of CHDK so left it there. I'm happy to remove it!
The DIAL defines should be commented, since they are only for information.
OK.
The BTN defines are not a bad idea, but FWIW I'd prefer to keep the code similar to other cameras.
I prefer the BTN defines because the compiler is much better at making sure the mask is a proper OR of the keys. I much prefer to define things only once -- it saves me from tracking errors when I find I need to change something.
Your buildconf.inc had games disabled. If this camera does not have enough memory to run correctly without them, we will need to either force them off for this build or implement exmem support.
The camera has sufficient memory for games and the kinds of scripts I was running. I never tried RAW or motion detection, so I don't know if games would be a problem then. I have no objection to enabling games.
I've attached a diff with my modifications, and a corresponding build. I also removed extraneous changes. If this is acceptable, I can add it to the trunk. If you want to revise and make a new patch, that's OK too.
Thank you, I'll look at the patch and respond within a day.