/// <inheritdoc/>
    public override void OnPointerClickUp()
    {
        string data = "";

        foreach (var tp in trRander.trailPoints)
        {
            float x = trLocal.InverseTransformPoint(tp.transform.position).x;
            float y = trLocal.InverseTransformPoint(tp.transform.position).y;
            x     = (float)(x * server.coef_x + server.keyboard_x / 2.0);
            y     = (float)(-y * server.coef_y + server.screen_y - (server.keyboard_y / 2.0));
            data += $"{x};{y};";
        }

        if (server.IsConnected && isGestureValid && !isInputEnd)
        {
            server.SendToClient($"u;\r\n");
#if UNITY_EDITOR
            server.responseDelay.Restart();
#endif

            if (entryProcessing.LastTagDown.Equals("Key"))
            {
                measuringMetrics.EndGesture();
            }
        }
        //server.SendToClient(data + "\r\n");
        hoverCounter = 0;

        isGestureValid = false;

        trRander.RemoveTrail();
    }
 /// <inheritdoc/>
 public override void OnPointerClickUp()
 {
     trRander.RemoveTrail();
 }