Пример #1
0
        ///-------------------------------------------------------------------------------------------------
        /// <summary>   Sends a report. </summary>
        ///
        /// <remarks>   Benjamin "Nefarius" Höglinger, 18.06.2017. </remarks>
        ///
        /// <exception cref="VigemBusNotFoundException">    Thrown when a Vigem Bus Not Found error
        ///                                                 condition occurs.
        /// </exception>
        /// <exception cref="VigemInvalidTargetException">  Thrown when a Vigem Invalid Target error
        ///                                                 condition occurs.
        /// </exception>
        ///
        /// <param name="report">   The report. </param>
        ///-------------------------------------------------------------------------------------------------
        public void SendReport(Xbox360Report report)
        {
            var submit = new ViGemUm.XusbReport()
            {
                wButtons      = report.Buttons,
                bLeftTrigger  = report.LeftTrigger,
                bRightTrigger = report.RightTrigger,
                sThumbLX      = report.LeftThumbX,
                sThumbLY      = report.LeftThumbY,
                sThumbRX      = report.RightThumbX,
                sThumbRY      = report.RightThumbY
            };

            var error = ViGemUm.vigem_xusb_submit_report(Target, submit);

            // ReSharper disable once SwitchStatementMissingSomeCases
            switch (error)
            {
            case ViGemUm.VigemError.VigemErrorBusNotFound:
                throw new VigemBusNotFoundException(
                          StringResource.VigemBusNotFoundException);

            case ViGemUm.VigemError.VigemErrorInvalidTarget:
                throw new VigemInvalidTargetException(
                          StringResource.VigemInvalidTargetException);
            }
        }
Пример #2
0
        /// -------------------------------------------------------------------------------------------------
        /// <summary>   Un plug. </summary>
        /// <remarks>   Benjamin "Nefarius" Höglinger, 15.06.2017. </remarks>
        /// <exception cref="VigemCallbackNotFoundException">
        ///     Thrown when a Vigem Callback Not Found
        ///     error condition occurs.
        /// </exception>
        /// -------------------------------------------------------------------------------------------------
        public new void UnPlug()
        {
            var error = ViGemUm.vigem_unregister_ds4_notification(Ds4Notification);

            // ReSharper disable once SwitchStatementMissingSomeCases
            switch (error)
            {
            case ViGemUm.VigemError.VigemErrorCallbackNotFound:
                throw new VigemCallbackNotFoundException(
                          StringResource.VigemCallbackNotFoundException);
            }

            base.UnPlug();
        }
Пример #3
0
        /// -------------------------------------------------------------------------------------------------
        /// <summary>   Plug in. </summary>
        /// <remarks>   Benjamin "Nefarius" Höglinger, 15.06.2017. </remarks>
        /// <exception cref="VigemBusNotFoundException">
        ///     Thrown when a Vigem Bus Not Found
        ///     error condition occurs.
        /// </exception>
        /// <exception cref="VigemInvalidTargetException">
        ///     Thrown when a Vigem Invalid
        ///     Target error condition occurs.
        /// </exception>
        /// <exception cref="VigemCallbackAlreadyRegisteredException">
        ///     Thrown when a Vigem Callback
        ///     Already Registered error
        ///     condition occurs.
        /// </exception>
        /// -------------------------------------------------------------------------------------------------
        public void PlugIn()
        {
            PlugIn(VigemTargetType.DualShock4Wired);

            var error = ViGemUm.vigem_register_ds4_notification(Ds4Notification, Target);

            // ReSharper disable once SwitchStatementMissingSomeCases
            switch (error)
            {
            case ViGemUm.VigemError.VigemErrorBusNotFound:
                throw new VigemBusNotFoundException(
                          StringResource.VigemBusNotFoundException);

            case ViGemUm.VigemError.VigemErrorInvalidTarget:
                throw new VigemInvalidTargetException(
                          StringResource.VigemInvalidTargetException);

            case ViGemUm.VigemError.VigemErrorCallbackAlreadyRegistered:
                throw new VigemCallbackAlreadyRegisteredException(
                          StringResource.VigemCallbackAlreadyRegistered);
            }
        }