I believe the way that you have to do this, well the way I did it atleast, was to check for the status of the shift keys when you get the 'other' key message. i.e If you wanted to catch '?', then trap '/', and test for shift keys being pressed. If both are true then do your trap stuff.
if(key=='/' && bShiftPressed)
{
doTrapStuff();
}