public static unsafe ErrorCode XInputGetCapabilities(int dwUserIndex, DeviceQueryType dwFlags, out Capabilities pCapabilities) { pCapabilities = new Capabilities(); try { return(GetMethod <XInputGetCapabilitiesDelegate>("XInputGetCapabilities")(dwUserIndex, (int)dwFlags, out pCapabilities)); } catch (AccessViolationException ex) { throw new Exception(ex.Message); } catch (Exception) { throw; } }
public int XInputGetCapabilities( int dwUserIndex, DeviceQueryType dwFlags, out Capabilities capabilitiesRef) { return(Native.XInputGetCapabilities(dwUserIndex, dwFlags, out capabilitiesRef)); }
/// <summary> /// Gets the capabilities. /// </summary> /// <param name="deviceQueryType">Type of the device query.</param> /// <returns></returns> /// <unmanaged>unsigned int XInputGetCapabilities([In] XUSER_INDEX dwUserIndex,[In] XINPUT_DEVQUERYTYPE dwFlags,[Out] XINPUT_CAPABILITIES* pCapabilities)</unmanaged> public Capabilities GetCapabilities(DeviceQueryType deviceQueryType) { Capabilities temp; var result = ErrorCodeHelper.ToResult(XInput.XInputGetCapabilities((int)userIndex, deviceQueryType, out temp)); result.CheckError(); return temp; }
public Capabilities GetCapabilities(DeviceQueryType deviceQueryType) { Capabilities capabilities; ErrorCodeHelper.ToResult(SharpDX.XInput.XInput.XInputGetCapabilities((int)this.userIndex, deviceQueryType, out capabilities)).CheckError(); return(capabilities); }
/// <summary> /// Gets the keystroke. /// </summary> /// <param name="deviceQueryType">The flag.</param> /// <param name="keystroke">The keystroke.</param> /// <returns></returns> /// <unmanaged>unsigned int XInputGetKeystroke([In] XUSER_INDEX dwUserIndex,[In] unsigned int dwReserved,[Out] XINPUT_KEYSTROKE* pKeystroke)</unmanaged> public Result GetKeystroke(DeviceQueryType deviceQueryType, out Keystroke keystroke) { var result = ErrorCodeHelper.ToResult(XInput.XInputGetKeystroke((int)userIndex, (int)deviceQueryType, out keystroke)); result.CheckError(); return(result); }
public static unsafe int XInputGetCapabilities(int dwUserIndex, DeviceQueryType dwFlags, out Capabilities capabilitiesRef) { capabilitiesRef = new Capabilities(); int capabilities; fixed (Capabilities* capabilitiesPtr = &capabilitiesRef) capabilities = XInput.XInputGetCapabilities_(dwUserIndex, (int) dwFlags, (void*) capabilitiesPtr); return capabilities; }
/// <summary> /// Gets the capabilities. /// </summary> /// <param name="deviceQueryType">Type of the device query.</param> /// <returns></returns> /// <unmanaged>unsigned int XInputGetCapabilities([In] XUSER_INDEX dwUserIndex,[In] XINPUT_DEVQUERYTYPE dwFlags,[Out] XINPUT_CAPABILITIES* pCapabilities)</unmanaged> public Capabilities GetCapabilities(DeviceQueryType deviceQueryType) { Capabilities temp; var result = ErrorCodeHelper.ToResult(xinput.XInputGetCapabilities((int)userIndex, deviceQueryType, out temp)); result.CheckError(); return(temp); }
public Result GetKeystroke(DeviceQueryType deviceQueryType, out Keystroke keystroke) { return(ErrorCodeHelper.ToResult( openXinput ? NativeOpenXinput.XInputGetKeystroke(userIndex, (int)deviceQueryType, out keystroke) : NativeXinput.XInputGetKeystroke(userIndex, (int)deviceQueryType, out keystroke) )); }
public static unsafe int XInputGetCapabilities(int dwUserIndex, DeviceQueryType dwFlags, out Capabilities capabilitiesRef) { capabilitiesRef = new Capabilities(); int capabilities; fixed(Capabilities *capabilitiesPtr = &capabilitiesRef) capabilities = XInput.XInputGetCapabilities_(dwUserIndex, (int)dwFlags, (void *)capabilitiesPtr); return(capabilities); }
public Capabilities GetCapabilities(DeviceQueryType deviceQueryType) { Capabilities temp; ErrorCodeHelper.ToResult( openXinput ? NativeOpenXinput.XInputGetCapabilities(userIndex, deviceQueryType, out temp) : NativeXinput.XInputGetCapabilities(userIndex, deviceQueryType, out temp) ).CheckError(); return(temp); }
/// <summary> /// <p>Retrieves the capabilities and features of a connected controller.</p> /// </summary> /// <param name="dwUserIndex"><dd> <p>Index of the user's controller. Can be a value in the range 0?3. For information about how this value is determined and how the value maps to indicators on the controller, see Multiple Controllers. </p> </dd></param> /// <param name="dwFlags"><dd> <p>Input flags that identify the controller type. If this value is 0, then the capabilities of all controllers connected to the system are returned. Currently, only one value is supported:</p> <table> <tr><th>Value</th><th>Description</th></tr> <tr><td><strong>XINPUT_FLAG_GAMEPAD</strong></td><td>Limit query to devices of Xbox 360 Controller type.</td></tr> </table> <p>?</p> <p>Any value of <em>dwflags</em> other than the above or 0 is illegal and will result in an error break when debugging.</p> </dd></param> /// <param name="capabilitiesRef"><dd> <p>Pointer to an <strong><see cref="T:SharpDX.XInput.Capabilities" /></strong> structure that receives the controller capabilities.</p> </dd></param> /// <returns><p>If the function succeeds, the return value is <strong>ERROR_SUCCESS</strong>.</p><p>If the controller is not connected, the return value is <strong>ERROR_DEVICE_NOT_CONNECTED</strong>.</p><p>If the function fails, the return value is an error code defined in WinError.h. The function does not use <em>SetLastError</em> to set the calling thread's last-error code.</p></returns> /// <remarks> /// <strong>Note</strong>??The legacy XINPUT 9.1.0 version (included in Windows?Vista and later) always returned a fixed set of capabilities regardless of attached device.? /// </remarks> /// <doc-id>microsoft.directx_sdk.reference.xinputgetcapabilities</doc-id> /// <unmanaged>DWORD XInputGetCapabilities([In] DWORD dwUserIndex,[In] DWORD dwFlags,[Out] XINPUT_CAPABILITIES* pCapabilities)</unmanaged> /// <unmanaged-short>XInputGetCapabilities</unmanaged-short> public static unsafe int XInputGetCapabilities( int dwUserIndex, DeviceQueryType dwFlags, out Capabilities capabilitiesRef) { Capabilities.__Native @ref = new Capabilities.__Native(); capabilitiesRef = new Capabilities(); int capabilities = XInputGetCapabilities_(dwUserIndex, (int)dwFlags, (void *)&@ref); capabilitiesRef.__MarshalFrom(ref @ref); return(capabilities); }
static uint XInputGetCapabilities_Hooked(int dwUserIndex, DeviceQueryType dwFlags, out Capabilities pCapabilities) { pCapabilities = new Capabilities(); try { if (dwFlags > DeviceQueryType.Gamepad) { return(ERROR_BAD_ARGUMENTS); } ControllerReader myController = ControllerReader.Instance; if (myController.controllers.Count < dwUserIndex) { return(ERROR_DEVICE_NOT_CONNECTED); } pCapabilities.Flags = CapabilityFlags.VoiceSupported; pCapabilities.Type = DeviceType.Gamepad; pCapabilities.SubType = DeviceSubType.Gamepad; pCapabilities.Gamepad.Buttons = GamepadButtonFlags.A | GamepadButtonFlags.B | GamepadButtonFlags.Back | GamepadButtonFlags.DPadDown | GamepadButtonFlags.DPadLeft | GamepadButtonFlags.DPadRight | GamepadButtonFlags.DPadUp | GamepadButtonFlags.LeftShoulder | GamepadButtonFlags.LeftThumb | GamepadButtonFlags.RightShoulder | GamepadButtonFlags.RightThumb | GamepadButtonFlags.Start | GamepadButtonFlags.X | GamepadButtonFlags.Y; pCapabilities.Gamepad.LeftTrigger = 0xFF; pCapabilities.Gamepad.RightTrigger = 0xFF; pCapabilities.Gamepad.LeftThumbX = short.MaxValue; pCapabilities.Gamepad.LeftThumbY = short.MaxValue; pCapabilities.Gamepad.RightThumbX = short.MaxValue; pCapabilities.Gamepad.RightThumbY = short.MaxValue; pCapabilities.Vibration.LeftMotorSpeed = 0xFF; pCapabilities.Vibration.RightMotorSpeed = 0xFF; XboxOneControllerInjection This = (XboxOneControllerInjection)HookRuntimeInfo.Callback; lock (This.Queue) { if (This.Queue.Count < 1000) { This.Queue.Push("XInputGetCapabilities"); } } } catch { return(ERROR_DEVICE_NOT_CONNECTED); } return(ERROR_SUCCESS); }
uint XInputGetCapabilities_Hooked(int dwUserIndex, DeviceQueryType dwFlags, out Capabilities pCapabilities) { pCapabilities = new Capabilities(); var controller = new Controller((UserIndex)dwUserIndex); if (controller.IsConnected) { try { pCapabilities = controller.GetCapabilities(dwFlags); } catch { return(ERROR_DEVICE_NOT_CONNECTED); } } else { if ((UserIndex)dwUserIndex == UserIndex.One || (UserIndex)dwUserIndex == UserIndex.Any) { pCapabilities.Flags = CapabilityFlags.None; pCapabilities.Type = DeviceType.Gamepad; pCapabilities.SubType = DeviceSubType.Gamepad; pCapabilities.Gamepad.Buttons = GamepadButtonFlags.A | GamepadButtonFlags.B | GamepadButtonFlags.Back | GamepadButtonFlags.DPadDown | GamepadButtonFlags.DPadLeft | GamepadButtonFlags.DPadRight | GamepadButtonFlags.DPadUp | GamepadButtonFlags.LeftShoulder | GamepadButtonFlags.LeftThumb | GamepadButtonFlags.RightShoulder | GamepadButtonFlags.RightThumb | GamepadButtonFlags.Start | GamepadButtonFlags.X | GamepadButtonFlags.Y; pCapabilities.Gamepad.LeftTrigger = 0xFF; pCapabilities.Gamepad.RightTrigger = 0xFF; pCapabilities.Gamepad.LeftThumbX = short.MaxValue; pCapabilities.Gamepad.LeftThumbY = short.MaxValue; pCapabilities.Gamepad.RightThumbX = short.MaxValue; pCapabilities.Gamepad.RightThumbY = short.MaxValue; pCapabilities.Vibration.LeftMotorSpeed = 0xFF; pCapabilities.Vibration.RightMotorSpeed = 0xFF; } } return(ERROR_SUCCESS); }
/// <summary>Gets the capabilities.</summary> /// <param name="deviceQueryType">Type of the device query.</param> /// <param name="capabilities">The capabilities of this controller.</param> /// <returns><c>true</c> if the controller is connected, <c>false</c> otherwise.</returns> public bool GetCapabilities(DeviceQueryType deviceQueryType, out Capabilities capabilities) { return(xinput.XInputGetCapabilities((int)this.userIndex, deviceQueryType, out capabilities) == 0); }
public Result GetKeystroke(DeviceQueryType deviceQueryType, out Keystroke keystroke) { Result result = ErrorCodeHelper.ToResult(XInput.XInputGetKeystroke((int) this.userIndex, (int) deviceQueryType, out keystroke)); result.CheckError(); return result; }
public Capabilities GetCapabilities(DeviceQueryType deviceQueryType) { Capabilities capabilitiesRef; ErrorCodeHelper.ToResult(XInput.XInputGetCapabilities((int) this.userIndex, deviceQueryType, out capabilitiesRef)).CheckError(); return capabilitiesRef; }
uint XInputGetCapabilities_Hooked(int dwUserIndex, DeviceQueryType dwFlags, out Capabilities pCapabilities) { pCapabilities = new Capabilities(); var controller = new Controller((UserIndex)dwUserIndex); if (controller.IsConnected) { try { pCapabilities = controller.GetCapabilities(dwFlags); } catch { return ERROR_DEVICE_NOT_CONNECTED; } } else { if ((UserIndex) dwUserIndex == UserIndex.One || (UserIndex) dwUserIndex == UserIndex.Any) { pCapabilities.Flags = CapabilityFlags.None; pCapabilities.Type = DeviceType.Gamepad; pCapabilities.SubType = DeviceSubType.Gamepad; pCapabilities.Gamepad.Buttons = GamepadButtonFlags.A | GamepadButtonFlags.B | GamepadButtonFlags.Back | GamepadButtonFlags.DPadDown | GamepadButtonFlags.DPadLeft | GamepadButtonFlags.DPadRight | GamepadButtonFlags.DPadUp | GamepadButtonFlags.LeftShoulder | GamepadButtonFlags.LeftThumb | GamepadButtonFlags.RightShoulder | GamepadButtonFlags.RightThumb | GamepadButtonFlags.Start | GamepadButtonFlags.X | GamepadButtonFlags.Y; pCapabilities.Gamepad.LeftTrigger = 0xFF; pCapabilities.Gamepad.RightTrigger = 0xFF; pCapabilities.Gamepad.LeftThumbX = short.MaxValue; pCapabilities.Gamepad.LeftThumbY = short.MaxValue; pCapabilities.Gamepad.RightThumbX = short.MaxValue; pCapabilities.Gamepad.RightThumbY = short.MaxValue; pCapabilities.Vibration.LeftMotorSpeed = 0xFF; pCapabilities.Vibration.RightMotorSpeed = 0xFF; } } return ERROR_SUCCESS; }
public static extern int XInputGetCapabilities(int dwUserIndex, DeviceQueryType dwFlags, out Capabilities capabilitiesRef);
public int XInputGetCapabilities(int dwUserIndex, DeviceQueryType dwFlags, out Capabilities capabilitiesRef) { return Native.XInputGetCapabilities(dwUserIndex, dwFlags, out capabilitiesRef); }
/// <summary> /// Gets the capabilities. /// </summary> /// <param name="deviceQueryType">Type of the device query.</param> /// <param name="capabilities">The capabilities of this controller.</param> /// <returns><c>true</c> if the controller is connected, <c>false</c> otherwise.</returns> public bool GetCapabilities(DeviceQueryType deviceQueryType, out Capabilities capabilities) { return XInput.XInputGetCapabilities((int)userIndex, deviceQueryType, out capabilities) == 0; }
public static extern int XInputGetCapabilities( int dwUserIndex, DeviceQueryType dwFlags, out Capabilities capabilitiesRef);
/// <summary> /// Gets the keystroke. /// /// </summary> /// <param name="deviceQueryType">The flag.</param><param name="keystroke">The keystroke.</param> /// <returns/> public Result GetKeystroke(DeviceQueryType deviceQueryType, out Keystroke keystroke) { #if WINDOWS Result result = ErrorCodeHelper.ToResult(XInput.XInputGetKeystroke((int)this.userIndex, (int)deviceQueryType, out keystroke)); result.CheckError(); return result; #else keystroke = new Keystroke(); return Result.Abord; #endif }
/// <summary> /// Retrieves the capabilities and features of a connected controller. /// </summary> /// <param name="userIndex">Index of the user's controller. Can be a value in the range 0–3. </param> /// <param name="deviceQueryType">Type of the device query.</param> /// <param name="capabilities">The capabilities of this controller.</param> /// <returns>True if the controller is connected and succeed, false otherwise.</returns> public static bool GetCapabilities(int userIndex, DeviceQueryType deviceQueryType, out Capabilities capabilities) { return(s_xInput.XInputGetCapabilities(userIndex, deviceQueryType, out capabilities) == 0); }
/// <summary> /// Gets the keystroke. /// </summary> /// <param name="deviceQueryType">The flag.</param> /// <param name="keystroke">The keystroke.</param> /// <returns></returns> /// <unmanaged>unsigned int XInputGetKeystroke([In] XUSER_INDEX dwUserIndex,[In] unsigned int dwReserved,[Out] XINPUT_KEYSTROKE* pKeystroke)</unmanaged> public Result GetKeystroke(DeviceQueryType deviceQueryType, out Keystroke keystroke) { var result = ErrorCodeHelper.ToResult(xinput.XInputGetKeystroke((int)userIndex, (int)deviceQueryType, out keystroke)); return result; }
int IXInput.XInputGetCapabilities(int dwUserIndex, DeviceQueryType dwFlags, out Capabilities capabilities) { return(XInputGetCapabilities(dwUserIndex, dwFlags, out capabilities)); }
public bool GetCapabilities(DeviceQueryType deviceQueryType, out Capabilities capabilities) { return((openXinput ? NativeOpenXinput.XInputGetCapabilities(userIndex, deviceQueryType, out capabilities) : NativeXinput.XInputGetCapabilities(userIndex, deviceQueryType, out capabilities)) == 0); }
/// <summary>Gets the keystroke.</summary> /// <param name="deviceQueryType">The flag.</param> /// <param name="keystroke">The keystroke.</param> /// <returns></returns> /// <unmanaged>unsigned int XInputGetKeystroke([In] XUSER_INDEX dwUserIndex,[In] unsigned int dwReserved,[Out] XINPUT_KEYSTROKE* pKeystroke)</unmanaged> public Result GetKeystroke(DeviceQueryType deviceQueryType, out Keystroke keystroke) { return(ErrorCodeHelper.ToResult(xinput.XInputGetKeystroke((int)this.userIndex, (int)deviceQueryType, out keystroke))); }
/// <summary> /// Gets the capabilities. /// /// </summary> /// <param name="deviceQueryType">Type of the device query.</param> /// <returns/> public Capabilities GetCapabilities(DeviceQueryType deviceQueryType) { #if WINDOWS Capabilities capabilitiesRef; ErrorCodeHelper.ToResult(XInput.XInputGetCapabilities((int)this.userIndex, deviceQueryType, out capabilitiesRef)).CheckError(); return capabilitiesRef; #else return Capabilities.Empty; #endif }
private static extern int XInputGetCapabilities(int dwUserIndex, DeviceQueryType dwFlags, out Capabilities capabilities);