The problem seems to be that on game start and every keypress an SDL_ACTIVEEVENT with state SDL_APPINPUTFOCUS is emitted (kobo.cpp:1692). So even when you try to unpause, this event is fired again and it pauses again. After changing the check to if(!ev.active.gain && ev.active.state != SDL_APPINPUTFOCUS) I got it working without any noticable issues. But I'm not sure what's causing those repeated SDL_APPINPUTFOCUS events.
signature.asc
Description: PGP signature