public static void UpdateSerial(object sender, EventArgs e) { lock (Devices) { DS4Device device = (DS4Device)sender; if (device != null) { string devPath = device.HidDevice.DevicePath; string serial = device.MacAddress; if (Devices.ContainsKey(devPath)) { DeviceSerials.Remove(serial); device.UpdateSerial(); serial = device.MacAddress; if (DS4Device.IsValidSerial(serial)) { DeviceSerials.Add(serial); } if (device.ShouldRunCalib) { device.RefreshCalibration(); } } } } }
public static void RemoveDevice(DS4Device device) { if (device is null) { return; } lock (Devices) { device.HidDevice.CloseDevice(); Devices.Remove(device.HidDevice.DevicePath); DevicePaths.Remove(device.HidDevice.DevicePath); DeviceSerials.Remove(device.MacAddress); } }