예제 #1
0
        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;
        }
예제 #2
0
        //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);
        }