public VirtualError EnableFeeding(uint userIndex) { bool success; if (userIndex < 1 || userIndex > 4) { return(VirtualError.Index); } if (!ViGEmClient.isVBusExists()) { return(VirtualError.Missing); } if (ViGEmClient.isControllerExists(userIndex)) { if (ViGEmClient.isControllerOwned(userIndex)) { return(VirtualError.None); } success = ViGEmClient.UnPlugForce(userIndex); if (!success) { return(VirtualError.Other); } } success = ViGEmClient.PlugIn(userIndex); if (success) { return(VirtualError.None); } return(VirtualError.Other); }