if (event->param == BGMT_PRESS_SET)
{
SW1(1,50);
SW2(1,50);
msleep(100);
SW2(0,50);
SW1(0,50);
}

Wystarczy to wrzucić do shoot task_loop.

W ten sposób możesz używać przycisku SET do wyzwalania migawki. W miejscu msleep możesz dać pętlę while a w niej unpress set, wtedy nawet tryb seryjny będzie chodził jak trzeba
Może nie zbyt wygodne rozwiązanie, ale aparat może wciąż robić zdjęcia.