public string RemoveDevice(string UniqueKey) { lock (Controllers) { //Console.WriteLine($"Removing {UniqueKey}"); if (Controllers.ContainsKey(UniqueKey)) { XInputController ctrl = Controllers[UniqueKey]; string UniqueControllerId = ctrl.ConnectionUniqueID; ctrl.DeInitalize(); ctrl.Dispose(); Controllers.Remove(UniqueKey); return(UniqueControllerId); } } return(null); }
public IController NewDevice(IDevice device) { XInputDevice _device = device as XInputDevice; if (_device == null) { return(null); } { lock (Controllers) { XInputController ctrl = new XInputController(_device); Controllers[_device.UniqueKey] = ctrl; ctrl.HalfInitalize(); return(ctrl); } } }