Fix: touch handling