Not sure about gadgets but have you tried opening a window with IDCMP flags also containing IDCMP_MENUPICK, to get menu selections via GetMsg(), along mouse and key events (e.g. if you set them to IDCMP_MOUSEBUTTONS|IDCMP_RAWKEY|IDCMP_MENUPICK).
Then when you get a message, check if im_Class contains IDCMP_MENUPICK bit, and use im_Code to locate the right menu item via _LVOItemAddress().
For amiga/shift/ctrl/alt keys, check im_Qualifier field for IEQUALIFIER_XXX bits when you receive an IDCMP_RAWKEY event.
|