⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 directinput.pas

📁 雷神之锤2(Quake2)Delphi源码
💻 PAS
📖 第 1 页 / 共 5 页
字号:

  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 + -