예제 #1
0
        /// <summary>
        /// Devices the connected event handler.
        /// </summary>
        /// <param name="sender">Sender.</param>
        /// <param name="args">Arguments.</param>
        public void DeviceConnectedEventHandler(object sender, WebMessageArgs <GenericHIDDevice> args)
        {
            // UnityEngine.Debug.Log(args.Message);
            GenericHIDDevice info = args.RawMessage;



            if (!__Generics.ContainsKey(info.ID))
            {
                info.hidInterface = this;

                ResolveDevice(info);
            }
        }
예제 #2
0
        public void onDeviceConnectedEvent(string message)
        {
            if (DeviceConnectedEvent != null)
            {
                _isInitialized = true;
                GenericHIDDevice info = Json.Deserialize <GenericHIDDevice>(message) as GenericHIDDevice;
                int    PID;
                int    VID;
                string Name;
                IDToDeviceData(info.ID, out PID, out VID, out Name);

                info.PID  = PID;
                info.VID  = VID;
                info.Name = Name;
                DeviceConnectedEvent(this, new WebMessageArgs <GenericHIDDevice>(info));
            }
        }
예제 #3
0
        public IDevice ResolveDevice(IHIDDevice info)
        {
            GenericHIDDevice genericDevice = (GenericHIDDevice)info;

            _hidInterface = info.hidInterface;



            JoystickDevice joystick;

            int numAxes    = genericDevice.numAxes;    //info.Extension.axes;
            int numButtons = genericDevice.numButtons; //info.Extension.buttons;


            joystick      = new JoystickDevice(info.index, info.PID, info.VID, info.ID, Math.Max(8, numAxes), numButtons, this);
            joystick.Name = info.Name;



            int index = 0;

            for (; index < numButtons; index++)
            {
                joystick.Buttons[index] = new ButtonDetails();
            }


            for (index = 0; index < numAxes; index++)
            {
                joystick.Axis[index] = new AxisDetails();
            }

            //joystick.numPOV = 1;



            // joystick.Axis[index - 1].isHat = true;
            //joystick.Axis[index - 2].isHat = true;

            return(joystick);
        }