Events are provided by the OS for windows, not arbitrary regions of the screen.
When you receive a touch event for your window, you have to check whether it happened inside the shape or not. Functions like sf::Rect<T>::contains() should make this very simple.