Do any of the functions fire when one of the fingers is lifted? I would have expected touchesEnded to fire, if touchesBegan fires once for each finger as they are detected. What about touchesMoved/touchesCancelled? You might need to handle the touch state manually as long as you can get some notification that a touch has ended.
If you can’t you might need to subclass UIWindow and handle things at an even more basic level. Stack overflow has a code sample showing how to do this - it won’t be easy but if you absolutely must have it this may be the only way.