Example #1
0
        static Int32 XInputGetState_Hooked(Int32 dwUserIndex, out RawState state)
        {
            Int32 ret = 0;

            try
            {
                XInputHook This = (XInputHook)HookRuntimeInfo.Callback;
                ret = XInputGetState(dwUserIndex, out state);
                //This.Interface.Notify(String.Format("Called XInputGetState index {0} return {1} state {2}", dwUserIndex, ret, state));
                This.stateMtx.WaitOne();
                state.dwPacketNumber        = This.state.dwPacketNumber;
                state.Gamepad.wButtons      = This.state.Gamepad.wButtons;
                state.Gamepad.bLeftTrigger  = This.state.Gamepad.bLeftTrigger;
                state.Gamepad.bRightTrigger = This.state.Gamepad.bRightTrigger;
                state.Gamepad.sThumbLX      = This.state.Gamepad.sThumbLX;
                state.Gamepad.sThumbLY      = This.state.Gamepad.sThumbLY;
                state.Gamepad.sThumbRX      = This.state.Gamepad.sThumbRX;
                state.Gamepad.sThumbRY      = This.state.Gamepad.sThumbRY;
                This.stateMtx.ReleaseMutex();
            }
            catch
            {
                state = new RawState();
            }
            return(ret);
        }
Example #2
0
        static Int32 XInputGetCapabilities_Hooked(Int32 dwUserIndex, Int32 dwFlags, out SharpDX.XInput.Capabilities caps)
        {
            Int32 ret = 0;

            try
            {
                XInputHook This = (XInputHook)HookRuntimeInfo.Callback;
                ret = XInputGetCapabilities(dwUserIndex, dwFlags, out caps);
                //This.Interface.Notify(String.Format("Called XInputGetCapabilities index {0} flags {1} ret {2} caps {3}", dwUserIndex, dwFlags, caps));
            }
            catch { caps = new SharpDX.XInput.Capabilities(); }
            return(ret);
        }