DirectInput.pas
上传用户:ctlcnc
上传日期:2021-12-10
资源大小:4933k
文件大小:319k
- {$EXTERNALSYM DIMOFS_BUTTON5}
- DIMOFS_BUTTON6 = DIMOFS_BUTTON0 + 6; // (FIELD_OFFSET(DIMOUSESTATE2, rgbButtons) + 6)
- {$EXTERNALSYM DIMOFS_BUTTON6}
- DIMOFS_BUTTON7 = DIMOFS_BUTTON0 + 7; // (FIELD_OFFSET(DIMOUSESTATE2, rgbButtons) + 7)
- {$EXTERNALSYM DIMOFS_BUTTON7}
- {$ENDIF} (* DIRECTINPUT_VERSION >= 0x0700 *)
- (****************************************************************************
- *
- * Keyboard
- *
- ****************************************************************************)
- (****************************************************************************
- *
- * DirectInput keyboard scan codes
- *
- ****************************************************************************)
- const
- DIK_ESCAPE = $01;
- {$EXTERNALSYM DIK_ESCAPE}
- DIK_1 = $02;
- {$EXTERNALSYM DIK_1}
- DIK_2 = $03;
- {$EXTERNALSYM DIK_2}
- DIK_3 = $04;
- {$EXTERNALSYM DIK_3}
- DIK_4 = $05;
- {$EXTERNALSYM DIK_4}
- DIK_5 = $06;
- {$EXTERNALSYM DIK_5}
- DIK_6 = $07;
- {$EXTERNALSYM DIK_6}
- DIK_7 = $08;
- {$EXTERNALSYM DIK_7}
- DIK_8 = $09;
- {$EXTERNALSYM DIK_8}
- DIK_9 = $0A;
- {$EXTERNALSYM DIK_9}
- DIK_0 = $0B;
- {$EXTERNALSYM DIK_0}
- DIK_MINUS = $0C; (* - on main keyboard *)
- {$EXTERNALSYM DIK_MINUS}
- DIK_EQUALS = $0D;
- {$EXTERNALSYM DIK_EQUALS}
- DIK_BACK = $0E; (* backspace *)
- {$EXTERNALSYM DIK_BACK}
- DIK_TAB = $0F;
- {$EXTERNALSYM DIK_TAB}
- DIK_Q = $10;
- {$EXTERNALSYM DIK_Q}
- DIK_W = $11;
- {$EXTERNALSYM DIK_W}
- DIK_E = $12;
- {$EXTERNALSYM DIK_E}
- DIK_R = $13;
- {$EXTERNALSYM DIK_R}
- DIK_T = $14;
- {$EXTERNALSYM DIK_T}
- DIK_Y = $15;
- {$EXTERNALSYM DIK_Y}
- DIK_U = $16;
- {$EXTERNALSYM DIK_U}
- DIK_I = $17;
- {$EXTERNALSYM DIK_I}
- DIK_O = $18;
- {$EXTERNALSYM DIK_O}
- DIK_P = $19;
- {$EXTERNALSYM DIK_P}
- DIK_LBRACKET = $1A;
- {$EXTERNALSYM DIK_LBRACKET}
- DIK_RBRACKET = $1B;
- {$EXTERNALSYM DIK_RBRACKET}
- DIK_RETURN = $1C; (* Enter on main keyboard *)
- {$EXTERNALSYM DIK_RETURN}
- DIK_LCONTROL = $1D;
- {$EXTERNALSYM DIK_LCONTROL}
- DIK_A = $1E;
- {$EXTERNALSYM DIK_A}
- DIK_S = $1F;
- {$EXTERNALSYM DIK_S}
- DIK_D = $20;
- {$EXTERNALSYM DIK_D}
- DIK_F = $21;
- {$EXTERNALSYM DIK_F}
- DIK_G = $22;
- {$EXTERNALSYM DIK_G}
- DIK_H = $23;
- {$EXTERNALSYM DIK_H}
- DIK_J = $24;
- {$EXTERNALSYM DIK_J}
- DIK_K = $25;
- {$EXTERNALSYM DIK_K}
- DIK_L = $26;
- {$EXTERNALSYM DIK_L}
- DIK_SEMICOLON = $27;
- {$EXTERNALSYM DIK_SEMICOLON}
- DIK_APOSTROPHE = $28;
- {$EXTERNALSYM DIK_APOSTROPHE}
- DIK_GRAVE = $29; (* accent grave *)
- {$EXTERNALSYM DIK_GRAVE}
- DIK_LSHIFT = $2A;
- {$EXTERNALSYM DIK_LSHIFT}
- DIK_BACKSLASH = $2B;
- {$EXTERNALSYM DIK_BACKSLASH}
- DIK_Z = $2C;
- {$EXTERNALSYM DIK_Z}
- DIK_X = $2D;
- {$EXTERNALSYM DIK_X}
- DIK_C = $2E;
- {$EXTERNALSYM DIK_C}
- DIK_V = $2F;
- {$EXTERNALSYM DIK_V}
- DIK_B = $30;
- {$EXTERNALSYM DIK_B}
- DIK_N = $31;
- {$EXTERNALSYM DIK_N}
- DIK_M = $32;
- {$EXTERNALSYM DIK_M}
- DIK_COMMA = $33;
- {$EXTERNALSYM DIK_COMMA}
- DIK_PERIOD = $34; (* . on main keyboard *)
- {$EXTERNALSYM DIK_PERIOD}
- DIK_SLASH = $35; (* / on main keyboard *)
- {$EXTERNALSYM DIK_SLASH}
- DIK_RSHIFT = $36;
- {$EXTERNALSYM DIK_RSHIFT}
- DIK_MULTIPLY = $37; (* * on numeric keypad *)
- {$EXTERNALSYM DIK_MULTIPLY}
- DIK_LMENU = $38; (* left Alt *)
- {$EXTERNALSYM DIK_LMENU}
- DIK_SPACE = $39;
- {$EXTERNALSYM DIK_SPACE}
- DIK_CAPITAL = $3A;
- {$EXTERNALSYM DIK_CAPITAL}
- DIK_F1 = $3B;
- {$EXTERNALSYM DIK_F1}
- DIK_F2 = $3C;
- {$EXTERNALSYM DIK_F2}
- DIK_F3 = $3D;
- {$EXTERNALSYM DIK_F3}
- DIK_F4 = $3E;
- {$EXTERNALSYM DIK_F4}
- DIK_F5 = $3F;
- {$EXTERNALSYM DIK_F5}
- DIK_F6 = $40;
- {$EXTERNALSYM DIK_F6}
- DIK_F7 = $41;
- {$EXTERNALSYM DIK_F7}
- DIK_F8 = $42;
- {$EXTERNALSYM DIK_F8}
- DIK_F9 = $43;
- {$EXTERNALSYM DIK_F9}
- DIK_F10 = $44;
- {$EXTERNALSYM DIK_F10}
- DIK_NUMLOCK = $45;
- {$EXTERNALSYM DIK_NUMLOCK}
- DIK_SCROLL = $46; (* Scroll Lock *)
- {$EXTERNALSYM DIK_SCROLL}
- DIK_NUMPAD7 = $47;
- {$EXTERNALSYM DIK_NUMPAD7}
- DIK_NUMPAD8 = $48;
- {$EXTERNALSYM DIK_NUMPAD8}
- DIK_NUMPAD9 = $49;
- {$EXTERNALSYM DIK_NUMPAD9}
- DIK_SUBTRACT = $4A; (* - on numeric keypad *)
- {$EXTERNALSYM DIK_SUBTRACT}
- DIK_NUMPAD4 = $4B;
- {$EXTERNALSYM DIK_NUMPAD4}
- DIK_NUMPAD5 = $4C;
- {$EXTERNALSYM DIK_NUMPAD5}
- DIK_NUMPAD6 = $4D;
- {$EXTERNALSYM DIK_NUMPAD6}
- DIK_ADD = $4E; (* + on numeric keypad *)
- {$EXTERNALSYM DIK_ADD}
- DIK_NUMPAD1 = $4F;
- {$EXTERNALSYM DIK_NUMPAD1}
- DIK_NUMPAD2 = $50;
- {$EXTERNALSYM DIK_NUMPAD2}
- DIK_NUMPAD3 = $51;
- {$EXTERNALSYM DIK_NUMPAD3}
- DIK_NUMPAD0 = $52;
- {$EXTERNALSYM DIK_NUMPAD0}
- DIK_DECIMAL = $53; (* . on numeric keypad *)
- {$EXTERNALSYM DIK_DECIMAL}
- DIK_OEM_102 = $56; (* <> or | on RT 102-key keyboard (Non-U.S.) *)
- {$EXTERNALSYM DIK_OEM_102}
- DIK_F11 = $57;
- {$EXTERNALSYM DIK_F11}
- DIK_F12 = $58;
- {$EXTERNALSYM DIK_F12}
- DIK_F13 = $64; (* (NEC PC98) *)
- {$EXTERNALSYM DIK_F13}
- DIK_F14 = $65; (* (NEC PC98) *)
- {$EXTERNALSYM DIK_F14}
- DIK_F15 = $66; (* (NEC PC98) *)
- {$EXTERNALSYM DIK_F15}
- DIK_KANA = $70; (* (Japanese keyboard) *)
- {$EXTERNALSYM DIK_KANA}
- DIK_ABNT_C1 = $73; (* /? on Brazilian keyboard *)
- {$EXTERNALSYM DIK_ABNT_C1}
- DIK_CONVERT = $79; (* (Japanese keyboard) *)
- {$EXTERNALSYM DIK_CONVERT}
- DIK_NOCONVERT = $7B; (* (Japanese keyboard) *)
- {$EXTERNALSYM DIK_NOCONVERT}
- DIK_YEN = $7D; (* (Japanese keyboard) *)
- {$EXTERNALSYM DIK_YEN}
- DIK_ABNT_C2 = $7E; (* Numpad . on Brazilian keyboard *)
- {$EXTERNALSYM DIK_ABNT_C2}
- DIK_NUMPADEQUALS = $8D; (* = on numeric keypad (NEC PC98) *)
- {$EXTERNALSYM DIK_NUMPADEQUALS}
- DIK_PREVTRACK = $90; (* Previous Track (DIK_CIRCUMFLEX on Japanese keyboard) *)
- {$EXTERNALSYM DIK_PREVTRACK}
- DIK_AT = $91; (* (NEC PC98) *)
- {$EXTERNALSYM DIK_AT}
- DIK_COLON = $92; (* (NEC PC98) *)
- {$EXTERNALSYM DIK_COLON}
- DIK_UNDERLINE = $93; (* (NEC PC98) *)
- {$EXTERNALSYM DIK_UNDERLINE}
- DIK_KANJI = $94; (* (Japanese keyboard) *)
- {$EXTERNALSYM DIK_KANJI}
- DIK_STOP = $95; (* (NEC PC98) *)
- {$EXTERNALSYM DIK_STOP}
- DIK_AX = $96; (* (Japan AX) *)
- {$EXTERNALSYM DIK_AX}
- DIK_UNLABELED = $97; (* (J3100) *)
- {$EXTERNALSYM DIK_UNLABELED}
- DIK_NEXTTRACK = $99; (* Next Track *)
- {$EXTERNALSYM DIK_NEXTTRACK}
- DIK_NUMPADENTER = $9C; (* Enter on numeric keypad *)
- {$EXTERNALSYM DIK_NUMPADENTER}
- DIK_RCONTROL = $9D;
- {$EXTERNALSYM DIK_RCONTROL}
- DIK_MUTE = $A0; (* Mute *)
- {$EXTERNALSYM DIK_MUTE}
- DIK_CALCULATOR = $A1; (* Calculator *)
- {$EXTERNALSYM DIK_CALCULATOR}
- DIK_PLAYPAUSE = $A2; (* Play / Pause *)
- {$EXTERNALSYM DIK_PLAYPAUSE}
- DIK_MEDIASTOP = $A4; (* Media Stop *)
- {$EXTERNALSYM DIK_MEDIASTOP}
- DIK_VOLUMEDOWN = $AE; (* Volume - *)
- {$EXTERNALSYM DIK_VOLUMEDOWN}
- DIK_VOLUMEUP = $B0; (* Volume + *)
- {$EXTERNALSYM DIK_VOLUMEUP}
- DIK_WEBHOME = $B2; (* Web home *)
- {$EXTERNALSYM DIK_WEBHOME}
- DIK_NUMPADCOMMA = $B3; (* , on numeric keypad (NEC PC98) *)
- {$EXTERNALSYM DIK_NUMPADCOMMA}
- DIK_DIVIDE = $B5; (* / on numeric keypad *)
- {$EXTERNALSYM DIK_DIVIDE}
- DIK_SYSRQ = $B7;
- {$EXTERNALSYM DIK_SYSRQ}
- DIK_RMENU = $B8; (* right Alt *)
- {$EXTERNALSYM DIK_RMENU}
- DIK_PAUSE = $C5; (* Pause *)
- {$EXTERNALSYM DIK_PAUSE}
- DIK_HOME = $C7; (* Home on arrow keypad *)
- {$EXTERNALSYM DIK_HOME}
- DIK_UP = $C8; (* UpArrow on arrow keypad *)
- {$EXTERNALSYM DIK_UP}
- DIK_PRIOR = $C9; (* PgUp on arrow keypad *)
- {$EXTERNALSYM DIK_PRIOR}
- DIK_LEFT = $CB; (* LeftArrow on arrow keypad *)
- {$EXTERNALSYM DIK_LEFT}
- DIK_RIGHT = $CD; (* RightArrow on arrow keypad *)
- {$EXTERNALSYM DIK_RIGHT}
- DIK_END = $CF; (* End on arrow keypad *)
- {$EXTERNALSYM DIK_END}
- DIK_DOWN = $D0; (* DownArrow on arrow keypad *)
- {$EXTERNALSYM DIK_DOWN}
- DIK_NEXT = $D1; (* PgDn on arrow keypad *)
- {$EXTERNALSYM DIK_NEXT}
- DIK_INSERT = $D2; (* Insert on arrow keypad *)
- {$EXTERNALSYM DIK_INSERT}
- DIK_DELETE = $D3; (* Delete on arrow keypad *)
- {$EXTERNALSYM DIK_DELETE}
- DIK_LWIN = $DB; (* Left Windows key *)
- {$EXTERNALSYM DIK_LWIN}
- DIK_RWIN = $DC; (* Right Windows key *)
- {$EXTERNALSYM DIK_RWIN}
- DIK_APPS = $DD; (* AppMenu key *)
- {$EXTERNALSYM DIK_APPS}
- DIK_POWER = $DE; (* System Power *)
- {$EXTERNALSYM DIK_POWER}
- DIK_SLEEP = $DF; (* System Sleep *)
- {$EXTERNALSYM DIK_SLEEP}
- DIK_WAKE = $E3; (* System Wake *)
- {$EXTERNALSYM DIK_WAKE}
- DIK_WEBSEARCH = $E5; (* Web Search *)
- {$EXTERNALSYM DIK_WEBSEARCH}
- DIK_WEBFAVORITES = $E6; (* Web Favorites *)
- {$EXTERNALSYM DIK_WEBFAVORITES}
- DIK_WEBREFRESH = $E7; (* Web Refresh *)
- {$EXTERNALSYM DIK_WEBREFRESH}
- DIK_WEBSTOP = $E8; (* Web Stop *)
- {$EXTERNALSYM DIK_WEBSTOP}
- DIK_WEBFORWARD = $E9; (* Web Forward *)
- {$EXTERNALSYM DIK_WEBFORWARD}
- DIK_WEBBACK = $EA; (* Web Back *)
- {$EXTERNALSYM DIK_WEBBACK}
- DIK_MYCOMPUTER = $EB; (* My Computer *)
- {$EXTERNALSYM DIK_MYCOMPUTER}
- DIK_MAIL = $EC; (* Mail *)
- {$EXTERNALSYM DIK_MAIL}
- DIK_MEDIASELECT = $ED; (* Media Select *)
- {$EXTERNALSYM DIK_MEDIASELECT}
- (*
- * Alternate names for keys, to facilitate transition from DOS.
- *)
- DIK_BACKSPACE = DIK_BACK; (* backspace *)
- {$EXTERNALSYM DIK_BACKSPACE}
- DIK_NUMPADSTAR = DIK_MULTIPLY; (* * on numeric keypad *)
- {$EXTERNALSYM DIK_NUMPADSTAR}
- DIK_LALT = DIK_LMENU; (* left Alt *)
- {$EXTERNALSYM DIK_LALT}
- DIK_CAPSLOCK = DIK_CAPITAL; (* CapsLock *)
- {$EXTERNALSYM DIK_CAPSLOCK}
- DIK_NUMPADMINUS = DIK_SUBTRACT; (* - on numeric keypad *)
- {$EXTERNALSYM DIK_NUMPADMINUS}
- DIK_NUMPADPLUS = DIK_ADD; (* + on numeric keypad *)
- {$EXTERNALSYM DIK_NUMPADPLUS}
- DIK_NUMPADPERIOD = DIK_DECIMAL; (* . on numeric keypad *)
- {$EXTERNALSYM DIK_NUMPADPERIOD}
- DIK_NUMPADSLASH = DIK_DIVIDE; (* / on numeric keypad *)
- {$EXTERNALSYM DIK_NUMPADSLASH}
- DIK_RALT = DIK_RMENU; (* right Alt *)
- {$EXTERNALSYM DIK_RALT}
- DIK_UPARROW = DIK_UP; (* UpArrow on arrow keypad *)
- {$EXTERNALSYM DIK_UPARROW}
- DIK_PGUP = DIK_PRIOR; (* PgUp on arrow keypad *)
- {$EXTERNALSYM DIK_PGUP}
- DIK_LEFTARROW = DIK_LEFT; (* LeftArrow on arrow keypad *)
- {$EXTERNALSYM DIK_LEFTARROW}
- DIK_RIGHTARROW = DIK_RIGHT; (* RightArrow on arrow keypad *)
- {$EXTERNALSYM DIK_RIGHTARROW}
- DIK_DOWNARROW = DIK_DOWN; (* DownArrow on arrow keypad *)
- {$EXTERNALSYM DIK_DOWNARROW}
- DIK_PGDN = DIK_NEXT; (* PgDn on arrow keypad *)
- {$EXTERNALSYM DIK_PGDN}
- (*
- * Alternate names for keys originally not used on US keyboards.
- *)
- DIK_CIRCUMFLEX = DIK_PREVTRACK; (* Japanese keyboard *)
- {$EXTERNALSYM DIK_CIRCUMFLEX}
- (****************************************************************************
- *
- * Joystick
- *
- ****************************************************************************)
- type
- PDIJoyState = ^TDIJoyState;
- DIJOYSTATE = packed record
- lX: Longint; (* x-axis position *)
- lY: Longint; (* y-axis position *)
- lZ: Longint; (* z-axis position *)
- lRx: Longint; (* x-axis rotation *)
- lRy: Longint; (* y-axis rotation *)
- lRz: Longint; (* z-axis rotation *)
- rglSlider: array[0..1] of Longint; (* extra axes positions *)
- rgdwPOV: array[0..3] of DWORD; (* POV directions *)
- rgbButtons: array[0..31] of Byte; (* 32 buttons *)
- end;
- {$EXTERNALSYM DIJOYSTATE}
- TDIJoyState = DIJOYSTATE;
- PDIJoyState2 = ^TDIJoyState2;
- DIJOYSTATE2 = packed record
- lX: Longint; (* x-axis position *)
- lY: Longint; (* y-axis position *)
- lZ: Longint; (* z-axis position *)
- lRx: Longint; (* x-axis rotation *)
- lRy: Longint; (* y-axis rotation *)
- lRz: Longint; (* z-axis rotation *)
- rglSlider: array[0..1] of Longint; (* extra axes positions *)
- rgdwPOV: array[0..3] of DWORD; (* POV directions *)
- rgbButtons: array[0..127] of Byte; (* 128 buttons *)
- lVX: Longint; (* x-axis velocity *)
- lVY: Longint; (* y-axis velocity *)
- lVZ: Longint; (* z-axis velocity *)
- lVRx: Longint; (* x-axis angular velocity *)
- lVRy: Longint; (* y-axis angular velocity *)
- lVRz: Longint; (* z-axis angular velocity *)
- rglVSlider: array[0..1] of Longint; (* extra axes velocities *)
- lAX: Longint; (* x-axis acceleration *)
- lAY: Longint; (* y-axis acceleration *)
- lAZ: Longint; (* z-axis acceleration *)
- lARx: Longint; (* x-axis angular acceleration *)
- lARy: Longint; (* y-axis angular acceleration *)
- lARz: Longint; (* z-axis angular acceleration *)
- rglASlider: array[0..1] of Longint; (* extra axes accelerations *)
- lFX: Longint; (* x-axis force *)
- lFY: Longint; (* y-axis force *)
- lFZ: Longint; (* z-axis force *)
- lFRx: Longint; (* x-axis torque *)
- lFRy: Longint; (* y-axis torque *)
- lFRz: Longint; (* z-axis torque *)
- rglFSlider: array[0..1] of Longint; (* extra axes forces *)
- end;
- {$EXTERNALSYM DIJOYSTATE2}
- TDIJoyState2 = DIJOYSTATE2;
- const
- DIJOFS_X = 0; // FIELD_OFFSET(DIJOYSTATE, lX)
- {$EXTERNALSYM DIJOFS_X}
- DIJOFS_Y = 4; // FIELD_OFFSET(DIJOYSTATE, lY)
- {$EXTERNALSYM DIJOFS_Y}
- DIJOFS_Z = 8; // FIELD_OFFSET(DIJOYSTATE, lZ)
- {$EXTERNALSYM DIJOFS_Z}
- DIJOFS_RX = 12; // FIELD_OFFSET(DIJOYSTATE, lRx)
- {$EXTERNALSYM DIJOFS_RX}
- DIJOFS_RY = 16; // FIELD_OFFSET(DIJOYSTATE, lRy)
- {$EXTERNALSYM DIJOFS_RY}
- DIJOFS_RZ = 20; // FIELD_OFFSET(DIJOYSTATE, lRz)
- {$EXTERNALSYM DIJOFS_RZ}
- // #define DIJOFS_SLIDER(n) (FIELD_OFFSET(DIJOYSTATE, rglSlider) +
- // (n) * sizeof(LONG))
- function DIJOFS_SLIDER(n: Cardinal): Cardinal;
- {$EXTERNALSYM DIJOFS_SLIDER}
- // #define DIJOFS_POV(n) (FIELD_OFFSET(DIJOYSTATE, rgdwPOV) +
- // (n) * sizeof(DWORD))
- function DIJOFS_POV(n: Cardinal): Cardinal;
- {$EXTERNALSYM DIJOFS_POV}
- // #define DIJOFS_BUTTON(n) (FIELD_OFFSET(DIJOYSTATE, rgbButtons) + (n))
- function DIJOFS_BUTTON(n: Cardinal): Cardinal;
- {$EXTERNALSYM DIJOFS_BUTTON}
- const
- DIJOFS_BUTTON_ = 48; // Helper const
- DIJOFS_BUTTON0 = DIJOFS_BUTTON_ + 0; // DIJOFS_BUTTON(0)
- {$EXTERNALSYM DIJOFS_BUTTON0}
- DIJOFS_BUTTON1 = DIJOFS_BUTTON_ + 1; // DIJOFS_BUTTON(1)
- {$EXTERNALSYM DIJOFS_BUTTON1}
- DIJOFS_BUTTON2 = DIJOFS_BUTTON_ + 2; // DIJOFS_BUTTON(2)
- {$EXTERNALSYM DIJOFS_BUTTON2}
- DIJOFS_BUTTON3 = DIJOFS_BUTTON_ + 3; // DIJOFS_BUTTON(3)
- {$EXTERNALSYM DIJOFS_BUTTON3}
- DIJOFS_BUTTON4 = DIJOFS_BUTTON_ + 4; // DIJOFS_BUTTON(4)
- {$EXTERNALSYM DIJOFS_BUTTON4}
- DIJOFS_BUTTON5 = DIJOFS_BUTTON_ + 5; // DIJOFS_BUTTON(5)
- {$EXTERNALSYM DIJOFS_BUTTON5}
- DIJOFS_BUTTON6 = DIJOFS_BUTTON_ + 6; // DIJOFS_BUTTON(6)
- {$EXTERNALSYM DIJOFS_BUTTON6}
- DIJOFS_BUTTON7 = DIJOFS_BUTTON_ + 7; // DIJOFS_BUTTON(7)
- {$EXTERNALSYM DIJOFS_BUTTON7}
- DIJOFS_BUTTON8 = DIJOFS_BUTTON_ + 8; // DIJOFS_BUTTON(8)
- {$EXTERNALSYM DIJOFS_BUTTON8}
- DIJOFS_BUTTON9 = DIJOFS_BUTTON_ + 9; // DIJOFS_BUTTON(9)
- {$EXTERNALSYM DIJOFS_BUTTON9}
- DIJOFS_BUTTON10 = DIJOFS_BUTTON_ + 10; // DIJOFS_BUTTON(10)
- {$EXTERNALSYM DIJOFS_BUTTON10}
- DIJOFS_BUTTON11 = DIJOFS_BUTTON_ + 11; // DIJOFS_BUTTON(11)
- {$EXTERNALSYM DIJOFS_BUTTON11}
- DIJOFS_BUTTON12 = DIJOFS_BUTTON_ + 12; // DIJOFS_BUTTON(12)
- {$EXTERNALSYM DIJOFS_BUTTON12}
- DIJOFS_BUTTON13 = DIJOFS_BUTTON_ + 13; // DIJOFS_BUTTON(13)
- {$EXTERNALSYM DIJOFS_BUTTON13}
- DIJOFS_BUTTON14 = DIJOFS_BUTTON_ + 14; // DIJOFS_BUTTON(14)
- {$EXTERNALSYM DIJOFS_BUTTON14}
- DIJOFS_BUTTON15 = DIJOFS_BUTTON_ + 15; // DIJOFS_BUTTON(15)
- {$EXTERNALSYM DIJOFS_BUTTON15}
- DIJOFS_BUTTON16 = DIJOFS_BUTTON_ + 16; // DIJOFS_BUTTON(16)
- {$EXTERNALSYM DIJOFS_BUTTON16}
- DIJOFS_BUTTON17 = DIJOFS_BUTTON_ + 17; // DIJOFS_BUTTON(17)
- {$EXTERNALSYM DIJOFS_BUTTON17}
- DIJOFS_BUTTON18 = DIJOFS_BUTTON_ + 18; // DIJOFS_BUTTON(18)
- {$EXTERNALSYM DIJOFS_BUTTON18}
- DIJOFS_BUTTON19 = DIJOFS_BUTTON_ + 19; // DIJOFS_BUTTON(19)
- {$EXTERNALSYM DIJOFS_BUTTON19}
- DIJOFS_BUTTON20 = DIJOFS_BUTTON_ + 20; // DIJOFS_BUTTON(20)
- {$EXTERNALSYM DIJOFS_BUTTON20}
- DIJOFS_BUTTON21 = DIJOFS_BUTTON_ + 21; // DIJOFS_BUTTON(21)
- {$EXTERNALSYM DIJOFS_BUTTON21}
- DIJOFS_BUTTON22 = DIJOFS_BUTTON_ + 22; // DIJOFS_BUTTON(22)
- {$EXTERNALSYM DIJOFS_BUTTON22}
- DIJOFS_BUTTON23 = DIJOFS_BUTTON_ + 23; // DIJOFS_BUTTON(23)
- {$EXTERNALSYM DIJOFS_BUTTON23}
- DIJOFS_BUTTON24 = DIJOFS_BUTTON_ + 24; // DIJOFS_BUTTON(24)
- {$EXTERNALSYM DIJOFS_BUTTON24}
- DIJOFS_BUTTON25 = DIJOFS_BUTTON_ + 25; // DIJOFS_BUTTON(25)
- {$EXTERNALSYM DIJOFS_BUTTON25}
- DIJOFS_BUTTON26 = DIJOFS_BUTTON_ + 26; // DIJOFS_BUTTON(26)
- {$EXTERNALSYM DIJOFS_BUTTON26}
- DIJOFS_BUTTON27 = DIJOFS_BUTTON_ + 27; // DIJOFS_BUTTON(27)
- {$EXTERNALSYM DIJOFS_BUTTON27}
- DIJOFS_BUTTON28 = DIJOFS_BUTTON_ + 28; // DIJOFS_BUTTON(28)
- {$EXTERNALSYM DIJOFS_BUTTON28}
- DIJOFS_BUTTON29 = DIJOFS_BUTTON_ + 29; // DIJOFS_BUTTON(29)
- {$EXTERNALSYM DIJOFS_BUTTON29}
- DIJOFS_BUTTON30 = DIJOFS_BUTTON_ + 30; // DIJOFS_BUTTON(30)
- {$EXTERNALSYM DIJOFS_BUTTON30}
- DIJOFS_BUTTON31 = DIJOFS_BUTTON_ + 31; // DIJOFS_BUTTON(31)
- {$EXTERNALSYM DIJOFS_BUTTON31}
- const
- rgodfDIMouse: array[0..6] of TDIObjectDataFormat = (
- (pguid: @GUID_XAxis; dwOfs: DIMOFS_X; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE; dwFlags: 0),
- (pguid: @GUID_YAxis; dwOfs: DIMOFS_Y; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE; dwFlags: 0),
- (pguid: @GUID_ZAxis; dwOfs: DIMOFS_Z; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIMOFS_BUTTON0; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE; dwFlags: 0),
- (pguid: nil; dwOfs: DIMOFS_BUTTON1; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE; dwFlags: 0),
- (pguid: nil; dwOfs: DIMOFS_BUTTON2; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIMOFS_BUTTON3; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0)
- );
- {$EXTERNALSYM rgodfDIMouse}
- c_dfDIMouse: TDIDataFormat = (
- dwSize: Sizeof(c_dfDIMouse); // $18
- dwObjSize: Sizeof(TDIObjectDataFormat); // $10
- dwFlags: DIDF_RELAXIS; // $2
- dwDataSize: Sizeof(TDIMouseState); // $10
- dwNumObjs: High(rgodfDIMouse) + 1;
- rgodf: @rgodfDIMouse
- );
- {$EXTERNALSYM c_dfDIMouse}
- {$IFDEF DIRECTINPUT_VERSION_7} (* #if(DIRECTINPUT_VERSION >= 0x0700) *)
- rgodfDIMouse2: array[0..10] of TDIObjectDataFormat = (
- (pguid: @GUID_XAxis; dwOfs: DIMOFS_X; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE; dwFlags: 0),
- (pguid: @GUID_YAxis; dwOfs: DIMOFS_Y; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE; dwFlags: 0),
- (pguid: @GUID_ZAxis; dwOfs: DIMOFS_Z; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0), // DIDFT_ENUMCOLLECTION(DIDFT_ALIAS) == $80000000
- (pguid: nil; dwOfs: DIMOFS_BUTTON0; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE; dwFlags: 0),
- (pguid: nil; dwOfs: DIMOFS_BUTTON1; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE; dwFlags: 0),
- (pguid: nil; dwOfs: DIMOFS_BUTTON2; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIMOFS_BUTTON3; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIMOFS_BUTTON4; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIMOFS_BUTTON5; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIMOFS_BUTTON6; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIMOFS_BUTTON7; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0)
- );
- {$EXTERNALSYM rgodfDIMouse2}
- c_dfDIMouse2: TDIDataFormat = (
- dwSize : Sizeof(c_dfDIMouse2); // $18
- dwObjSize : Sizeof(TDIObjectDataFormat); // $10
- dwFlags : DIDF_RELAXIS; // $2
- dwDataSize : Sizeof(TDIMouseState2); // $10
- dwNumObjs : High(rgodfDIMouse2) + 1;
- rgodf : @rgodfDIMouse2
- );
- {$EXTERNALSYM c_dfDIMouse2}
- {$ENDIF} (* DIRECTINPUT_VERSION >= 0x0700 *)
- const
- rgodfKeyboard: array[0..255] of TDIObjectDataFormat = (
- (pguid: @GUID_Key; dwOfs: 0; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 0 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 1; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 1 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 2; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 2 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 3; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 3 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 4; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 4 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 5; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 5 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 6; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 6 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 7; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 7 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 8; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 8 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 9; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 9 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 10; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 10 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 11; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 11 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 12; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 12 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 13; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 13 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 14; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 14 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 15; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 15 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 16; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 16 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 17; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 17 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 18; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 18 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 19; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 19 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 20; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 20 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 21; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 21 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 22; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 22 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 23; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 23 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 24; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 24 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 25; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 25 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 26; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 26 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 27; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 27 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 28; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 28 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 29; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 29 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 30; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 30 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 31; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 31 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 32; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 32 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 33; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 33 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 34; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 34 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 35; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 35 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 36; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 36 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 37; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 37 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 38; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 38 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 39; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 39 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 40; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 40 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 41; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 41 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 42; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 42 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 43; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 43 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 44; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 44 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 45; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 45 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 46; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 46 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 47; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 47 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 48; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 48 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 49; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 49 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 50; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 50 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 51; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 51 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 52; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 52 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 53; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 53 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 54; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 54 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 55; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 55 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 56; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 56 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 57; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 57 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 58; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 58 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 59; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 59 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 60; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 60 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 61; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 61 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 62; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 62 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 63; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 63 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 64; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 64 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 65; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 65 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 66; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 66 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 67; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 67 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 68; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 68 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 69; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 69 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 70; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 70 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 71; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 71 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 72; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 72 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 73; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 73 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 74; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 74 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 75; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 75 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 76; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 76 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 77; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 77 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 78; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 78 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 79; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 79 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 80; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 80 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 81; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 81 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 82; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 82 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 83; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 83 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 84; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 84 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 85; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 85 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 86; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 86 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 87; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 87 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 88; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 88 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 89; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 89 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 90; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 90 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 91; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 91 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 92; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 92 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 93; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 93 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 94; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 94 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 95; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 95 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 96; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 96 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 97; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 97 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 98; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 98 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 99; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or ( 99 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 100; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (100 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 101; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (101 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 102; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (102 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 103; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (103 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 104; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (104 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 105; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (105 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 106; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (106 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 107; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (107 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 108; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (108 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 109; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (109 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 110; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (110 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 111; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (111 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 112; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (112 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 113; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (113 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 114; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (114 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 115; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (115 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 116; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (116 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 117; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (117 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 118; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (118 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 119; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (119 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 120; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (120 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 121; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (121 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 122; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (122 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 123; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (123 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 124; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (124 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 125; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (125 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 126; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (126 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 127; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (127 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 128; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (128 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 129; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (129 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 130; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (130 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 131; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (131 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 132; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (132 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 133; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (133 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 134; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (134 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 135; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (135 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 136; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (136 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 137; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (137 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 138; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (138 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 139; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (139 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 140; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (140 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 141; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (141 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 142; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (142 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 143; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (143 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 144; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (144 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 145; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (145 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 146; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (146 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 147; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (147 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 148; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (148 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 149; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (149 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 150; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (150 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 151; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (151 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 152; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (152 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 153; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (153 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 154; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (154 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 155; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (155 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 156; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (156 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 157; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (157 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 158; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (158 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 159; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (159 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 160; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (160 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 161; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (161 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 162; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (162 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 163; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (163 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 164; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (164 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 165; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (165 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 166; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (166 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 167; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (167 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 168; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (168 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 169; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (169 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 170; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (170 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 171; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (171 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 172; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (172 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 173; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (173 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 174; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (174 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 175; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (175 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 176; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (176 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 177; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (177 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 178; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (178 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 179; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (179 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 180; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (180 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 181; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (181 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 182; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (182 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 183; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (183 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 184; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (184 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 185; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (185 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 186; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (186 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 187; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (187 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 188; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (188 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 189; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (189 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 190; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (190 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 191; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (191 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 192; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (192 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 193; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (193 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 194; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (194 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 195; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (195 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 196; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (196 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 197; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (197 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 198; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (198 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 199; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (199 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 200; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (200 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 201; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (201 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 202; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (202 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 203; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (203 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 204; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (204 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 205; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (205 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 206; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (206 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 207; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (207 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 208; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (208 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 209; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (209 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 210; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (210 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 211; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (211 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 212; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (212 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 213; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (213 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 214; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (214 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 215; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (215 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 216; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (216 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 217; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (217 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 218; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (218 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 219; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (219 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 220; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (220 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 221; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (221 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 222; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (222 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 223; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (223 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 224; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (224 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 225; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (225 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 226; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (226 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 227; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (227 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 228; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (228 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 229; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (229 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 230; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (230 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 231; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (231 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 232; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (232 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 233; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (233 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 234; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (234 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 235; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (235 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 236; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (236 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 237; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (237 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 238; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (238 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 239; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (239 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 240; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (240 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 241; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (241 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 242; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (242 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 243; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (243 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 244; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (244 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 245; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (245 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 246; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (246 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 247; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (247 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 248; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (248 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 249; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (249 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 250; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (250 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 251; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (251 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 252; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (252 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 253; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (253 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 254; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (254 shl 8); dwFlags: 0),
- (pguid: @GUID_Key; dwOfs: 255; dwType: DIDFT_BUTTON or DIPROPRANGE_NOMIN or (255 shl 8); dwFlags: 0)
- );
- {$EXTERNALSYM rgodfKeyboard}
- const
- c_dfDIKeyboard: TDIDataFormat = (
- dwSize : Sizeof(c_dfDIKeyboard);
- dwObjSize : Sizeof(TDIObjectDataFormat);
- dwFlags : DIDF_RELAXIS;
- dwDataSize : 256;
- dwNumObjs : High(rgodfKeyboard) + 1;
- rgodf : @rgodfKeyboard
- );
- {$EXTERNALSYM c_dfDIKeyboard}
- {$IFDEF DIRECTINPUT_VERSION_5} (* #if(DIRECTINPUT_VERSION >= 0x0500) *)
- rgodfJoystick: array[0..43] of TDIObjectDataFormat = (
- (pguid: @GUID_XAxis; dwOfs: DIJOFS_X; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTPOSITION),
- (pguid: @GUID_YAxis; dwOfs: DIJOFS_Y; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTPOSITION),
- (pguid: @GUID_ZAxis; dwOfs: DIJOFS_Z; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTPOSITION),
- (pguid: @GUID_RxAxis; dwOfs: DIJOFS_RX; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTPOSITION),
- (pguid: @GUID_RyAxis; dwOfs: DIJOFS_RY; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTPOSITION),
- (pguid: @GUID_RzAxis; dwOfs: DIJOFS_RZ; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTPOSITION),
- // 2 Sliders
- (pguid: @GUID_Slider; dwOfs: 24; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTPOSITION),
- (pguid: @GUID_Slider; dwOfs: 28; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTPOSITION),
- // 4 POVs (yes, really)
- (pguid: @GUID_POV; dwOfs: 32; dwType: DIDFT_POV or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: @GUID_POV; dwOfs: 36; dwType: DIDFT_POV or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: @GUID_POV; dwOfs: 40; dwType: DIDFT_POV or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: @GUID_POV; dwOfs: 44; dwType: DIDFT_POV or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- // Buttons
- (pguid: nil; dwOfs: DIJOFS_BUTTON0; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON1; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON2; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON3; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON4; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON5; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON6; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON7; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON8; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON9; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON10; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON11; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON12; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON13; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON14; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON15; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON16; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON17; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON18; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON19; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON20; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON21; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON22; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON23; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON24; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON25; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON26; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON27; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON28; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON29; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON30; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON31; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0)
- );
- {$EXTERNALSYM rgodfJoystick}
- c_dfDIJoystick: TDIDataFormat = (
- dwSize : Sizeof(c_dfDIJoystick);
- dwObjSize : Sizeof(TDIObjectDataFormat); // $10
- dwFlags : DIDF_ABSAXIS;
- dwDataSize : SizeOf(TDIJoyState); // $10
- dwNumObjs : High(rgodfJoystick) + 1; // $2C
- rgodf : @rgodfJoystick
- );
- {$EXTERNALSYM c_dfDIJoystick}
- rgodfJoystick2: array[0..163] of TDIObjectDataFormat = (
- (pguid: @GUID_XAxis; dwOfs: DIJOFS_X; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTPOSITION),
- (pguid: @GUID_YAxis; dwOfs: DIJOFS_Y; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTPOSITION),
- (pguid: @GUID_ZAxis; dwOfs: DIJOFS_Z; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTPOSITION),
- (pguid: @GUID_RxAxis; dwOfs: DIJOFS_RX; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTPOSITION),
- (pguid: @GUID_RyAxis; dwOfs: DIJOFS_RY; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTPOSITION),
- (pguid: @GUID_RzAxis; dwOfs: DIJOFS_RZ; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTPOSITION),
- // 2 Sliders
- (pguid: @GUID_Slider; dwOfs: 24; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTPOSITION),
- (pguid: @GUID_Slider; dwOfs: 28; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTPOSITION),
- // 4 POVs (yes, really)
- (pguid: @GUID_POV; dwOfs: 32; dwType: DIDFT_POV or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: @GUID_POV; dwOfs: 36; dwType: DIDFT_POV or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: @GUID_POV; dwOfs: 40; dwType: DIDFT_POV or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: @GUID_POV; dwOfs: 44; dwType: DIDFT_POV or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- // Buttons
- (pguid: nil; dwOfs: DIJOFS_BUTTON0; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON1; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON2; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON3; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON4; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON5; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON6; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON7; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON8; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON9; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON10; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON11; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON12; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON13; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON14; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON15; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON16; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON17; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON18; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON19; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON20; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON21; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON22; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON23; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON24; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON25; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON26; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON27; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON28; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON29; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON30; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: DIJOFS_BUTTON31; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: 0),
- (pguid: nil; dwOfs: 80; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 81; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 82; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 83; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 84; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 85; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 86; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 87; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 88; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 89; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 90; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 91; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 92; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 93; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 94; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 95; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 96; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 97; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 98; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 99; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 100; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 101; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 102; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 103; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 104; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 105; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 106; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 107; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 108; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 109; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 110; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 111; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 112; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 113; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 114; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 115; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 116; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 117; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 118; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 119; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 120; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 121; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 122; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 123; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 124; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 125; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 126; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 127; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 128; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 129; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 130; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 131; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 132; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 133; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 134; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 135; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 136; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 137; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 138; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 139; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 140; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 141; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 142; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 143; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 144; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 145; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 146; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 147; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 148; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 149; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 150; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 151; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 152; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 153; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 154; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 155; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 156; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 157; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 158; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 159; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 160; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 161; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 162; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 163; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 164; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 165; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 166; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 167; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 168; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 169; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 170; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 171; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 172; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 173; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 174; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: nil; dwOfs: 175; dwType: DIDFT_BUTTON or DIDFT_ANYINSTANCE or $80000000; dwFlags: $0),
- (pguid: @GUID_XAxis; dwOfs: 176; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTVELOCITY),
- (pguid: @GUID_YAxis; dwOfs: 180; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTVELOCITY),
- (pguid: @GUID_ZAxis; dwOfs: 184; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTVELOCITY),
- (pguid: @GUID_RxAxis; dwOfs: 188; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTVELOCITY),
- (pguid: @GUID_RyAxis; dwOfs: 192; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTVELOCITY),
- (pguid: @GUID_RzAxis; dwOfs: 196; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTVELOCITY),
- (pguid: @GUID_Slider; dwOfs: 24; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTVELOCITY),
- (pguid: @GUID_Slider; dwOfs: 28; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTVELOCITY),
- (pguid: @GUID_XAxis; dwOfs: 208; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTACCEL),
- (pguid: @GUID_YAxis; dwOfs: 212; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTACCEL),
- (pguid: @GUID_ZAxis; dwOfs: 216; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTACCEL),
- (pguid: @GUID_RxAxis; dwOfs: 220; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTACCEL),
- (pguid: @GUID_RyAxis; dwOfs: 224; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTACCEL),
- (pguid: @GUID_RzAxis; dwOfs: 228; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTACCEL),
- (pguid: @GUID_Slider; dwOfs: 24; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTACCEL),
- (pguid: @GUID_Slider; dwOfs: 28; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTACCEL),
- (pguid: @GUID_XAxis; dwOfs: 240; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTFORCE),
- (pguid: @GUID_YAxis; dwOfs: 244; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTFORCE),
- (pguid: @GUID_ZAxis; dwOfs: 248; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTFORCE),
- (pguid: @GUID_RxAxis; dwOfs: 252; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTFORCE),
- (pguid: @GUID_RyAxis; dwOfs: 256; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTFORCE),
- (pguid: @GUID_RzAxis; dwOfs: 260; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTFORCE),
- (pguid: @GUID_Slider; dwOfs: 24; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTFORCE),
- (pguid: @GUID_Slider; dwOfs: 28; dwType: DIDFT_AXIS or DIDFT_ANYINSTANCE or $80000000; dwFlags: DIDOI_ASPECTFORCE)
- );
- {$EXTERNALSYM rgodfJoystick2}
- c_dfDIJoystick2: TDIDataFormat = (
- dwSize : Sizeof(c_dfDIJoystick2);
- dwObjSize : Sizeof(TDIObjectDataFormat);
- dwFlags : DIDF_ABSAXIS;
- dwDataSize : SizeOf(TDIJoyState2);
- dwNumObjs : High(rgodfJoystick2) + 1;
- rgodf : @rgodfJoystick2
- );
- {$EXTERNALSYM c_dfDIJoystick2}
- {$ENDIF} (* DIRECTINPUT_VERSION >= 0x0500 *)
- (****************************************************************************
- *
- * IDirectInput
- *
- ****************************************************************************)
- const
- DIENUM_STOP = BOOL(0);
- {$EXTERNALSYM DIENUM_STOP}
- DIENUM_CONTINUE = BOOL(1);
- {$EXTERNALSYM DIENUM_CONTINUE}
- type
- TDIEnumDevicesCallbackA = function (var lpddi: TDIDeviceInstanceA; pvRef: Pointer): BOOL; stdcall;
- {$EXTERNALSYM TDIEnumDevicesCallbackA}
- TDIEnumDevicesCallbackW = function (var lpddi: TDIDeviceInstanceW; pvRef: Pointer): BOOL; stdcall;
- {$EXTERNALSYM TDIEnumDevicesCallbackW}
- TDIEnumDevicesCallback = TDIEnumDevicesCallbackA;
- {$EXTERNALSYM TDIEnumDevicesCallback}
- TDIConfigureDevicesCallback = function (lpDDSTarget: IUnknown; pvRef: Pointer): BOOL; stdcall;
- const
- DIEDFL_ALLDEVICES = $00000000;
- {$EXTERNALSYM DIEDFL_ALLDEVICES}
- DIEDFL_ATTACHEDONLY = $00000001;
- {$EXTERNALSYM DIEDFL_ATTACHEDONLY}
- {$IFDEF DIRECTINPUT_VERSION_5} (* #if(DIRECTINPUT_VERSION >= 0x0500) *)
- DIEDFL_FORCEFEEDBACK = $00000100;
- {$EXTERNALSYM DIEDFL_FORCEFEEDBACK}
- {$ENDIF} (* DIRECTINPUT_VERSION >= 0x0500 *)
- {$IFDEF DIRECTINPUT_VERSION_5b} (* #if(DIRECTINPUT_VERSION >= 0x050a) *)
- DIEDFL_INCLUDEALIASES = $00010000;
- {$EXTERNALSYM DIEDFL_INCLUDEALIASES}
- DIEDFL_INCLUDEPHANTOMS = $00020000;
- {$EXTERNALSYM DIEDFL_INCLUDEPHANTOMS}
- {$ENDIF} (* DIRECTINPUT_VERSION >= 0x050a *)
- {$IFDEF DIRECTINPUT_VERSION_8} (* #if(DIRECTINPUT_VERSION >= 0x0800) *)
- DIEDFL_INCLUDEHIDDEN = $00040000;
- {$EXTERNALSYM DIEDFL_INCLUDEHIDDEN}
- {$ENDIF} (* DIRECTINPUT_VERSION >= 0x0800 *)
- {$IFDEF DIRECTINPUT_VERSION_8} (* #if(DIRECTINPUT_VERSION >= 0x0800) *)
- type
- TDIEnumDevicesBySemanticsCallbackA = function (var lpddi: TDIDeviceInstanceA; lpdid: IDirectInputDevice8A; dwFlags, dwRemaining: DWORD; pvRef: Pointer): BOOL; stdcall;
- {$EXTERNALSYM TDIEnumDevicesBySemanticsCallbackA}
- TDIEnumDevicesBySemanticsCallbackW = function (var lpddi: TDIDeviceInstanceW; lpdid: IDirectInputDevice8W; dwFlags, dwRemaining: DWORD; pvRef: Pointer): BOOL; stdcall;
- {$EXTERNALSYM TDIEnumDevicesBySemanticsCallbackW}
- TDIEnumDevicesBySemanticsCallback = TDIEnumDevicesBySemanticsCallbackA;
- {$EXTERNALSYM TDIEnumDevicesBySemanticsCallback}
- {$ENDIF} (* DIRECTINPUT_VERSION >= 0x0800 *)
- {$IFDEF DIRECTINPUT_VERSION_8} (* #if(DIRECTINPUT_VERSION >= 0x0800) *)
- const
- DIEDBS_MAPPEDPRI1 = $00000001;
- {$EXTERNALSYM DIEDBS_MAPPEDPRI1}
- DIEDBS_MAPPEDPRI2 = $00000002;
- {$EXTERNALSYM DIEDBS_MAPPEDPRI2}
- DIEDBS_RECENTDEVICE = $00000010;
- {$EXTERNALSYM DIEDBS_RECENTDEVICE}
- DIEDBS_NEWDEVICE = $00000020;
- {$EXTERNALSYM DIEDBS_NEWDEVICE}
- DIEDBSFL_ATTACHEDONLY = $00000000;
- {$EXTERNALSYM DIEDBSFL_ATTACHEDONLY}
- DIEDBSFL_THISUSER = $00000010;
- {$EXTERNALSYM DIEDBSFL_THISUSER}
- DIEDBSFL_FORCEFEEDBACK = DIEDFL_FORCEFEEDBACK;
- {$EXTERNALSYM DIEDBSFL_FORCEFEEDBACK}
- DIEDBSFL_AVAILABLEDEVICES = $00001000;
- {$EXTERNALSYM DIEDBSFL_AVAILABLEDEVICES}
- DIEDBSFL_MULTIMICEKEYBOARDS = $00002000;
- {$EXTERNALSYM DIEDBSFL_MULTIMICEKEYBOARDS}
- DIEDBSFL_NONGAMINGDEVICES = $00004000;
- {$EXTERNALSYM DIEDBSFL_NONGAMINGDEVICES}
- DIEDBSFL_VALID = $00007110;
- {$EXTERNALSYM DIEDBSFL_VALID}
- {$ENDIF} (* DIRECTINPUT_VERSION >= 0x0800 *)
- type
- {$EXTERNALSYM IDirectInputA}
- IDirectInputA = interface(IUnknown)
- [SID_IDirectInputA]
- (*** IDirectInputA methods ***)
- function CreateDevice(const rguid: TGUID; out lplpDirectInputDevice: IDirectInputDeviceA; pUnkOuter: IUnknown): HResult; stdcall;
- function EnumDevices(dwDevType: DWORD; lpCallback: TDIEnumDevicesCallbackA; pvRef: Pointer; dwFlags: DWORD): HResult; stdcall;
- function GetDeviceStatus(const rguidInstance: TGUID): HResult; stdcall;
- function RunControlPanel(hwndOwner: HWND; dwFlags: DWORD): HResult; stdcall;
- function Initialize(hinst: THandle; dwVersion: DWORD): HResult; stdcall;
- end;
- {$EXTERNALSYM IDirectInputW}
- IDirectInputW = interface(IUnknown)
- [SID_IDirectInputW]
- (*** IDirectInputW methods ***)
- function CreateDevice(const rguid: TGUID; out lplpDirectInputDevice: IDirectInputDeviceW; pUnkOuter: IUnknown): HResult; stdcall;
- function EnumDevices(dwDevType: DWORD; lpCallback: TDIEnumDevicesCallbackW; pvRef: Pointer; dwFlags: DWORD): HResult; stdcall;
- function GetDeviceStatus(const rguidInstance: TGUID): HResult; stdcall;
- function RunControlPanel(hwndOwner: HWND; dwFlags: DWORD): HResult; stdcall;
- function Initialize(hinst: THandle; dwVersion: DWORD): HResult; stdcall;
- end;
- {$EXTERNALSYM IDirectInput}
- IDirectInput = IDirectInputA;
- type
- IID_IDirectInput = IDirectInput;
- {$EXTERNALSYM IID_IDirectInput}
- type
- {$EXTERNALSYM IDirectInput2A}
- IDirectInput2A = interface(IDirectInputA)
- [SID_IDirectInput2A]
- (*** IDirectInput2A methods ***)
- function FindDevice(const rguidClass: TGUID; ptszName: PAnsiChar; out pguidInstance: TGUID): HResult; stdcall;
- end;
- {$EXTERNALSYM IDirectInput2W}
- IDirectInput2W = interface(IDirectInputW)
- [SID_IDirectInput2W]
- (*** IDirectInput2W methods ***)
- function FindDevice(const rguidClass: TGUID; ptszName: PWideChar; out pguidInstance: TGUID): HResult; stdcall;
- end;
- {$EXTERNALSYM IDirectInput2}
- IDirectInput2 = IDirectInput2A;
- type
- IID_IDirectInput2 = IDirectInput2;
- {$EXTERNALSYM IID_IDirectInput2}
- type
- {$EXTERNALSYM IDirectInput7A}
- IDirectInput7A = interface(IDirectInput2A)
- [SID_IDirectInput7A]
- (*** IDirectInput7A methods ***)
- function CreateDeviceEx(const rguid, riid: TGUID; out pvOut: Pointer; pUnkOuter: IUnknown) : HResult; stdcall;
- end;
- {$EXTERNALSYM IDirectInput7W}
- IDirectInput7W = interface(IDirectInput2W)
- [SID_IDirectInput7W]
- (*** IDirectInput7W methods ***)
- function CreateDeviceEx(const rguid, riid: TGUID; out pvOut: Pointer; pUnkOuter: IUnknown) : HResult; stdcall;
- end;
- {$EXTERNALSYM IDirectInput7}
- IDirectInput7 = IDirectInput7A;
- type
- IID_IDirectInput7 = IDirectInput7;
- {$EXTERNALSYM IID_IDirectInput7}
- {$IFDEF DIRECTINPUT_VERSION_8} (* #if(DIRECTINPUT_VERSION >= 0x0800) *)
- type
- {$EXTERNALSYM IDirectInput8A}
- IDirectInput8A = interface(IUnknown)
- [SID_IDirectInput8A]
- (*** IDirectInput8A methods ***)
- function CreateDevice(const rguid: TGUID; out lplpDirectInputDevice: IDirectInputDevice8A; pUnkOuter: IUnknown): HResult; stdcall;
- function EnumDevices(dwDevType: DWORD; lpCallback: TDIEnumDevicesCallbackA; pvRef: Pointer; dwFlags: DWORD): HResult; stdcall;
- function GetDeviceStatus(const rguidInstance: TGUID): HResult; stdcall;
- function RunControlPanel(hwndOwner: HWND; dwFlags: DWORD): HResult; stdcall;
- function Initialize(hinst: THandle; dwVersion: DWORD): HResult; stdcall;
- function FindDevice(const rguidClass: TGUID; ptszName: PAnsiChar; out pguidInstance: TGUID): HResult; stdcall;
- function EnumDevicesBySemantics(ptszUserName: PAnsiChar; const lpdiActionFormat: TDIActionFormatA; lpCallback: TDIEnumDevicesBySemanticsCallbackA; pvRef: Pointer; dwFlags: DWORD): HResult; stdcall;
- function ConfigureDevices(lpdiCallback: TDIConfigureDevicesCallback; const lpdiCDParams: TDIConfigureDevicesParamsA; dwFlags: DWORD; pvRefData: Pointer): HResult; stdcall;
- end;
- {$EXTERNALSYM IDirectInput8W}
- IDirectInput8W = interface(IUnknown)
- [SID_IDirectInput8W]
- (*** IDirectInput8W methods ***)
- function CreateDevice(const rguid: TGUID; out lplpDirectInputDevice: IDirectInputDevice8W; pUnkOuter: IUnknown): HResult; stdcall;
- function EnumDevices(dwDevType: DWORD; lpCallback: TDIEnumDevicesCallbackW; pvRef: Pointer; dwFlags: DWORD): HResult; stdcall;
- function GetDeviceStatus(const rguidInstance: TGUID): HResult; stdcall;
- function RunControlPanel(hwndOwner: HWND; dwFlags: DWORD): HResult; stdcall;
- function Initialize(hinst: THandle; dwVersion: DWORD): HResult; stdcall;
- function FindDevice(const rguidClass: TGUID; ptszName: PWideChar; out pguidInstance: TGUID): HResult; stdcall;
- function EnumDevicesBySemantics(ptszUserName: PWideChar; const lpdiActionFormat: TDIActionFormatW; lpCallback: TDIEnumDevicesBySemanticsCallbackW; pvRef: Pointer; dwFlags: DWORD): HResult; stdcall;
- function ConfigureDevices(lpdiCallback: TDIConfigureDevicesCallback; const lpdiCDParams: TDIConfigureDevicesParamsW; dwFlags: DWORD; pvRefData: Pointer): HResult; stdcall;
- end;
- {$EXTERNALSYM IDirectInput8}
- IDirectInput8 = IDirectInput8A;
- type
- IID_IDirectInput8 = IDirectInput8;
- {$EXTERNALSYM IID_IDirectInput8}
- {$ENDIF} (* DIRECTINPUT_VERSION >= 0x0800 *)
- const
- DirectInputDll = 'dinput.dll';
- DirectInput8Dll = 'dinput8.dll';
- function DirectInputLoaded: Boolean;
- function UnLoadDirectInput: Boolean;
- function LoadDirectInput: Boolean;
- {$IFDEF DIRECTINPUT_DYNAMIC_LINK}
- //{$IFDEF DIRECTINPUT_VERSION_8} (* #if(DIRECTINPUT_VERSION > 0x0700) *)
- var
- DirectInput8Create: function(hinst: THandle; dwVersion: Cardinal; const riidltf: TGUID; out ppvOut; punkOuter: IUnknown): HResult; stdcall;
- {$EXTERNALSYM DirectInput8Create}
- //{$ELSE}
- DirectInputCreateA: function(hinst: THandle; dwVersion: DWORD; out ppDI: IDirectInputA; punkOuter: IUnknown): HResult; stdcall;
- {$EXTERNALSYM DirectInputCreateA}
- DirectInputCreateW: function(hinst: THandle; dwVersion: DWORD; out ppDI: IDirectInputW; punkOuter: IUnknown): HResult; stdcall;
- {$EXTERNALSYM DirectInputCreateW}
- DirectInputCreate: function(hinst: THandle; dwVersion: DWORD; out ppDI: IDirectInput; punkOuter: IUnknown): HResult; stdcall;
- {$EXTERNALSYM DirectInputCreate}
- DirectInputCreateEx: function(hinst : THandle; dwVersion: DWORD; const riidltf: TGUID; out ppvOut; punkOuter: IUnknown): HResult; stdcall;
- {$EXTERNALSYM DirectInputCreateEx}
- //{$ENDIF} (* DIRECTINPUT_VERSION >= 0x0700 *)
- {$ELSE}
- //{$IFDEF DIRECTINPUT_VERSION_8} (* #if(DIRECTINPUT_VERSION > 0x0700) *)
- function DirectInput8Create(hinst: THandle; dwVersion: DWORD; const riidltf: TGUID; out ppvOut{: Pointer}; punkOuter: IUnknown): HResult; stdcall; external DirectInput8Dll;
- {$EXTERNALSYM DirectInput8Create}
- //{$ELSE}
- function DirectInputCreateA(hinst: THandle; dwVersion: DWORD; out ppDI: IDirectInputA; punkOuter: IUnknown): HResult; stdcall; external DirectInputDll name 'DirectInputCreateA';
- {$EXTERNALSYM DirectInputCreateA}
- function DirectInputCreateW(hinst: THandle; dwVersion: DWORD; out ppDI: IDirectInputW; punkOuter: IUnknown): HResult; stdcall; external DirectInputDll name 'DirectInputCreateW';
- {$EXTERNALSYM DirectInputCreateW}
- function DirectInputCreate(hinst: THandle; dwVersion: DWORD; out ppDI: IDirectInput; punkOuter: IUnknown): HResult; stdcall; external DirectInputDll name 'DirectInputCreateA';
- {$EXTERNALSYM DirectInputCreate}
- function DirectInputCreateEx(hinst: THandle; dwVersion: DWORD; const riidltf: TGUID; out ppvOut{: Pointer}; punkOuter: IUnknown): HResult; stdcall; external DirectInputDll;
- {$EXTERNALSYM DirectInputCreateEx}
- //{$ENDIF} (* DIRECTINPUT_VERSION >= 0x0700 *)
- {$ENDIF}
- (****************************************************************************
- *
- * Return Codes
- *
- ****************************************************************************)
- const
- (*
- * The operation completed successfully.
- *)
- DI_OK = S_OK;
- {$EXTERNALSYM DI_OK}
- (*
- * The device exists but is not currently attached.
- *)
- DI_NOTATTACHED = S_FALSE;
- {$EXTERNALSYM DI_NOTATTACHED}
- (*
- * The device buffer overflowed. Some input was lost.
- *)
- DI_BUFFEROVERFLOW = S_FALSE;
- {$EXTERNALSYM DI_BUFFEROVERFLOW}
- (*
- * The change in device properties had no effect.
- *)
- DI_PROPNOEFFECT = S_FALSE;
- {$EXTERNALSYM DI_PROPNOEFFECT}
- (*
- * The operation had no effect.
- *)
- DI_NOEFFECT = S_FALSE;
- {$EXTERNALSYM DI_NOEFFECT}
- (*
- * The device is a polled device. As a result, device buffering
- * will not collect any data and event notifications will not be
- * signalled until GetDeviceState is called.
- *)
- DI_POLLEDDEVICE = HRESULT($00000002);
- {$EXTERNALSYM DI_POLLEDDEVICE}
- (*
- * The parameters of the effect were successfully updated by
- * IDirectInputEffect::SetParameters, but the effect was not
- * downloaded because the device is not exclusively acquired
- * or because the DIEP_NODOWNLOAD flag was passed.
- *)
- DI_DOWNLOADSKIPPED = HRESULT($00000003);
- {$EXTERNALSYM DI_DOWNLOADSKIPPED}
- (*
- * The parameters of the effect were successfully updated by
- * IDirectInputEffect::SetParameters, but in order to change
- * the parameters, the effect needed to be restarted.
- *)
- DI_EFFECTRESTARTED = HRESULT($00000004);
- {$EXTERNALSYM DI_EFFECTRESTARTED}
- (*
- * The parameters of the effect were successfully updated by
- * IDirectInputEffect::SetParameters, but some of them were
- * beyond the capabilities of the device and were truncated.
- *)
- DI_TRUNCATED = HRESULT($00000008);
- {$EXTERNALSYM DI_TRUNCATED}
- (*
- * The settings have been successfully applied but could not be
- * persisted.
- *)
- DI_SETTINGSNOTSAVED = HRESULT($0000000B);
- {$EXTERNALSYM DI_SETTINGSNOTSAVED}
- (*
- * Equal to DI_EFFECTRESTARTED | DI_TRUNCATED.
- *)
- DI_TRUNCATEDANDRESTARTED = HRESULT($0000000C);
- {$EXTERNALSYM DI_TRUNCATEDANDRESTARTED}
- (*
- * A SUCCESS code indicating that settings cannot be modified.
- *)
- DI_WRITEPROTECT = HRESULT($00000013);
- {$EXTERNALSYM DI_WRITEPROTECT}
- SEVERITY_ERROR_FACILITY_WIN32 =
- HResult(SEVERITY_ERROR shl 31) or HResult(FACILITY_WIN32 shl 16);
- {$EXTERNALSYM SEVERITY_ERROR_FACILITY_WIN32}
- (*
- * The application requires a newer version of DirectInput.
- *)
- DIERR_OLDDIRECTINPUTVERSION = HRESULT(SEVERITY_ERROR_FACILITY_WIN32 or
- ERROR_OLD_WIN_VERSION);
- {$EXTERNALSYM DIERR_OLDDIRECTINPUTVERSION}
- (*
- * The application was written for an unsupported prerelease version
- * of DirectInput.
- *)
- DIERR_BETADIRECTINPUTVERSION = HRESULT(SEVERITY_ERROR_FACILITY_WIN32 or
- ERROR_RMODE_APP);
- {$EXTERNALSYM DIERR_BETADIRECTINPUTVERSION}
- (*
- * The object could not be created due to an incompatible driver version
- * or mismatched or incomplete driver components.
- *)
- DIERR_BADDRIVERVER = HRESULT(SEVERITY_ERROR_FACILITY_WIN32 or
- ERROR_BAD_DRIVER_LEVEL);
- {$EXTERNALSYM DIERR_BADDRIVERVER}
- (*
- * The device or device instance or effect is not registered with DirectInput.
- *)
- DIERR_DEVICENOTREG = REGDB_E_CLASSNOTREG;
- {$EXTERNALSYM DIERR_DEVICENOTREG}
- (*
- * The requested object does not exist.
- *)
- DIERR_NOTFOUND = HRESULT(SEVERITY_ERROR_FACILITY_WIN32 or
- ERROR_FILE_NOT_FOUND);
- {$EXTERNALSYM DIERR_NOTFOUND}
- (*
- * The requested object does not exist.
- *)
- DIERR_OBJECTNOTFOUND = HRESULT(SEVERITY_ERROR_FACILITY_WIN32 or
- ERROR_FILE_NOT_FOUND);
- {$EXTERNALSYM DIERR_OBJECTNOTFOUND}
- (*
- * An invalid parameter was passed to the returning function,
- * or the object was not in a state that admitted the function
- * to be called.
- *)
- DIERR_INVALIDPARAM = E_INVALIDARG;
- {$EXTERNALSYM DIERR_INVALIDPARAM}
- (*
- * The specified interface is not supported by the object
- *)
- DIERR_NOINTERFACE = E_NOINTERFACE;
- {$EXTERNALSYM DIERR_NOINTERFACE}
- (*
- * An undetermined error occured inside the DInput subsystem
- *)
- DIERR_GENERIC = E_FAIL;
- {$EXTERNALSYM DIERR_GENERIC}
- (*
- * The DInput subsystem couldn't allocate sufficient memory to complete the
- * caller's request.
- *)
- DIERR_OUTOFMEMORY = E_OUTOFMEMORY;
- {$EXTERNALSYM DIERR_OUTOFMEMORY}
- (*
- * The function called is not supported at this time
- *)
- DIERR_UNSUPPORTED = E_NOTIMPL;
- {$EXTERNALSYM DIERR_UNSUPPORTED}
- (*
- * This object has not been initialized
- *)
- DIERR_NOTINITIALIZED = HRESULT(SEVERITY_ERROR_FACILITY_WIN32 or
- ERROR_NOT_READY);
- {$EXTERNALSYM DIERR_NOTINITIALIZED}
- (*
- * This object is already initialized
- *)
- DIERR_ALREADYINITIALIZED = HRESULT(SEVERITY_ERROR_FACILITY_WIN32 or
- ERROR_ALREADY_INITIALIZED);
- {$EXTERNALSYM DIERR_ALREADYINITIALIZED}
- (*
- * This object does not support aggregation
- *)
- DIERR_NOAGGREGATION = CLASS_E_NOAGGREGATION;
- {$EXTERNALSYM DIERR_NOAGGREGATION}
- (*
- * Another app has a higher priority level, preventing this call from
- * succeeding.
- *)
- DIERR_OTHERAPPHASPRIO = E_ACCESSDENIED;
- {$EXTERNALSYM DIERR_OTHERAPPHASPRIO}
- (*
- * Access to the device has been lost. It must be re-acquired.
- *)
- DIERR_INPUTLOST = HRESULT(SEVERITY_ERROR_FACILITY_WIN32 or
- ERROR_READ_FAULT);
- {$EXTERNALSYM DIERR_INPUTLOST}
- (*
- * The operation cannot be performed while the device is acquired.
- *)
- DIERR_ACQUIRED = HRESULT(SEVERITY_ERROR_FACILITY_WIN32 or
- ERROR_BUSY);
- {$EXTERNALSYM DIERR_ACQUIRED}
- (*
- * The operation cannot be performed unless the device is acquired.
- *)
- DIERR_NOTACQUIRED = HRESULT(SEVERITY_ERROR_FACILITY_WIN32 or
- ERROR_INVALID_ACCESS);
- {$EXTERNALSYM DIERR_NOTACQUIRED}
- (*
- * The specified property cannot be changed.
- *)
- DIERR_READONLY = E_ACCESSDENIED;
- {$EXTERNALSYM DIERR_READONLY}
- (*
- * The device already has an event notification associated with it.
- *)
- DIERR_HANDLEEXISTS = E_ACCESSDENIED;
- {$EXTERNALSYM DIERR_HANDLEEXISTS}
- (*
- * Data is not yet available.
- *)
- E_PENDING = $8000000A;
- {$EXTERNALSYM E_PENDING}
- (*
- * Unable to IDirectInputJoyConfig_Acquire because the user
- * does not have sufficient privileges to change the joystick
- * configuration.
- *)
- DIERR_INSUFFICIENTPRIVS = $80040200;
- {$EXTERNALSYM DIERR_INSUFFICIENTPRIVS}
- (*
- * The device is full.
- *)
- DIERR_DEVICEFULL = $80040201;
- {$EXTERNALSYM DIERR_DEVICEFULL}
- (*
- * Not all the requested information fit into the buffer.
- *)
- DIERR_MOREDATA = $80040202;
- {$EXTERNALSYM DIERR_MOREDATA}
- (*
- * The effect is not downloaded.
- *)
- DIERR_NOTDOWNLOADED = $80040203;
- {$EXTERNALSYM DIERR_NOTDOWNLOADED}
- (*
- * The device cannot be reinitialized because there are still effects
- * attached to it.
- *)
- DIERR_HASEFFECTS = $80040204;
- {$EXTERNALSYM DIERR_HASEFFECTS}
- (*
- * The operation cannot be performed unless the device is acquired
- * in DISCL_EXCLUSIVE mode.
- *)
- DIERR_NOTEXCLUSIVEACQUIRED = $80040205;
- {$EXTERNALSYM DIERR_NOTEXCLUSIVEACQUIRED}
- (*
- * The effect could not be downloaded because essential information
- * is missing. For example, no axes have been associated with the
- * effect, or no type-specific information has been created.
- *)
- DIERR_INCOMPLETEEFFECT = $80040206;
- {$EXTERNALSYM DIERR_INCOMPLETEEFFECT}
- (*
- * Attempted to read buffered device data from a device that is
- * not buffered.
- *)
- DIERR_NOTBUFFERED = $80040207;
- {$EXTERNALSYM DIERR_NOTBUFFERED}
- (*
- * An attempt was made to modify parameters of an effect while it is
- * playing. Not all hardware devices support altering the parameters
- * of an effect while it is playing.
- *)
- DIERR_EFFECTPLAYING = $80040208;
- {$EXTERNALSYM DIERR_EFFECTPLAYING}
- (*
- * The operation could not be completed because the device is not
- * plugged in.
- *)
- DIERR_UNPLUGGED = $80040209;
- {$EXTERNALSYM DIERR_UNPLUGGED}
- (*
- * SendDeviceData failed because more information was requested
- * to be sent than can be sent to the device. Some devices have
- * restrictions on how much data can be sent to them. (For example,
- * there might be a limit on the number of buttons that can be
- * pressed at once.)
- *)
- DIERR_REPORTFULL = $8004020A;
- {$EXTERNALSYM DIERR_REPORTFULL}
- (*
- * A mapper file function failed because reading or writing the user or IHV
- * settings file failed.
- *)
- DIERR_MAPFILEFAIL = $8004020B;
- {$EXTERNALSYM DIERR_MAPFILEFAIL}
- (*--- DINPUT Mapper Definitions: New for Dx8 ---*)
- (*--- Keyboard
- Physical Keyboard Device ---*)
- DIKEYBOARD_ESCAPE = $81000401;
- {$EXTERNALSYM DIKEYBOARD_ESCAPE}
- DIKEYBOARD_1 = $81000402;
- {$EXTERNALSYM DIKEYBOARD_1}
- DIKEYBOARD_2 = $81000403;
- {$EXTERNALSYM DIKEYBOARD_2}
- DIKEYBOARD_3 = $81000404;
- {$EXTERNALSYM DIKEYBOARD_3}
- DIKEYBOARD_4 = $81000405;
- {$EXTERNALSYM DIKEYBOARD_4}
- DIKEYBOARD_5 = $81000406;
- {$EXTERNALSYM DIKEYBOARD_5}
- DIKEYBOARD_6 = $81000407;
- {$EXTERNALSYM DIKEYBOARD_6}
- DIKEYBOARD_7 = $81000408;
- {$EXTERNALSYM DIKEYBOARD_7}
- DIKEYBOARD_8 = $81000409;
- {$EXTERNALSYM DIKEYBOARD_8}
- DIKEYBOARD_9 = $8100040A;
- {$EXTERNALSYM DIKEYBOARD_9}
- DIKEYBOARD_0 = $8100040B;
- {$EXTERNALSYM DIKEYBOARD_0}
- DIKEYBOARD_MINUS = $8100040C; (* - on main keyboard *)
- {$EXTERNALSYM DIKEYBOARD_MINUS}
- DIKEYBOARD_EQUALS = $8100040D;
- {$EXTERNALSYM DIKEYBOARD_EQUALS}
- DIKEYBOARD_BACK = $8100040E; (* backspace *)
- {$EXTERNALSYM DIKEYBOARD_BACK}
- DIKEYBOARD_TAB = $8100040F;
- {$EXTERNALSYM DIKEYBOARD_TAB}
- DIKEYBOARD_Q = $81000410;
- {$EXTERNALSYM DIKEYBOARD_Q}
- DIKEYBOARD_W = $81000411;
- {$EXTERNALSYM DIKEYBOARD_W}
- DIKEYBOARD_E = $81000412;
- {$EXTERNALSYM DIKEYBOARD_E}
- DIKEYBOARD_R = $81000413;
- {$EXTERNALSYM DIKEYBOARD_R}
- DIKEYBOARD_T = $81000414;
- {$EXTERNALSYM DIKEYBOARD_T}
- DIKEYBOARD_Y = $81000415;
- {$EXTERNALSYM DIKEYBOARD_Y}
- DIKEYBOARD_U = $81000416;
- {$EXTERNALSYM DIKEYBOARD_U}
- DIKEYBOARD_I = $81000417;
- {$EXTERNALSYM DIKEYBOARD_I}
- DIKEYBOARD_O = $81000418;
- {$EXTERNALSYM DIKEYBOARD_O}
- DIKEYBOARD_P = $81000419;
- {$EXTERNALSYM DIKEYBOARD_P}
- DIKEYBOARD_LBRACKET = $8100041A;
- {$EXTERNALSYM DIKEYBOARD_LBRACKET}
- DIKEYBOARD_RBRACKET = $8100041B;
- {$EXTERNALSYM DIKEYBOARD_RBRACKET}
- DIKEYBOARD_RETURN = $8100041C; (* Enter on main keyboard *)
- {$EXTERNALSYM DIKEYBOARD_RETURN}
- DIKEYBOARD_LCONTROL = $8100041D;
- {$EXTERNALSYM DIKEYBOARD_LCONTROL}
- DIKEYBOARD_A = $8100041E;
- {$EXTERNALSYM DIKEYBOARD_A}
- DIKEYBOARD_S = $8100041F;
- {$EXTERNALSYM DIKEYBOARD_S}
- DIKEYBOARD_D = $81000420;
- {$EXTERNALSYM DIKEYBOARD_D}
- DIKEYBOARD_F = $81000421;
- {$EXTERNALSYM DIKEYBOARD_F}
- DIKEYBOARD_G = $81000422;
- {$EXTERNALSYM DIKEYBOARD_G}
- DIKEYBOARD_H = $81000423;
- {$EXTERNALSYM DIKEYBOARD_H}
- DIKEYBOARD_J = $81000424;
- {$EXTERNALSYM DIKEYBOARD_J}
- DIKEYBOARD_K = $81000425;
- {$EXTERNALSYM DIKEYBOARD_K}
- DIKEYBOARD_L = $81000426;
- {$EXTERNALSYM DIKEYBOARD_L}
- DIKEYBOARD_SEMICOLON = $81000427;
- {$EXTERNALSYM DIKEYBOARD_SEMICOLON}
- DIKEYBOARD_APOSTROPHE = $81000428;
- {$EXTERNALSYM DIKEYBOARD_APOSTROPHE}
- DIKEYBOARD_GRAVE = $81000429; (* accent grave *)
- {$EXTERNALSYM DIKEYBOARD_GRAVE}
- DIKEYBOARD_LSHIFT = $8100042A;
- {$EXTERNALSYM DIKEYBOARD_LSHIFT}
- DIKEYBOARD_BACKSLASH = $8100042B;
- {$EXTERNALSYM DIKEYBOARD_BACKSLASH}
- DIKEYBOARD_Z = $8100042C;
- {$EXTERNALSYM DIKEYBOARD_Z}
- DIKEYBOARD_X = $8100042D;
- {$EXTERNALSYM DIKEYBOARD_X}
- DIKEYBOARD_C = $8100042E;
- {$EXTERNALSYM DIKEYBOARD_C}
- DIKEYBOARD_V = $8100042F;
- {$EXTERNALSYM DIKEYBOARD_V}
- DIKEYBOARD_B = $81000430;
- {$EXTERNALSYM DIKEYBOARD_B}
- DIKEYBOARD_N = $81000431;
- {$EXTERNALSYM DIKEYBOARD_N}
- DIKEYBOARD_M = $81000432;
- {$EXTERNALSYM DIKEYBOARD_M}
- DIKEYBOARD_COMMA = $81000433;
- {$EXTERNALSYM DIKEYBOARD_COMMA}
- DIKEYBOARD_PERIOD = $81000434; (* . on main keyboard *)
- {$EXTERNALSYM DIKEYBOARD_PERIOD}
- DIKEYBOARD_SLASH = $81000435; (* / on main keyboard *)
- {$EXTERNALSYM DIKEYBOARD_SLASH}
- DIKEYBOARD_RSHIFT = $81000436;
- {$EXTERNALSYM DIKEYBOARD_RSHIFT}
- DIKEYBOARD_MULTIPLY = $81000437; (* * on numeric keypad *)
- {$EXTERNALSYM DIKEYBOARD_MULTIPLY}
- DIKEYBOARD_LMENU = $81000438; (* left Alt *)
- {$EXTERNALSYM DIKEYBOARD_LMENU}
- DIKEYBOARD_SPACE = $81000439;
- {$EXTERNALSYM DIKEYBOARD_SPACE}
- DIKEYBOARD_CAPITAL = $8100043A;
- {$EXTERNALSYM DIKEYBOARD_CAPITAL}
- DIKEYBOARD_F1 = $8100043B;
- {$EXTERNALSYM DIKEYBOARD_F1}
- DIKEYBOARD_F2 = $8100043C;
- {$EXTERNALSYM DIKEYBOARD_F2}
- DIKEYBOARD_F3 = $8100043D;
- {$EXTERNALSYM DIKEYBOARD_F3}
- DIKEYBOARD_F4 = $8100043E;
- {$EXTERNALSYM DIKEYBOARD_F4}
- DIKEYBOARD_F5 = $8100043F;
- {$EXTERNALSYM DIKEYBOARD_F5}
- DIKEYBOARD_F6 = $81000440;
- {$EXTERNALSYM DIKEYBOARD_F6}
- DIKEYBOARD_F7 = $81000441;
- {$EXTERNALSYM DIKEYBOARD_F7}
- DIKEYBOARD_F8 = $81000442;
- {$EXTERNALSYM DIKEYBOARD_F8}
- DIKEYBOARD_F9 = $81000443;
- {$EXTERNALSYM DIKEYBOARD_F9}
- DIKEYBOARD_F10 = $81000444;
- {$EXTERNALSYM DIKEYBOARD_F10}
- DIKEYBOARD_NUMLOCK = $81000445;
- {$EXTERNALSYM DIKEYBOARD_NUMLOCK}
- DIKEYBOARD_SCROLL = $81000446; (* Scroll Lock *)
- {$EXTERNALSYM DIKEYBOARD_SCROLL}
- DIKEYBOARD_NUMPAD7 = $81000447;
- {$EXTERNALSYM DIKEYBOARD_NUMPAD7}
- DIKEYBOARD_NUMPAD8 = $81000448;
- {$EXTERNALSYM DIKEYBOARD_NUMPAD8}
- DIKEYBOARD_NUMPAD9 = $81000449;
- {$EXTERNALSYM DIKEYBOARD_NUMPAD9}
- DIKEYBOARD_SUBTRACT = $8100044A; (* - on numeric keypad *)
- {$EXTERNALSYM DIKEYBOARD_SUBTRACT}
- DIKEYBOARD_NUMPAD4 = $8100044B;
- {$EXTERNALSYM DIKEYBOARD_NUMPAD4}
- DIKEYBOARD_NUMPAD5 = $8100044C;
- {$EXTERNALSYM DIKEYBOARD_NUMPAD5}
- DIKEYBOARD_NUMPAD6 = $8100044D;
- {$EXTERNALSYM DIKEYBOARD_NUMPAD6}
- DIKEYBOARD_ADD = $8100044E; (* + on numeric keypad *)
- {$EXTERNALSYM DIKEYBOARD_ADD}
- DIKEYBOARD_NUMPAD1 = $8100044F;
- {$EXTERNALSYM DIKEYBOARD_NUMPAD1}
- DIKEYBOARD_NUMPAD2 = $81000450;
- {$EXTERNALSYM DIKEYBOARD_NUMPAD2}
- DIKEYBOARD_NUMPAD3 = $81000451;
- {$EXTERNALSYM DIKEYBOARD_NUMPAD3}
- DIKEYBOARD_NUMPAD0 = $81000452;
- {$EXTERNALSYM DIKEYBOARD_NUMPAD0}
- DIKEYBOARD_DECIMAL = $81000453; (* . on numeric keypad *)
- {$EXTERNALSYM DIKEYBOARD_DECIMAL}
- DIKEYBOARD_OEM_102 = $81000456; (* <> or | on RT 102-key keyboard (Non-U.S.) *)
- {$EXTERNALSYM DIKEYBOARD_OEM_102}
- DIKEYBOARD_F11 = $81000457;
- {$EXTERNALSYM DIKEYBOARD_F11}
- DIKEYBOARD_F12 = $81000458;
- {$EXTERNALSYM DIKEYBOARD_F12}
- DIKEYBOARD_F13 = $81000464; (* (NEC PC98) *)
- {$EXTERNALSYM DIKEYBOARD_F13}
- DIKEYBOARD_F14 = $81000465; (* (NEC PC98) *)
- {$EXTERNALSYM DIKEYBOARD_F14}
- DIKEYBOARD_F15 = $81000466; (* (NEC PC98) *)
- {$EXTERNALSYM DIKEYBOARD_F15}
- DIKEYBOARD_KANA = $81000470; (* (Japanese keyboard) *)
- {$EXTERNALSYM DIKEYBOARD_KANA}
- DIKEYBOARD_ABNT_C1 = $81000473; (* /? on Brazilian keyboard *)
- {$EXTERNALSYM DIKEYBOARD_ABNT_C1}
- DIKEYBOARD_CONVERT = $81000479; (* (Japanese keyboard) *)
- {$EXTERNALSYM DIKEYBOARD_CONVERT}
- DIKEYBOARD_NOCONVERT = $8100047B; (* (Japanese keyboard) *)
- {$EXTERNALSYM DIKEYBOARD_NOCONVERT}
- DIKEYBOARD_YEN = $8100047D; (* (Japanese keyboard) *)
- {$EXTERNALSYM DIKEYBOARD_YEN}
- DIKEYBOARD_ABNT_C2 = $8100047E; (* Numpad . on Brazilian keyboard *)
- {$EXTERNALSYM DIKEYBOARD_ABNT_C2}
- DIKEYBOARD_NUMPADEQUALS = $8100048D; (* = on numeric keypad (NEC PC98) *)
- {$EXTERNALSYM DIKEYBOARD_NUMPADEQUALS}
- DIKEYBOARD_PREVTRACK = $81000490; (* Previous Track (DIK_CIRCUMFLEX on Japanese keyboard) *)
- {$EXTERNALSYM DIKEYBOARD_PREVTRACK}
- DIKEYBOARD_AT = $81000491; (* (NEC PC98) *)
- {$EXTERNALSYM DIKEYBOARD_AT}
- DIKEYBOARD_COLON = $81000492; (* (NEC PC98) *)
- {$EXTERNALSYM DIKEYBOARD_COLON}
- DIKEYBOARD_UNDERLINE = $81000493; (* (NEC PC98) *)
- {$EXTERNALSYM DIKEYBOARD_UNDERLINE}
- DIKEYBOARD_KANJI = $81000494; (* (Japanese keyboard) *)
- {$EXTERNALSYM DIKEYBOARD_KANJI}
- DIKEYBOARD_STOP = $81000495; (* (NEC PC98) *)
- {$EXTERNALSYM DIKEYBOARD_STOP}
- DIKEYBOARD_AX = $81000496; (* (Japan AX) *)
- {$EXTERNALSYM DIKEYBOARD_AX}
- DIKEYBOARD_UNLABELED = $81000497; (* (J3100) *)
- {$EXTERNALSYM DIKEYBOARD_UNLABELED}
- DIKEYBOARD_NEXTTRACK = $81000499; (* Next Track *)
- {$EXTERNALSYM DIKEYBOARD_NEXTTRACK}
- DIKEYBOARD_NUMPADENTER = $8100049C; (* Enter on numeric keypad *)
- {$EXTERNALSYM DIKEYBOARD_NUMPADENTER}
- DIKEYBOARD_RCONTROL = $8100049D;
- {$EXTERNALSYM DIKEYBOARD_RCONTROL}
- DIKEYBOARD_MUTE = $810004A0; (* Mute *)
- {$EXTERNALSYM DIKEYBOARD_MUTE}
- DIKEYBOARD_CALCULATOR = $810004A1; (* Calculator *)
- {$EXTERNALSYM DIKEYBOARD_CALCULATOR}
- DIKEYBOARD_PLAYPAUSE = $810004A2; (* Play / Pause *)
- {$EXTERNALSYM DIKEYBOARD_PLAYPAUSE}
- DIKEYBOARD_MEDIASTOP = $810004A4; (* Media Stop *)
- {$EXTERNALSYM DIKEYBOARD_MEDIASTOP}
- DIKEYBOARD_VOLUMEDOWN = $810004AE; (* Volume - *)
- {$EXTERNALSYM DIKEYBOARD_VOLUMEDOWN}
- DIKEYBOARD_VOLUMEUP = $810004B0; (* Volume + *)
- {$EXTERNALSYM DIKEYBOARD_VOLUMEUP}
- DIKEYBOARD_WEBHOME = $810004B2; (* Web home *)
- {$EXTERNALSYM DIKEYBOARD_WEBHOME}
- DIKEYBOARD_NUMPADCOMMA = $810004B3; (* , on numeric keypad (NEC PC98) *)
- {$EXTERNALSYM DIKEYBOARD_NUMPADCOMMA}
- DIKEYBOARD_DIVIDE = $810004B5; (* / on numeric keypad *)
- {$EXTERNALSYM DIKEYBOARD_DIVIDE}
- DIKEYBOARD_SYSRQ = $810004B7;
- {$EXTERNALSYM DIKEYBOARD_SYSRQ}
- DIKEYBOARD_RMENU = $810004B8; (* right Alt *)
- {$EXTERNALSYM DIKEYBOARD_RMENU}
- DIKEYBOARD_PAUSE = $810004C5; (* Pause *)
- {$EXTERNALSYM DIKEYBOARD_PAUSE}
- DIKEYBOARD_HOME = $810004C7; (* Home on arrow keypad *)
- {$EXTERNALSYM DIKEYBOARD_HOME}
- DIKEYBOARD_UP = $810004C8; (* UpArrow on arrow keypad *)
- {$EXTERNALSYM DIKEYBOARD_UP}
- DIKEYBOARD_PRIOR = $810004C9; (* PgUp on arrow keypad *)
- {$EXTERNALSYM DIKEYBOARD_PRIOR}
- DIKEYBOARD_LEFT = $810004CB; (* LeftArrow on arrow keypad *)
- {$EXTERNALSYM DIKEYBOARD_LEFT}
- DIKEYBOARD_RIGHT = $810004CD; (* RightArrow on arrow keypad *)
- {$EXTERNALSYM DIKEYBOARD_RIGHT}
- DIKEYBOARD_END = $810004CF; (* End on arrow keypad *)
- {$EXTERNALSYM DIKEYBOARD_END}
- DIKEYBOARD_DOWN = $810004D0; (* DownArrow on arrow keypad *)
- {$EXTERNALSYM DIKEYBOARD_DOWN}
- DIKEYBOARD_NEXT = $810004D1; (* PgDn on arrow keypad *)
- {$EXTERNALSYM DIKEYBOARD_NEXT}
- DIKEYBOARD_INSERT = $810004D2; (* Insert on arrow keypad *)
- {$EXTERNALSYM DIKEYBOARD_INSERT}
- DIKEYBOARD_DELETE = $810004D3; (* Delete on arrow keypad *)
- {$EXTERNALSYM DIKEYBOARD_DELETE}
- DIKEYBOARD_LWIN = $810004DB; (* Left Windows key *)
- {$EXTERNALSYM DIKEYBOARD_LWIN}
- DIKEYBOARD_RWIN = $810004DC; (* Right Windows key *)
- {$EXTERNALSYM DIKEYBOARD_RWIN}
- DIKEYBOARD_APPS = $810004DD; (* AppMenu key *)
- {$EXTERNALSYM DIKEYBOARD_APPS}
- DIKEYBOARD_POWER = $810004DE; (* System Power *)
- {$EXTERNALSYM DIKEYBOARD_POWER}
- DIKEYBOARD_SLEEP = $810004DF; (* System Sleep *)
- {$EXTERNALSYM DIKEYBOARD_SLEEP}
- DIKEYBOARD_WAKE = $810004E3; (* System Wake *)
- {$EXTERNALSYM DIKEYBOARD_WAKE}
- DIKEYBOARD_WEBSEARCH = $810004E5; (* Web Search *)
- {$EXTERNALSYM DIKEYBOARD_WEBSEARCH}
- DIKEYBOARD_WEBFAVORITES = $810004E6; (* Web Favorites *)
- {$EXTERNALSYM DIKEYBOARD_WEBFAVORITES}
- DIKEYBOARD_WEBREFRESH = $810004E7; (* Web Refresh *)
- {$EXTERNALSYM DIKEYBOARD_WEBREFRESH}
- DIKEYBOARD_WEBSTOP = $810004E8; (* Web Stop *)
- {$EXTERNALSYM DIKEYBOARD_WEBSTOP}
- DIKEYBOARD_WEBFORWARD = $810004E9; (* Web Forward *)
- {$EXTERNALSYM DIKEYBOARD_WEBFORWARD}
- DIKEYBOARD_WEBBACK = $810004EA; (* Web Back *)
- {$EXTERNALSYM DIKEYBOARD_WEBBACK}
- DIKEYBOARD_MYCOMPUTER = $810004EB; (* My Computer *)
- {$EXTERNALSYM DIKEYBOARD_MYCOMPUTER}
- DIKEYBOARD_MAIL = $810004EC; (* Mail *)
- {$EXTERNALSYM DIKEYBOARD_MAIL}
- DIKEYBOARD_MEDIASELECT = $810004ED; (* Media Select *)
- {$EXTERNALSYM DIKEYBOARD_MEDIASELECT}
- (*--- MOUSE
- Physical Mouse Device ---*)
- DIMOUSE_XAXISAB = ($82000200 or DIMOFS_X); (* X Axis-absolute: Some mice natively report absolute coordinates *)
- {$EXTERNALSYM DIMOUSE_XAXISAB}
- DIMOUSE_YAXISAB = ($82000200 or DIMOFS_Y); (* Y Axis-absolute: Some mice natively report absolute coordinates *)
- {$EXTERNALSYM DIMOUSE_YAXISAB}
- DIMOUSE_XAXIS = ($82000300 or DIMOFS_X); (* X Axis *)
- {$EXTERNALSYM DIMOUSE_XAXIS}
- DIMOUSE_YAXIS = ($82000300 or DIMOFS_Y); (* Y Axis *)
- {$EXTERNALSYM DIMOUSE_YAXIS}
- DIMOUSE_WHEEL = ($82000300 or DIMOFS_Z); (* Z Axis *)
- {$EXTERNALSYM DIMOUSE_WHEEL}
- DIMOUSE_BUTTON0 = ($82000400 or DIMOFS_BUTTON0); (* Button 0 *)
- {$EXTERNALSYM DIMOUSE_BUTTON0}
- DIMOUSE_BUTTON1 = ($82000400 or DIMOFS_BUTTON1); (* Button 1 *)
- {$EXTERNALSYM DIMOUSE_BUTTON1}
- DIMOUSE_BUTTON2 = ($82000400 or DIMOFS_BUTTON2); (* Button 2 *)
- {$EXTERNALSYM DIMOUSE_BUTTON2}
- DIMOUSE_BUTTON3 = ($82000400 or DIMOFS_BUTTON3); (* Button 3 *)
- {$EXTERNALSYM DIMOUSE_BUTTON3}
- DIMOUSE_BUTTON4 = ($82000400 or DIMOFS_BUTTON4); (* Button 4 *)
- {$EXTERNALSYM DIMOUSE_BUTTON4}
- DIMOUSE_BUTTON5 = ($82000400 or DIMOFS_BUTTON5); (* Button 5 *)
- {$EXTERNALSYM DIMOUSE_BUTTON5}
- DIMOUSE_BUTTON6 = ($82000400 or DIMOFS_BUTTON6); (* Button 6 *)
- {$EXTERNALSYM DIMOUSE_BUTTON6}
- DIMOUSE_BUTTON7 = ($82000400 or DIMOFS_BUTTON7); (* Button 7 *)
- {$EXTERNALSYM DIMOUSE_BUTTON7}
- (*--- VOICE
- Physical Dplay Voice Device ---*)
- DIVOICE_CHANNEL1 = $83000401;
- {$EXTERNALSYM DIVOICE_CHANNEL1}
- DIVOICE_CHANNEL2 = $83000402;
- {$EXTERNALSYM DIVOICE_CHANNEL2}
- DIVOICE_CHANNEL3 = $83000403;
- {$EXTERNALSYM DIVOICE_CHANNEL3}
- DIVOICE_CHANNEL4 = $83000404;
- {$EXTERNALSYM DIVOICE_CHANNEL4}
- DIVOICE_CHANNEL5 = $83000405;
- {$EXTERNALSYM DIVOICE_CHANNEL5}
- DIVOICE_CHANNEL6 = $83000406;
- {$EXTERNALSYM DIVOICE_CHANNEL6}
- DIVOICE_CHANNEL7 = $83000407;
- {$EXTERNALSYM DIVOICE_CHANNEL7}
- DIVOICE_CHANNEL8 = $83000408;
- {$EXTERNALSYM DIVOICE_CHANNEL8}
- DIVOICE_TEAM = $83000409;
- {$EXTERNALSYM DIVOICE_TEAM}
- DIVOICE_ALL = $8300040A;
- {$EXTERNALSYM DIVOICE_ALL}
- DIVOICE_RECORDMUTE = $8300040B;
- {$EXTERNALSYM DIVOICE_RECORDMUTE}
- DIVOICE_PLAYBACKMUTE = $8300040C;
- {$EXTERNALSYM DIVOICE_PLAYBACKMUTE}
- DIVOICE_TRANSMIT = $8300040D;
- {$EXTERNALSYM DIVOICE_TRANSMIT}
- DIVOICE_VOICECOMMAND = $83000410;
- {$EXTERNALSYM DIVOICE_VOICECOMMAND}
- (*--- Driving Simulator - Racing
- Vehicle control is primary objective ---*)
- DIVIRTUAL_DRIVING_RACE = $01000000;
- {$EXTERNALSYM DIVIRTUAL_DRIVING_RACE}
- DIAXIS_DRIVINGR_STEER = $01008A01; (* Steering *)
- {$EXTERNALSYM DIAXIS_DRIVINGR_STEER}
- DIAXIS_DRIVINGR_ACCELERATE = $01039202; (* Accelerate *)
- {$EXTERNALSYM DIAXIS_DRIVINGR_ACCELERATE}
- DIAXIS_DRIVINGR_BRAKE = $01041203; (* Brake-Axis *)
- {$EXTERNALSYM DIAXIS_DRIVINGR_BRAKE}
- DIBUTTON_DRIVINGR_SHIFTUP = $01000C01; (* Shift to next higher gear *)
- {$EXTERNALSYM DIBUTTON_DRIVINGR_SHIFTUP}
- DIBUTTON_DRIVINGR_SHIFTDOWN = $01000C02; (* Shift to next lower gear *)
- {$EXTERNALSYM DIBUTTON_DRIVINGR_SHIFTDOWN}
- DIBUTTON_DRIVINGR_VIEW = $01001C03; (* Cycle through view options *)
- {$EXTERNALSYM DIBUTTON_DRIVINGR_VIEW}
- DIBUTTON_DRIVINGR_MENU = $010004FD; (* Show menu options *)
- {$EXTERNALSYM DIBUTTON_DRIVINGR_MENU}
- (*--- Priority 2 controls ---*)
- DIAXIS_DRIVINGR_ACCEL_AND_BRAKE = $01014A04; (* Some devices combine accelerate and brake in a single axis *)
- {$EXTERNALSYM DIAXIS_DRIVINGR_ACCEL_AND_BRAKE}
- DIHATSWITCH_DRIVINGR_GLANCE = $01004601; (* Look around *)
- {$EXTERNALSYM DIHATSWITCH_DRIVINGR_GLANCE}
- DIBUTTON_DRIVINGR_BRAKE = $01004C04; (* Brake-button *)
- {$EXTERNALSYM DIBUTTON_DRIVINGR_BRAKE}
- DIBUTTON_DRIVINGR_DASHBOARD = $01004405; (* Select next dashboard option *)
- {$EXTERNALSYM DIBUTTON_DRIVINGR_DASHBOARD}
- DIBUTTON_DRIVINGR_AIDS = $01004406; (* Driver correction aids *)
- {$EXTERNALSYM DIBUTTON_DRIVINGR_AIDS}
- DIBUTTON_DRIVINGR_MAP = $01004407; (* Display Driving Map *)
- {$EXTERNALSYM DIBUTTON_DRIVINGR_MAP}
- DIBUTTON_DRIVINGR_BOOST = $01004408; (* Turbo Boost *)
- {$EXTERNALSYM DIBUTTON_DRIVINGR_BOOST}
- DIBUTTON_DRIVINGR_PIT = $01004409; (* Pit stop notification *)
- {$EXTERNALSYM DIBUTTON_DRIVINGR_PIT}
- DIBUTTON_DRIVINGR_ACCELERATE_LINK = $0103D4E0; (* Fallback Accelerate button *)
- {$EXTERNALSYM DIBUTTON_DRIVINGR_ACCELERATE_LINK}
- DIBUTTON_DRIVINGR_STEER_LEFT_LINK = $0100CCE4; (* Fallback Steer Left button *)
- {$EXTERNALSYM DIBUTTON_DRIVINGR_STEER_LEFT_LINK}
- DIBUTTON_DRIVINGR_STEER_RIGHT_LINK = $0100CCEC; (* Fallback Steer Right button *)
- {$EXTERNALSYM DIBUTTON_DRIVINGR_STEER_RIGHT_LINK}
- DIBUTTON_DRIVINGR_GLANCE_LEFT_LINK = $0107C4E4; (* Fallback Glance Left button *)
- {$EXTERNALSYM DIBUTTON_DRIVINGR_GLANCE_LEFT_LINK}
- DIBUTTON_DRIVINGR_GLANCE_RIGHT_LINK = $0107C4EC; (* Fallback Glance Right button *)
- {$EXTERNALSYM DIBUTTON_DRIVINGR_GLANCE_RIGHT_LINK}
- DIBUTTON_DRIVINGR_DEVICE = $010044FE; (* Show input device and controls *)
- {$EXTERNALSYM DIBUTTON_DRIVINGR_DEVICE}
- DIBUTTON_DRIVINGR_PAUSE = $010044FC; (* Start / Pause / Restart game *)
- {$EXTERNALSYM DIBUTTON_DRIVINGR_PAUSE}
- (*--- Driving Simulator - Combat
- Combat from within a vehicle is primary objective ---*)
- DIVIRTUAL_DRIVING_COMBAT = $02000000;
- {$EXTERNALSYM DIVIRTUAL_DRIVING_COMBAT}
- DIAXIS_DRIVINGC_STEER = $02008A01; (* Steering *)
- {$EXTERNALSYM DIAXIS_DRIVINGC_STEER}
- DIAXIS_DRIVINGC_ACCELERATE = $02039202; (* Accelerate *)
- {$EXTERNALSYM DIAXIS_DRIVINGC_ACCELERATE}
- DIAXIS_DRIVINGC_BRAKE = $02041203; (* Brake-axis *)
- {$EXTERNALSYM DIAXIS_DRIVINGC_BRAKE}
- DIBUTTON_DRIVINGC_FIRE = $02000C01; (* Fire *)
- {$EXTERNALSYM DIBUTTON_DRIVINGC_FIRE}
- DIBUTTON_DRIVINGC_WEAPONS = $02000C02; (* Select next weapon *)
- {$EXTERNALSYM DIBUTTON_DRIVINGC_WEAPONS}
- DIBUTTON_DRIVINGC_TARGET = $02000C03; (* Select next available target *)
- {$EXTERNALSYM DIBUTTON_DRIVINGC_TARGET}
- DIBUTTON_DRIVINGC_MENU = $020004FD; (* Show menu options *)
- {$EXTERNALSYM DIBUTTON_DRIVINGC_MENU}
- (*--- Priority 2 controls ---*)
- DIAXIS_DRIVINGC_ACCEL_AND_BRAKE = $02014A04; (* Some devices combine accelerate and brake in a single axis *)
- {$EXTERNALSYM DIAXIS_DRIVINGC_ACCEL_AND_BRAKE}
- DIHATSWITCH_DRIVINGC_GLANCE = $02004601; (* Look around *)
- {$EXTERNALSYM DIHATSWITCH_DRIVINGC_GLANCE}
- DIBUTTON_DRIVINGC_SHIFTUP = $02004C04; (* Shift to next higher gear *)
- {$EXTERNALSYM DIBUTTON_DRIVINGC_SHIFTUP}
- DIBUTTON_DRIVINGC_SHIFTDOWN = $02004C05; (* Shift to next lower gear *)
- {$EXTERNALSYM DIBUTTON_DRIVINGC_SHIFTDOWN}
- DIBUTTON_DRIVINGC_DASHBOARD = $02004406; (* Select next dashboard option *)
- {$EXTERNALSYM DIBUTTON_DRIVINGC_DASHBOARD}
- DIBUTTON_DRIVINGC_AIDS = $02004407; (* Driver correction aids *)
- {$EXTERNALSYM DIBUTTON_DRIVINGC_AIDS}
- DIBUTTON_DRIVINGC_BRAKE = $02004C08; (* Brake-button *)
- {$EXTERNALSYM DIBUTTON_DRIVINGC_BRAKE}
- DIBUTTON_DRIVINGC_FIRESECONDARY = $02004C09; (* Alternative fire button *)
- {$EXTERNALSYM DIBUTTON_DRIVINGC_FIRESECONDARY}
- DIBUTTON_DRIVINGC_ACCELERATE_LINK = $0203D4E0; (* Fallback Accelerate button *)
- {$EXTERNALSYM DIBUTTON_DRIVINGC_ACCELERATE_LINK}
- DIBUTTON_DRIVINGC_STEER_LEFT_LINK = $0200CCE4; (* Fallback Steer Left button *)
- {$EXTERNALSYM DIBUTTON_DRIVINGC_STEER_LEFT_LINK}
- DIBUTTON_DRIVINGC_STEER_RIGHT_LINK = $0200CCEC; (* Fallback Steer Right button *)
- {$EXTERNALSYM DIBUTTON_DRIVINGC_STEER_RIGHT_LINK}
- DIBUTTON_DRIVINGC_GLANCE_LEFT_LINK = $0207C4E4; (* Fallback Glance Left button *)
- {$EXTERNALSYM DIBUTTON_DRIVINGC_GLANCE_LEFT_LINK}
- DIBUTTON_DRIVINGC_GLANCE_RIGHT_LINK = $0207C4EC; (* Fallback Glance Right button *)
- {$EXTERNALSYM DIBUTTON_DRIVINGC_GLANCE_RIGHT_LINK}
- DIBUTTON_DRIVINGC_DEVICE = $020044FE; (* Show input device and controls *)
- {$EXTERNALSYM DIBUTTON_DRIVINGC_DEVICE}
- DIBUTTON_DRIVINGC_PAUSE = $020044FC; (* Start / Pause / Restart game *)
- {$EXTERNALSYM DIBUTTON_DRIVINGC_PAUSE}
- (*--- Driving Simulator - Tank
- Combat from withing a tank is primary objective ---*)
- DIVIRTUAL_DRIVING_TANK = $03000000;
- {$EXTERNALSYM DIVIRTUAL_DRIVING_TANK}
- DIAXIS_DRIVINGT_STEER = $03008A01; (* Turn tank left / right *)
- {$EXTERNALSYM DIAXIS_DRIVINGT_STEER}
- DIAXIS_DRIVINGT_BARREL = $03010202; (* Raise / lower barrel *)
- {$EXTERNALSYM DIAXIS_DRIVINGT_BARREL}
- DIAXIS_DRIVINGT_ACCELERATE = $03039203; (* Accelerate *)
- {$EXTERNALSYM DIAXIS_DRIVINGT_ACCELERATE}
- DIAXIS_DRIVINGT_ROTATE = $03020204; (* Turn barrel left / right *)
- {$EXTERNALSYM DIAXIS_DRIVINGT_ROTATE}
- DIBUTTON_DRIVINGT_FIRE = $03000C01; (* Fire *)
- {$EXTERNALSYM DIBUTTON_DRIVINGT_FIRE}
- DIBUTTON_DRIVINGT_WEAPONS = $03000C02; (* Select next weapon *)
- {$EXTERNALSYM DIBUTTON_DRIVINGT_WEAPONS}
- DIBUTTON_DRIVINGT_TARGET = $03000C03; (* Selects next available target *)
- {$EXTERNALSYM DIBUTTON_DRIVINGT_TARGET}
- DIBUTTON_DRIVINGT_MENU = $030004FD; (* Show menu options *)
- {$EXTERNALSYM DIBUTTON_DRIVINGT_MENU}
- (*--- Priority 2 controls ---*)
- DIHATSWITCH_DRIVINGT_GLANCE = $03004601; (* Look around *)
- {$EXTERNALSYM DIHATSWITCH_DRIVINGT_GLANCE}
- DIAXIS_DRIVINGT_BRAKE = $03045205; (* Brake-axis *)
- {$EXTERNALSYM DIAXIS_DRIVINGT_BRAKE}
- DIAXIS_DRIVINGT_ACCEL_AND_BRAKE = $03014A06; (* Some devices combine accelerate and brake in a single axis *)
- {$EXTERNALSYM DIAXIS_DRIVINGT_ACCEL_AND_BRAKE}
- DIBUTTON_DRIVINGT_VIEW = $03005C04; (* Cycle through view options *)
- {$EXTERNALSYM DIBUTTON_DRIVINGT_VIEW}
- DIBUTTON_DRIVINGT_DASHBOARD = $03005C05; (* Select next dashboard option *)
- {$EXTERNALSYM DIBUTTON_DRIVINGT_DASHBOARD}
- DIBUTTON_DRIVINGT_BRAKE = $03004C06; (* Brake-button *)
- {$EXTERNALSYM DIBUTTON_DRIVINGT_BRAKE}
- DIBUTTON_DRIVINGT_FIRESECONDARY = $03004C07; (* Alternative fire button *)
- {$EXTERNALSYM DIBUTTON_DRIVINGT_FIRESECONDARY}
- DIBUTTON_DRIVINGT_ACCELERATE_LINK = $0303D4E0; (* Fallback Accelerate button *)
- {$EXTERNALSYM DIBUTTON_DRIVINGT_ACCELERATE_LINK}
- DIBUTTON_DRIVINGT_STEER_LEFT_LINK = $0300CCE4; (* Fallback Steer Left button *)
- {$EXTERNALSYM DIBUTTON_DRIVINGT_STEER_LEFT_LINK}
- DIBUTTON_DRIVINGT_STEER_RIGHT_LINK = $0300CCEC; (* Fallback Steer Right button *)
- {$EXTERNALSYM DIBUTTON_DRIVINGT_STEER_RIGHT_LINK}
- DIBUTTON_DRIVINGT_BARREL_UP_LINK = $030144E0; (* Fallback Barrel up button *)
- {$EXTERNALSYM DIBUTTON_DRIVINGT_BARREL_UP_LINK}
- DIBUTTON_DRIVINGT_BARREL_DOWN_LINK = $030144E8; (* Fallback Barrel down button *)
- {$EXTERNALSYM DIBUTTON_DRIVINGT_BARREL_DOWN_LINK}
- DIBUTTON_DRIVINGT_ROTATE_LEFT_LINK = $030244E4; (* Fallback Rotate left button *)
- {$EXTERNALSYM DIBUTTON_DRIVINGT_ROTATE_LEFT_LINK}
- DIBUTTON_DRIVINGT_ROTATE_RIGHT_LINK = $030244EC; (* Fallback Rotate right button *)
- {$EXTERNALSYM DIBUTTON_DRIVINGT_ROTATE_RIGHT_LINK}
- DIBUTTON_DRIVINGT_GLANCE_LEFT_LINK = $0307C4E4; (* Fallback Glance Left button *)
- {$EXTERNALSYM DIBUTTON_DRIVINGT_GLANCE_LEFT_LINK}
- DIBUTTON_DRIVINGT_GLANCE_RIGHT_LINK = $0307C4EC; (* Fallback Glance Right button *)
- {$EXTERNALSYM DIBUTTON_DRIVINGT_GLANCE_RIGHT_LINK}
- DIBUTTON_DRIVINGT_DEVICE = $030044FE; (* Show input device and controls *)
- {$EXTERNALSYM DIBUTTON_DRIVINGT_DEVICE}
- DIBUTTON_DRIVINGT_PAUSE = $030044FC; (* Start / Pause / Restart game *)
- {$EXTERNALSYM DIBUTTON_DRIVINGT_PAUSE}
- (*--- Flight Simulator - Civilian
- Plane control is the primary objective ---*)
- DIVIRTUAL_FLYING_CIVILIAN = $04000000;
- {$EXTERNALSYM DIVIRTUAL_FLYING_CIVILIAN}
- DIAXIS_FLYINGC_BANK = $04008A01; (* Roll ship left / right *)
- {$EXTERNALSYM DIAXIS_FLYINGC_BANK}
- DIAXIS_FLYINGC_PITCH = $04010A02; (* Nose up / down *)
- {$EXTERNALSYM DIAXIS_FLYINGC_PITCH}
- DIAXIS_FLYINGC_THROTTLE = $04039203; (* Throttle *)
- {$EXTERNALSYM DIAXIS_FLYINGC_THROTTLE}
- DIBUTTON_FLYINGC_VIEW = $04002401; (* Cycle through view options *)
- {$EXTERNALSYM DIBUTTON_FLYINGC_VIEW}
- DIBUTTON_FLYINGC_DISPLAY = $04002402; (* Select next dashboard / heads up display option *)
- {$EXTERNALSYM DIBUTTON_FLYINGC_DISPLAY}
- DIBUTTON_FLYINGC_GEAR = $04002C03; (* Gear up / down *)
- {$EXTERNALSYM DIBUTTON_FLYINGC_GEAR}
- DIBUTTON_FLYINGC_MENU = $040004FD; (* Show menu options *)
- {$EXTERNALSYM DIBUTTON_FLYINGC_MENU}
- (*--- Priority 2 controls ---*)
- DIHATSWITCH_FLYINGC_GLANCE = $04004601; (* Look around *)
- {$EXTERNALSYM DIHATSWITCH_FLYINGC_GLANCE}
- DIAXIS_FLYINGC_BRAKE = $04046A04; (* Apply Brake *)