/// <summary>
 /// Reset TouchScreenHidReport and EgsGestureHidReport properties.
 /// </summary>
 public void ResetHidReportObjects()
 {
     if (TouchScreenHidReport == null)
     {
         Debugger.Break();
     }
     if (EgsGestureHidReport == null)
     {
         Debugger.Break();
     }
     TouchScreenHidReport.Reset();
     EgsGestureHidReport.Reset();
     OnHidReportObjectsReset(EventArgs.Empty);
 }
        public void SetSettings(EgsDeviceSettings value)
        {
            Trace.Assert(value != null);

            if (_Settings != null)
            {
                _Settings.HidAccessPropertyUpdated -= EgsDeviceSettings_HidAccessPropertyUpdated;
                _Settings.CurrentConnectedEgsDevice = null;
                _Settings = null;
            }
            value.CurrentConnectedEgsDevice = this;
            value.HidAccessPropertyUpdated += EgsDeviceSettings_HidAccessPropertyUpdated;
            _Settings = value;

            // NOTE: When device is connected and then settings is updated, the app sets the settings from host to device.
            if (IsHidDeviceConnected)
            {
                SetAllSettingsToDeviceAndReadStatusFromDevice();
            }
            TouchScreenHidReport.Reset();
            EgsGestureHidReport.Reset();
        }