don't call touch when there are no touches

This prevents touch() from always being called, and allows it to be used
to detect when there is a touch, and do something