internal DIDeviceInfo(DeviceInstance deviceInstance, GamingDeviceType gamingDeviceType) { DeviceSubType = deviceInstance.DeviceSubType; DeviceType = deviceInstance.DeviceType; FFDriverGuid = deviceInstance.FFDriverGuid; InstanceGuid = deviceInstance.InstanceGuid; InstanceName = deviceInstance.InstanceName; ProductGuid = deviceInstance.ProductGuid; ProductName = deviceInstance.ProductName; Usage = deviceInstance.Usage; UsagePage = deviceInstance.UsagePage; GamingDeviceType = gamingDeviceType; }
//public DirectInputDevice(Guid gamepadInstanceGuid, string name, GamingDeviceType type) public DirectInputGamepad(DeviceInstance deviceInstance, string uniqueName, GamingDeviceType type) { Name = uniqueName; //InstanceGuid = gamepadInstanceGuid; RawDevice = new Device(deviceInstance.InstanceGuid); RawDevice.SetDataFormat(DeviceDataFormat.Joystick); RawDevice.Acquire(); ThumbSticks = new DirectInputThumbSticks(this); // DPads int dPadsCount = RawDevice.Caps.NumberPointOfViews; DPads = new DirectInputDPad[dPadsCount]; for (byte i = 0; i < dPadsCount; i++) { DPads[i] = new DirectInputDPad(this, i); } Buttons = new DirectInputButtons(this); }