📄 xinput.pas
字号:
VK_PAD_LSHOULDER = $5805;
{$EXTERNALSYM VK_PAD_LSHOULDER}
VK_PAD_LTRIGGER = $5806;
{$EXTERNALSYM VK_PAD_LTRIGGER}
VK_PAD_RTRIGGER = $5807;
{$EXTERNALSYM VK_PAD_RTRIGGER}
VK_PAD_DPAD_UP = $5810;
{$EXTERNALSYM VK_PAD_DPAD_UP}
VK_PAD_DPAD_DOWN = $5811;
{$EXTERNALSYM VK_PAD_DPAD_DOWN}
VK_PAD_DPAD_LEFT = $5812;
{$EXTERNALSYM VK_PAD_DPAD_LEFT}
VK_PAD_DPAD_RIGHT = $5813;
{$EXTERNALSYM VK_PAD_DPAD_RIGHT}
VK_PAD_START = $5814;
{$EXTERNALSYM VK_PAD_START}
VK_PAD_BACK = $5815;
{$EXTERNALSYM VK_PAD_BACK}
VK_PAD_LTHUMB_PRESS = $5816;
{$EXTERNALSYM VK_PAD_LTHUMB_PRESS}
VK_PAD_RTHUMB_PRESS = $5817;
{$EXTERNALSYM VK_PAD_RTHUMB_PRESS}
VK_PAD_LTHUMB_UP = $5820;
{$EXTERNALSYM VK_PAD_LTHUMB_UP}
VK_PAD_LTHUMB_DOWN = $5821;
{$EXTERNALSYM VK_PAD_LTHUMB_DOWN}
VK_PAD_LTHUMB_RIGHT = $5822;
{$EXTERNALSYM VK_PAD_LTHUMB_RIGHT}
VK_PAD_LTHUMB_LEFT = $5823;
{$EXTERNALSYM VK_PAD_LTHUMB_LEFT}
VK_PAD_LTHUMB_UPLEFT = $5824;
{$EXTERNALSYM VK_PAD_LTHUMB_UPLEFT}
VK_PAD_LTHUMB_UPRIGHT = $5825;
{$EXTERNALSYM VK_PAD_LTHUMB_UPRIGHT}
VK_PAD_LTHUMB_DOWNRIGHT = $5826;
{$EXTERNALSYM VK_PAD_LTHUMB_DOWNRIGHT}
VK_PAD_LTHUMB_DOWNLEFT = $5827;
{$EXTERNALSYM VK_PAD_LTHUMB_DOWNLEFT}
VK_PAD_RTHUMB_UP = $5830;
{$EXTERNALSYM VK_PAD_RTHUMB_UP}
VK_PAD_RTHUMB_DOWN = $5831;
{$EXTERNALSYM VK_PAD_RTHUMB_DOWN}
VK_PAD_RTHUMB_RIGHT = $5832;
{$EXTERNALSYM VK_PAD_RTHUMB_RIGHT}
VK_PAD_RTHUMB_LEFT = $5833;
{$EXTERNALSYM VK_PAD_RTHUMB_LEFT}
VK_PAD_RTHUMB_UPLEFT = $5834;
{$EXTERNALSYM VK_PAD_RTHUMB_UPLEFT}
VK_PAD_RTHUMB_UPRIGHT = $5835;
{$EXTERNALSYM VK_PAD_RTHUMB_UPRIGHT}
VK_PAD_RTHUMB_DOWNRIGHT = $5836;
{$EXTERNALSYM VK_PAD_RTHUMB_DOWNRIGHT}
VK_PAD_RTHUMB_DOWNLEFT = $5837;
{$EXTERNALSYM VK_PAD_RTHUMB_DOWNLEFT}
//
// Flags used in XINPUT_KEYSTROKE
//
XINPUT_KEYSTROKE_KEYDOWN = $0001;
{$EXTERNALSYM XINPUT_KEYSTROKE_KEYDOWN}
XINPUT_KEYSTROKE_KEYUP = $0002;
{$EXTERNALSYM XINPUT_KEYSTROKE_KEYUP}
XINPUT_KEYSTROKE_REPEAT = $0004;
{$EXTERNALSYM XINPUT_KEYSTROKE_REPEAT}
type
//
// Structures used by XInput APIs
//
PXInputGamepad = ^TXInputGamepad;
_XINPUT_GAMEPAD = record
wButtons: Word;
bLeftTrigger: Byte;
bRightTrigger: Byte;
sThumbLX: Smallint;
sThumbLY: Smallint;
sThumbRX: Smallint;
sThumbRY: Smallint;
end;
{$EXTERNALSYM _XINPUT_GAMEPAD}
XINPUT_GAMEPAD = _XINPUT_GAMEPAD;
{$EXTERNALSYM XINPUT_GAMEPAD}
TXInputGamepad = XINPUT_GAMEPAD;
PXInputState = ^TXInputState;
_XINPUT_STATE = record
dwPacketNumber: DWORD;
Gamepad: TXInputGamepad;
end;
{$EXTERNALSYM _XINPUT_STATE}
XINPUT_STATE = _XINPUT_STATE;
{$EXTERNALSYM XINPUT_STATE}
TXInputState = XINPUT_STATE;
PXInputVibration = ^TXInputVibration;
_XINPUT_VIBRATION = record
wLeftMotorSpeed: Word;
wRightMotorSpeed: Word;
end;
{$EXTERNALSYM _XINPUT_VIBRATION}
XINPUT_VIBRATION = _XINPUT_VIBRATION;
{$EXTERNALSYM XINPUT_VIBRATION}
TXInputVibration = _XINPUT_VIBRATION;
PXInputCapabilities = ^TXInputCapabilities;
_XINPUT_CAPABILITIES = record
_Type: Byte;
SubType: Byte;
Flags: Word;
Gamepad: TXInputGamepad;
Vibration: TXInputVibration;
end;
{$EXTERNALSYM _XINPUT_CAPABILITIES}
XINPUT_CAPABILITIES = _XINPUT_CAPABILITIES;
{$EXTERNALSYM XINPUT_CAPABILITIES}
TXInputCapabilities = _XINPUT_CAPABILITIES;
PXInputBatteryInformation = ^TXInputBatteryInformation;
_XINPUT_BATTERY_INFORMATION = record
BatteryType: Byte;
BatteryLevel: Byte;
end;
{$EXTERNALSYM _XINPUT_BATTERY_INFORMATION}
XINPUT_BATTERY_INFORMATION = _XINPUT_BATTERY_INFORMATION;
{$EXTERNALSYM XINPUT_BATTERY_INFORMATION}
TXInputBatteryInformation = _XINPUT_BATTERY_INFORMATION;
PXInputKeystroke = ^TXInputKeystroke;
_XINPUT_KEYSTROKE = record
VirtualKey: Word;
Unicode: WideChar;
Flags: Word;
UserIndex: Byte;
HidCode: Byte;
end;
{$EXTERNALSYM _XINPUT_KEYSTROKE}
XINPUT_KEYSTROKE = _XINPUT_KEYSTROKE;
{$EXTERNALSYM XINPUT_KEYSTROKE}
TXInputKeystroke = _XINPUT_KEYSTROKE;
//
// XInput APIs
//
function XInputGetState(
dwUserIndex: DWORD; // [in] Index of the gamer associated with the device
out pState: TXInputState // [out] Receives the current state
): DWORD; stdcall; external XINPUT_DLL;
{$EXTERNALSYM XInputGetState}
function XInputSetState(
dwUserIndex: DWORD; // [in] Index of the gamer associated with the device
const pVibration: TXInputVibration // [in, out] The vibration information to send to the controller
): DWORD; stdcall; external XINPUT_DLL;
{$EXTERNALSYM XInputSetState}
function XInputGetCapabilities(
dwUserIndex: DWORD; // [in] Index of the gamer associated with the device
dwFlags: DWORD; // [in] Input flags that identify the device type
out pCapabilities: TXInputCapabilities // [out] Receives the capabilities
): DWORD; stdcall; external XINPUT_DLL;
{$EXTERNALSYM XInputGetCapabilities}
procedure XInputEnable(
enable: BOOL // [in] Indicates whether xinput is enabled or disabled.
); stdcall; external XINPUT_DLL;
{$EXTERNALSYM XInputEnable}
function XInputGetDSoundAudioDeviceGuids(
dwUserIndex: DWORD; // [in] Index of the gamer associated with the device
out pDSoundRenderGuid: TGUID; // [out] DSound device ID for render
out pDSoundCaptureGuid: TGUID // [out] DSound device ID for capture
): DWORD; stdcall; external XINPUT_DLL;
{$EXTERNALSYM XInputGetDSoundAudioDeviceGuids}
function XInputGetBatteryInformation(
dwUserIndex: DWORD; // [in] Index of the gamer associated with the device
devType: Byte; // [in] Which device on this user index
out pBatteryInformation: TXInputBatteryInformation // [out] Contains the level and types of batteries
): DWORD; stdcall; external XINPUT_DLL;
{$EXTERNALSYM XInputGetBatteryInformation}
function XInputGetKeystroke(
dwUserIndex: DWORD; // [in] Index of the gamer associated with the device
dwReserved: DWORD; // [in] Reserved for future use
var pKeystroke: TXInputKeystroke // [out] Pointer to an XINPUT_KEYSTROKE structure that receives an input event.
): DWORD; stdcall; external XINPUT_DLL;
{$EXTERNALSYM XInputGetKeystroke}
implementation
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -