Glad that worked, mantraguy. I'll take a look at the G10 and A590.
For those interested, my code changes for the A710 are below. Unfortunately, I had to change some code in generic/kbd.c, which means this will probably cause problems for other cameras. I'm sure there's a better way to do it but I haven't looked into it.
I'm having trouble creating a single unified diff in CHDK-Shell so here are the individual diffs, based on revision 908.
core/gui.c:
1443,1445d1442
< #elif defined(CAMERA_a710)
< static const char* names[]={ "Print", "Display"};
< static const int keys[] = {KEY_PRINT, KEY_DISPLAY};
platform/generic/kbd.c:
17c17
< static long alt_mode_key_mask = 0x00000800;
---
>
304d303
< physw_status[1] |= alt_mode_key_mask;
platform/a710/kbd.c:
35,44d34
< void kbd_set_alt_mode_key_mask(long key)
< {
< int i;
< for (i=0; keymap[i].hackkey; ++i) {
< if (keymap[i].hackkey == key) {
< alt_mode_key_mask = keymap[i].canonkey;
< return;
< }
< }
< }
include/camera.h:
824d823
< #define CAM_ADJUSTABLE_ALT_BUTTON 1