Пример #1
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public static List <Joystick> GetJoysticks()
        {
            List <Joystick> ret = new List <Joystick>();

            JoystickNative.JOYCAPS tmpJoyCaps = new JoystickNative.JOYCAPS();

            uint joystick_device_count = JoystickNative.joyGetNumDevs();

            for (int i = 0; i < joystick_device_count; i++)
            {
                if (JoystickNative.joyGetDevCaps((UIntPtr)i, ref tmpJoyCaps, (uint)Marshal.SizeOf(tmpJoyCaps)) == JoystickNative.JOYERR_NOERROR) // Get joystick info
                {
                    JoystickNative.JOYINFO joyinfo = new JoystickNative.JOYINFO();
                    if (JoystickNative.joyGetPos((uint)i, ref joyinfo) == JoystickNative.JOYERR_NOERROR)
                    {
                        ret.Add(new Joystick(i));
                    }
                }
            }

            Joystick no_joy = new Joystick(-1);

            ret.Add(no_joy);

            return(ret);
        }