📄 directinput.pas
字号:
IDirectInput7A = interface (IDirectInput2A)
['{9A4CB684-236D-11D3-8E9D-00C04F6844AE}']
{*** IDirectInput7A methods ***}
function CreateDeviceEx(const rguid, riid : TGUID; out lplpDirectInputDevice; pUnkOuter : IUnknown) : HResult; stdcall;
end;
IDirectInput7W = interface (IDirectInput2W)
['{9A4CB685-236D-11D3-8E9D-00C04F6844AE}']
{*** IDirectInput7W methods ***}
function CreateDeviceEx(const rguid, riid : TGUID; out lplpDirectInputDevice; pUnkOuter : IUnknown) : HResult; stdcall;
end;
{$IFDEF UNICODE}
IDirectInput7 = IDirectInput7W;
{$ELSE}
IDirectInput7 = IDirectInput7A;
{$ENDIF}
TDIEnumDevicesBySemanticsCallbackA = function (var lpddi : TDIDeviceInstanceA; var lpdid : IDirectInputDevice8A; dwFlags : Cardinal; dwRemaining : Cardinal; pvRef : Pointer) : Integer; stdcall;
TDIEnumDevicesBySemanticsCallbackW = function (var lpddi : TDIDeviceInstanceW; var lpdid : IDirectInputDevice8W; dwFlags : Cardinal; dwRemaining : Cardinal; pvRef : Pointer) : Integer; stdcall;
{$IFDEF UNICODE}
TDIEnumDevicesBySemanticsCallback = TDIEnumDevicesBySemanticsCallbackW;
{$ELSE}
TDIEnumDevicesBySemanticsCallback = TDIEnumDevicesBySemanticsCallbackA;
{$ENDIF}
TDIEnumDevicesBySemanticsProc = TDIEnumDevicesBySemanticsCallback;
IDirectInput8A = interface (IUnknown)
['{BF798030-483A-4DA2-AA99-5D64ED369700}']
{*** IDirectInput8A methods ***}
function CreateDevice(const rguid : TGUID; out lplpDirectInputDevice : IDirectInputDevice8A; pUnkOuter : IUnknown) : HResult; stdcall;
function EnumDevices(dwDevType : Cardinal; lpCallback : TDIEnumDevicesCallbackA; pvRef : Pointer; dwFlags : Cardinal) : HResult; stdcall;
function GetDeviceStatus(const rguidInstance : TGUID) : HResult; stdcall;
function RunControlPanel(hwndOwner : HWND; dwFlags : Cardinal) : HResult; stdcall;
function Initialize(hinst : THandle; dwVersion : Cardinal) : HResult; stdcall;
function FindDevice(const rguidClass : TGUID; ptszName : PAnsiChar; out pguidInstance : TGUID): HResult; stdcall;
function EnumDevicesBySemantics(ptszUserName : PAnsiChar; var lpdiActionFormat : TDIActionFormatA; lpCallback : TDIEnumDevicesBySemanticsCallbackA; pvRef : Pointer; dwFlags : Cardinal) : HResult; stdcall;
function ConfigureDevices(lpdiCallback : TDIConfigureDevicesCallback; lpdiCDParams : TDIConfigureDevicesParamsA; dwFlags : Cardinal; pvRefData : Pointer) : HResult; stdcall;
end;
IDirectInput8W = interface (IUnknown)
['{BF798031-483A-4DA2-AA99-5D64ED369700}']
{*** IDirectInput8W methods ***}
function CreateDevice(const rguid : TGUID; var lplpDirectInputDevice : IDirectInputDevice8W; pUnkOuter : IUnknown) : HResult; stdcall;
function EnumDevices(dwDevType : Cardinal; lpCallback : TDIEnumDevicesCallbackW; pvRef : Pointer; dwFlags : DWORD) : HResult; stdcall;
function GetDeviceStatus(const rguidInstance : TGUID) : HResult; stdcall;
function RunControlPanel(hwndOwner : HWND; dwFlags : Cardinal) : HResult; stdcall;
function Initialize(hinst : THandle; dwVersion : Cardinal) : HResult; stdcall;
function FindDevice(const rguidClass : TGUID; ptszName : PWideChar; out pguidInstance : TGUID): HResult; stdcall;
function EnumDevicesBySemantics(ptszUserName : PWideChar; var lpdiActionFormat : TDIActionFormatW; lpCallback : TDIEnumDevicesBySemanticsCallbackW; pvRef : Pointer; dwFlags : Cardinal) : HResult; stdcall;
function ConfigureDevices(lpdiCallback : TDIConfigureDevicesCallback; lpdiCDParams : TDIConfigureDevicesParamsW; dwFlags : Cardinal; pvRefData : Pointer) : HResult; stdcall;
end;
{$IFDEF UNICODE}
IDirectInput8 = IDirectInput8W;
{$ELSE}
IDirectInput8 = IDirectInput8A;
{$ENDIF}
type
IID_IDirectInputW = IDirectInputW;
IID_IDirectInputA = IDirectInputA;
IID_IDirectInput = IDirectInput;
IID_IDirectInput2W = IDirectInput2W;
IID_IDirectInput2A = IDirectInput2A;
IID_IDirectInput2 = IDirectInput2;
IID_IDirectInput7W = IDirectInput7W;
IID_IDirectInput7A = IDirectInput7A;
IID_IDirectInput7 = IDirectInput7;
IID_IDirectInput8W = IDirectInput8W;
IID_IDirectInput8A = IDirectInput8A;
IID_IDirectInput8 = IDirectInput8;
IID_IDirectInputDeviceW = IDirectInputDeviceW;
IID_IDirectInputDeviceA = IDirectInputDeviceA;
IID_IDirectInputDevice = IDirectInputDevice;
IID_IDirectInputDevice2W = IDirectInputDevice2W;
IID_IDirectInputDevice2A = IDirectInputDevice2A;
IID_IDirectInputDevice2 = IDirectInputDevice2;
IID_IDirectInputDevice7W = IDirectInputDevice7W;
IID_IDirectInputDevice7A = IDirectInputDevice7A;
IID_IDirectInputDevice7 = IDirectInputDevice7;
IID_IDirectInputDevice8W = IDirectInputDevice8W;
IID_IDirectInputDevice8A = IDirectInputDevice8A;
IID_IDirectInputDevice8 = IDirectInputDevice8;
IID_IDirectInputEffect = IDirectInputEffect;
const
DIEFT_ALL = $00000000;
DIEFT_CONSTANTFORCE = $00000001;
DIEFT_RAMPFORCE = $00000002;
DIEFT_PERIODIC = $00000003;
DIEFT_CONDITION = $00000004;
DIEFT_CUSTOMFORCE = $00000005;
DIEFT_HARDWARE = $000000FF;
DIEFT_FFATTACK = $00000200;
DIEFT_FFFADE = $00000400;
DIEFT_SATURATION = $00000800;
DIEFT_POSNEGCOEFFICIENTS = $00001000;
DIEFT_POSNEGSATURATION = $00002000;
DIEFT_DEADBAND = $00004000;
DIEFT_STARTDELAY = $00008000;
DI_DEGREES = 100;
DI_FFNOMINALMAX = 10000;
DI_SECONDS = 1000000;
DIEFF_OBJECTIDS = $00000001;
DIEFF_OBJECTOFFSETS = $00000002;
DIEFF_CARTESIAN = $00000010;
DIEFF_POLAR = $00000020;
DIEFF_SPHERICAL = $00000040;
DIEP_DURATION = $00000001;
DIEP_SAMPLEPERIOD = $00000002;
DIEP_GAIN = $00000004;
DIEP_TRIGGERBUTTON = $00000008;
DIEP_TRIGGERREPEATINTERVAL = $00000010;
DIEP_AXES = $00000020;
DIEP_DIRECTION = $00000040;
DIEP_ENVELOPE = $00000080;
DIEP_TYPESPECIFICPARAMS = $00000100;
{$IFDEF DIRECTX5}
DIEP_ALLPARAMS = $000001FF;
{$ELSE}
DIEP_STARTDELAY = $00000200;
DIEP_ALLPARAMS_DX5 = $000001FF;
DIEP_ALLPARAMS = $000003FF;
{$ENDIF}
DIEP_START = $20000000;
DIEP_NORESTART = $40000000;
DIEP_NODOWNLOAD = $80000000;
DIEB_NOTRIGGER = $FFFFFFFF;
DIES_SOLO = $00000001;
DIES_NODOWNLOAD = $80000000;
DIEGES_PLAYING = $00000001;
DIEGES_EMULATED = $00000002;
DIDEVTYPE_DEVICE = 1;
DIDEVTYPE_MOUSE = 2;
DIDEVTYPE_KEYBOARD = 3;
DIDEVTYPE_JOYSTICK = 4;
DI8DEVCLASS_ALL = 0;
DI8DEVCLASS_DEVICE = 1;
DI8DEVCLASS_POINTER = 2;
DI8DEVCLASS_KEYBOARD = 3;
DI8DEVCLASS_GAMECTRL = 4;
DI8DEVTYPE_DEVICE = $11;
DI8DEVTYPE_MOUSE = $12;
DI8DEVTYPE_KEYBOARD = $13;
DI8DEVTYPE_JOYSTICK = $14;
DI8DEVTYPE_GAMEPAD = $15;
DI8DEVTYPE_DRIVING = $16;
DI8DEVTYPE_FLIGHT = $17;
DI8DEVTYPE_1STPERSON = $18;
DI8DEVTYPE_DEVICECTRL = $19;
DI8DEVTYPE_SCREENPOINTER = $1A;
DI8DEVTYPE_REMOTE = $1B;
DI8DEVTYPE_SUPPLEMENTAL = $1C;
DIDEVTYPE_HID = $00010000;
DIDEVTYPEMOUSE_UNKNOWN = 1;
DIDEVTYPEMOUSE_TRADITIONAL = 2;
DIDEVTYPEMOUSE_FINGERSTICK = 3;
DIDEVTYPEMOUSE_TOUCHPAD = 4;
DIDEVTYPEMOUSE_TRACKBALL = 5;
DIDEVTYPEKEYBOARD_UNKNOWN = 0;
DIDEVTYPEKEYBOARD_PCXT = 1;
DIDEVTYPEKEYBOARD_OLIVETTI = 2;
DIDEVTYPEKEYBOARD_PCAT = 3;
DIDEVTYPEKEYBOARD_PCENH = 4;
DIDEVTYPEKEYBOARD_NOKIA1050 = 5;
DIDEVTYPEKEYBOARD_NOKIA9140 = 6;
DIDEVTYPEKEYBOARD_NEC98 = 7;
DIDEVTYPEKEYBOARD_NEC98LAPTOP = 8;
DIDEVTYPEKEYBOARD_NEC98106 = 9;
DIDEVTYPEKEYBOARD_JAPAN106 = 10;
DIDEVTYPEKEYBOARD_JAPANAX = 11;
DIDEVTYPEKEYBOARD_J3100 = 12;
DIDEVTYPEJOYSTICK_UNKNOWN = 1;
DIDEVTYPEJOYSTICK_TRADITIONAL = 2;
DIDEVTYPEJOYSTICK_FLIGHTSTICK = 3;
DIDEVTYPEJOYSTICK_GAMEPAD = 4;
DIDEVTYPEJOYSTICK_RUDDER = 5;
DIDEVTYPEJOYSTICK_WHEEL = 6;
DIDEVTYPEJOYSTICK_HEADTRACKER = 7;
DI8DEVTYPEMOUSE_UNKNOWN = 1;
DI8DEVTYPEMOUSE_TRADITIONAL = 2;
DI8DEVTYPEMOUSE_FINGERSTICK = 3;
DI8DEVTYPEMOUSE_TOUCHPAD = 4;
DI8DEVTYPEMOUSE_TRACKBALL = 5;
DI8DEVTYPEMOUSE_ABSOLUTE = 6;
DI8DEVTYPEKEYBOARD_UNKNOWN = 0;
DI8DEVTYPEKEYBOARD_PCXT = 1;
DI8DEVTYPEKEYBOARD_OLIVETTI = 2;
DI8DEVTYPEKEYBOARD_PCAT = 3;
DI8DEVTYPEKEYBOARD_PCENH = 4;
DI8DEVTYPEKEYBOARD_NOKIA1050 = 5;
DI8DEVTYPEKEYBOARD_NOKIA9140 = 6;
DI8DEVTYPEKEYBOARD_NEC98 = 7;
DI8DEVTYPEKEYBOARD_NEC98LAPTOP = 8;
DI8DEVTYPEKEYBOARD_NEC98106 = 9;
DI8DEVTYPEKEYBOARD_JAPAN106 = 10;
DI8DEVTYPEKEYBOARD_JAPANAX = 11;
DI8DEVTYPEKEYBOARD_J3100 = 12;
DI8DEVTYPE_LIMITEDGAMESUBTYPE = 1;
DI8DEVTYPEJOYSTICK_LIMITED = DI8DEVTYPE_LIMITEDGAMESUBTYPE;
DI8DEVTYPEJOYSTICK_STANDARD = 2;
DI8DEVTYPEGAMEPAD_LIMITED = DI8DEVTYPE_LIMITEDGAMESUBTYPE;
DI8DEVTYPEGAMEPAD_STANDARD = 2;
DI8DEVTYPEGAMEPAD_TILT = 3;
DI8DEVTYPEDRIVING_LIMITED = DI8DEVTYPE_LIMITEDGAMESUBTYPE;
DI8DEVTYPEDRIVING_COMBINEDPEDALS = 2;
DI8DEVTYPEDRIVING_DUALPEDALS = 3;
DI8DEVTYPEDRIVING_THREEPEDALS = 4;
DI8DEVTYPEDRIVING_HANDHELD = 5;
DI8DEVTYPEFLIGHT_LIMITED = DI8DEVTYPE_LIMITEDGAMESUBTYPE;
DI8DEVTYPEFLIGHT_STICK = 2;
DI8DEVTYPEFLIGHT_YOKE = 3;
DI8DEVTYPEFLIGHT_RC = 4;
DI8DEVTYPE1STPERSON_LIMITED = DI8DEVTYPE_LIMITEDGAMESUBTYPE;
DI8DEVTYPE1STPERSON_UNKNOWN = 2;
DI8DEVTYPE1STPERSON_SIXDOF = 3;
DI8DEVTYPE1STPERSON_SHOOTER = 4;
DI8DEVTYPESCREENPTR_UNKNOWN = 2;
DI8DEVTYPESCREENPTR_LIGHTGUN = 3;
DI8DEVTYPESCREENPTR_LIGHTPEN = 4;
DI8DEVTYPESCREENPTR_TOUCH = 5;
DI8DEVTYPEREMOTE_UNKNOWN = 2;
DI8DEVTYPEDEVICECTRL_UNKNOWN = 2;
DI8DEVTYPEDEVICECTRL_COMMSSELECTION = 3;
DI8DEVTYPEDEVICECTRL_COMMSSELECTION_HARDWIRED = 4;
DI8DEVTYPESUPPLEMENTAL_UNKNOWN = 2;
DI8DEVTYPESUPPLEMENTAL_2NDHANDCONTROLLER = 3;
DI8DEVTYPESUPPLEMENTAL_HEADTRACKER = 4;
DI8DEVTYPESUPPLEMENTAL_HANDTRACKER = 5;
DI8DEVTYPESUPPLEMENTAL_SHIFTSTICKGATE = 6;
DI8DEVTYPESUPPLEMENTAL_SHIFTER = 7;
DI8DEVTYPESUPPLEMENTAL_THROTTLE = 8;
DI8DEVTYPESUPPLEMENTAL_SPLITTHROTTLE = 9;
DI8DEVTYPESUPPLEMENTAL_COMBINEDPEDALS = 10;
DI8DEVTYPESUPPLEMENTAL_DUALPEDALS = 11;
DI8DEVTYPESUPPLEMENTAL_THREEPEDALS = 12;
DI8DEVTYPESUPPLEMENTAL_RUDDERPEDALS = 13;
DIDC_ATTACHED = $00000001;
DIDC_POLLEDDEVICE = $00000002;
DIDC_EMULATED = $00000004;
DIDC_POLLEDDATAFORMAT = $00000008;
DIDC_FORCEFEEDBACK = $00000100;
DIDC_FFATTACK = $00000200;
DIDC_FFFADE = $00000400;
DIDC_SATURATION = $00000800;
DIDC_POSNEGCOEFFICIENTS = $00001000;
DIDC_POSNEGSATURATION = $00002000;
DIDC_DEADBAND = $00004000;
DIDC_STARTDELAY = $00008000;
DIDC_ALIAS = $00010000;
DIDC_PHANTOM = $00020000;
DIDC_HIDDEN = $00040000;
DIDFT_ALL = $00000000;
DIDFT_RELAXIS = $00000001;
DIDFT_ABSAXIS = $00000002;
DIDFT_AXIS = $00000003;
DIDFT_PSHBUTTON = $00000004;
DIDFT_TGLBUTTON = $00000008;
DIDFT_BUTTON = $0000000C;
DIDFT_POV = $00000010;
DIDFT_COLLECTION = $00000040;
DIDFT_NODATA = $00000080;
DIDFT_ANYINSTANCE = $00FFFF00;
DIDFT_INSTANCEMASK = DIDFT_ANYINSTANCE;
DIDFT_FFACTUATOR = $01000000;
DIDFT_FFEFFECTTRIGGER = $02000000;
DIDFT_OUTPUT = $10000000;
DIDFT_VENDORDEFINED = $04000000;
DIDFT_ALIAS = $08000000;
DIDFT_NOCOLLECTION = $00FFFF00;
DIDF_ABSAXIS = $00000001;
DIDF_RELAXIS = $00000002;
DIA_FORCEFEEDBACK = $00000001;
DIA_APPMAPPED = $00000002;
DIA_APPNOMAP = $00000004;
DIA_NORANGE = $00000008;
DIA_APPFIXED = $00000010;
DIAH_UNMAPPED = $00000000;
DIAH_USERCONFIG = $00000001;
DIAH_APPREQUESTED = $00000002;
DIAH_HWAPP = $00000004;
DIAH_HWDEFAULT = $00000008;
DIAH_DEFAULT = $00000020;
DIAH_ERROR = $80000000;
DIAFTS_NEWDEVICELOW = $FFFFFFFF;
DIAFTS_NEWDEVICEHIGH = $FFFFFFFF;
DIAFTS_UNUSEDDEVICELOW = $00000000;
DIAFTS_UNUSEDDEVICEHIGH = $00000000;
DIDBAM_DEFAULT = $00000000;
DIDBAM_PRESERVE = $00000001;
DIDBAM_INITIALIZE = $00000002;
DIDBAM_HWDEFAULTS = $00000004;
DIDSAM_DEFAULT = $00000000;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -