OnClick SphereCap Handles

I write editor extension for drawing vectors (using Handles class).
I use Handles.FreeMoveHandle with two SphereCap at the edges of vector for moving and scaling.
How i can detect onClick event on SphereCap?
I found this code, but it not working:

var newId = GUIUtility.GetControlID(vectorObj.Hash, FocusType.Passive);

            switch (e.GetTypeForControl(newId))
                case EventType.Layout:
                    HandleUtility.AddControl(newId, 0.05f);
                case EventType.MouseUp:
                    Debug.Log("id: " + newId + " nearest: " + HandleUtility.nearestControl); // newId != HandleUtility.nearestControl i don't know how to fix it

for now, i can detect vector selection only if one of SphereCap was moved, but i want catch it onClick. any ideas?


Tie it into Mono as an instantiated gameObject with a collider set isTrigger with an OnClick event?

I know this thread is old, but I got around this by drawing transparent gizmos underneath my sphere caps.

void OnSceneGUI()
                Handles.color = Color.red
                Handles.SphereCap(0, element.position, Quaternion.identity, 1f);
void  OnDrawGizmos()
   Handles.color = Color.clear
             Gizmos.DrawSphere(element.position, 1f);