📄 directinput8.pas
字号:
DIK_E = $12;
DIK_R = $13;
DIK_T = $14;
DIK_Y = $15;
DIK_U = $16;
DIK_I = $17;
DIK_O = $18;
DIK_P = $19;
DIK_LBRACKET = $1A;
DIK_RBRACKET = $1B;
DIK_RETURN = $1C; (* Enter on main keyboard *)
DIK_LCONTROL = $1D;
DIK_A = $1E;
DIK_S = $1F;
DIK_D = $20;
DIK_F = $21;
DIK_G = $22;
DIK_H = $23;
DIK_J = $24;
DIK_K = $25;
DIK_L = $26;
DIK_SEMICOLON = $27;
DIK_APOSTROPHE = $28;
DIK_GRAVE = $29; (* accent grave *)
DIK_LSHIFT = $2A;
DIK_BACKSLASH = $2B;
DIK_Z = $2C;
DIK_X = $2D;
DIK_C = $2E;
DIK_V = $2F;
DIK_B = $30;
DIK_N = $31;
DIK_M = $32;
DIK_COMMA = $33;
DIK_PERIOD = $34; (* . on main keyboard *)
DIK_SLASH = $35; (* / on main keyboard *)
DIK_RSHIFT = $36;
DIK_MULTIPLY = $37; (* * on numeric keypad *)
DIK_LMENU = $38; (* left Alt *)
DIK_SPACE = $39;
DIK_CAPITAL = $3A;
DIK_F1 = $3B;
DIK_F2 = $3C;
DIK_F3 = $3D;
DIK_F4 = $3E;
DIK_F5 = $3F;
DIK_F6 = $40;
DIK_F7 = $41;
DIK_F8 = $42;
DIK_F9 = $43;
DIK_F10 = $44;
DIK_NUMLOCK = $45;
DIK_SCROLL = $46; (* Scroll Lock *)
DIK_NUMPAD7 = $47;
DIK_NUMPAD8 = $48;
DIK_NUMPAD9 = $49;
DIK_SUBTRACT = $4A; (* - on numeric keypad *)
DIK_NUMPAD4 = $4B;
DIK_NUMPAD5 = $4C;
DIK_NUMPAD6 = $4D;
DIK_ADD = $4E; (* + on numeric keypad *)
DIK_NUMPAD1 = $4F;
DIK_NUMPAD2 = $50;
DIK_NUMPAD3 = $51;
DIK_NUMPAD0 = $52;
DIK_DECIMAL = $53; (* . on numeric keypad *)
// $54 to $55 unassigned
DIK_OEM_102 = $56; (* <> or \ | on RT 102-key keyboard (Non-U.S.) *)
DIK_F11 = $57;
DIK_F12 = $58;
// $59 to $63 unassigned
DIK_F13 = $64; (* (NEC PC98) *)
DIK_F14 = $65; (* (NEC PC98) *)
DIK_F15 = $66; (* (NEC PC98) *)
// $67 to $6F unassigned
DIK_KANA = $70; (* (Japanese keyboard) *)
DIK_ABNT_C1 = $73; (* /? on Brazilian keyboard *)
// $74 to $78 unassigned
DIK_CONVERT = $79; (* (Japanese keyboard) *)
// $7A unassigned
DIK_NOCONVERT = $7B; (* (Japanese keyboard) *)
// $7C unassigned
DIK_YEN = $7D; (* (Japanese keyboard) *)
DIK_ABNT_C2 = $7E; (* Numpad . on Brazilian keyboard *)
// $7F to 8C unassigned
DIK_NUMPADEQUALS = $8D; (* = on numeric keypad (NEC PC98) *)
// $8E to $8F unassigned
DIK_CIRCUMFLEX = $90; (* (Japanese keyboard) *)
DIK_AT = $91; (* (NEC PC98) *)
DIK_COLON = $92; (* (NEC PC98) *)
DIK_UNDERLINE = $93; (* (NEC PC98) *)
DIK_KANJI = $94; (* (Japanese keyboard) *)
DIK_STOP = $95; (* (NEC PC98) *)
DIK_AX = $96; (* (Japan AX) *)
DIK_UNLABELED = $97; (* (J3100) *)
// $98 unassigned
DIK_NEXTTRACK = $99; (* Next Track *)
// $9A to $9D unassigned
DIK_NUMPADENTER = $9C; (* Enter on numeric keypad *)
DIK_RCONTROL = $9D;
// $9E to $9F unassigned
DIK_MUTE = $A0; (* Mute *)
DIK_CALCULATOR = $A1; (* Calculator *)
DIK_PLAYPAUSE = $A2; (* Play / Pause *)
DIK_MEDIASTOP = $A4; (* Media Stop *)
// $A5 to $AD unassigned
DIK_VOLUMEDOWN = $AE; (* Volume - *)
// $AF unassigned
DIK_VOLUMEUP = $B0; (* Volume + *)
// $B1 unassigned
DIK_WEBHOME = $B2; (* Web home *)
DIK_NUMPADCOMMA = $B3; (* , on numeric keypad (NEC PC98) *)
// $B4 unassigned
DIK_DIVIDE = $B5; (* / on numeric keypad *)
// $B6 unassigned
DIK_SYSRQ = $B7;
DIK_RMENU = $B8; (* right Alt *)
// $B9 to $C4 unassigned
DIK_PAUSE = $C5; (* Pause (watch out - not realiable on some kbds) *)
// $C6 unassigned
DIK_HOME = $C7; (* Home on arrow keypad *)
DIK_UP = $C8; (* UpArrow on arrow keypad *)
DIK_PRIOR = $C9; (* PgUp on arrow keypad *)
// $CA unassigned
DIK_LEFT = $CB; (* LeftArrow on arrow keypad *)
// $CC unassigned
DIK_RIGHT = $CD; (* RightArrow on arrow keypad *)
// $CE unassigned
DIK_END = $CF; (* End on arrow keypad *)
DIK_DOWN = $D0; (* DownArrow on arrow keypad *)
DIK_NEXT = $D1; (* PgDn on arrow keypad *)
DIK_INSERT = $D2; (* Insert on arrow keypad *)
DIK_DELETE = $D3; (* Delete on arrow keypad *)
DIK_LWIN = $DB; (* Left Windows key *)
DIK_RWIN = $DC; (* Right Windows key *)
DIK_APPS = $DD; (* AppMenu key *)
DIK_POWER = $DE;
DIK_SLEEP = $DF;
// $E0 to $E2 unassigned
DIK_WAKE = $E3; (* System Wake *)
// $E4 unassigned
DIK_WEBSEARCH = $E5; (* Web Search *)
DIK_WEBFAVORITES = $E6; (* Web Favorites *)
DIK_WEBREFRESH = $E7; (* Web Refresh *)
DIK_WEBSTOP = $E8; (* Web Stop *)
DIK_WEBFORWARD = $E9; (* Web Forward *)
DIK_WEBBACK = $EA; (* Web Back *)
DIK_MYCOMPUTER = $EB; (* My Computer *)
DIK_MAIL = $EC; (* Mail *)
DIK_MEDIASELECT = $ED; (* Media Select *)
(*
* Alternate names for keys, to facilitate transition from DOS.
*)
DIK_BACKSPACE = DIK_BACK; (* backspace *)
DIK_NUMPADSTAR = DIK_MULTIPLY; (* * on numeric keypad *)
DIK_LALT = DIK_LMENU; (* left Alt *)
DIK_CAPSLOCK = DIK_CAPITAL; (* CapsLock *)
DIK_NUMPADMINUS = DIK_SUBTRACT; (* - on numeric keypad *)
DIK_NUMPADPLUS = DIK_ADD; (* + on numeric keypad *)
DIK_NUMPADPERIOD = DIK_DECIMAL; (* . on numeric keypad *)
DIK_NUMPADSLASH = DIK_DIVIDE; (* / on numeric keypad *)
DIK_RALT = DIK_RMENU; (* right Alt *)
DIK_UPARROW = DIK_UP; (* UpArrow on arrow keypad *)
DIK_PGUP = DIK_PRIOR; (* PgUp on arrow keypad *)
DIK_LEFTARROW = DIK_LEFT; (* LeftArrow on arrow keypad *)
DIK_RIGHTARROW = DIK_RIGHT; (* RightArrow on arrow keypad *)
DIK_DOWNARROW = DIK_DOWN; (* DownArrow on arrow keypad *)
DIK_PGDN = DIK_NEXT; (* PgDn on arrow keypad *)
(*
* Alternate names for keys originally not used on US keyboards.
*)
DIK_PREVTRACK = DIK_CIRCUMFLEX; (* Japanese keyboard *)
DIJOFS_X =0;
DIJOFS_Y =4;
DIJOFS_Z =8;
DIJOFS_RX =12;
DIJOFS_RY =16;
DIJOFS_RZ =20;
DIJOFS_BUTTON_ = 48;
DIJOFS_BUTTON0 = DIJOFS_BUTTON_ + 0;
DIJOFS_BUTTON1 = DIJOFS_BUTTON_ + 1;
DIJOFS_BUTTON2 = DIJOFS_BUTTON_ + 2;
DIJOFS_BUTTON3 = DIJOFS_BUTTON_ + 3;
DIJOFS_BUTTON4 = DIJOFS_BUTTON_ + 4;
DIJOFS_BUTTON5 = DIJOFS_BUTTON_ + 5;
DIJOFS_BUTTON6 = DIJOFS_BUTTON_ + 6;
DIJOFS_BUTTON7 = DIJOFS_BUTTON_ + 7;
DIJOFS_BUTTON8 = DIJOFS_BUTTON_ + 8;
DIJOFS_BUTTON9 = DIJOFS_BUTTON_ + 9;
DIJOFS_BUTTON10 = DIJOFS_BUTTON_ + 10;
DIJOFS_BUTTON11 = DIJOFS_BUTTON_ + 11;
DIJOFS_BUTTON12 = DIJOFS_BUTTON_ + 12;
DIJOFS_BUTTON13 = DIJOFS_BUTTON_ + 13;
DIJOFS_BUTTON14 = DIJOFS_BUTTON_ + 14;
DIJOFS_BUTTON15 = DIJOFS_BUTTON_ + 15;
DIJOFS_BUTTON16 = DIJOFS_BUTTON_ + 16;
DIJOFS_BUTTON17 = DIJOFS_BUTTON_ + 17;
DIJOFS_BUTTON18 = DIJOFS_BUTTON_ + 18;
DIJOFS_BUTTON19 = DIJOFS_BUTTON_ + 19;
DIJOFS_BUTTON20 = DIJOFS_BUTTON_ + 20;
DIJOFS_BUTTON21 = DIJOFS_BUTTON_ + 21;
DIJOFS_BUTTON22 = DIJOFS_BUTTON_ + 22;
DIJOFS_BUTTON23 = DIJOFS_BUTTON_ + 23;
DIJOFS_BUTTON24 = DIJOFS_BUTTON_ + 24;
DIJOFS_BUTTON25 = DIJOFS_BUTTON_ + 25;
DIJOFS_BUTTON26 = DIJOFS_BUTTON_ + 26;
DIJOFS_BUTTON27 = DIJOFS_BUTTON_ + 27;
DIJOFS_BUTTON28 = DIJOFS_BUTTON_ + 28;
DIJOFS_BUTTON29 = DIJOFS_BUTTON_ + 29;
DIJOFS_BUTTON30 = DIJOFS_BUTTON_ + 30;
DIJOFS_BUTTON31 = DIJOFS_BUTTON_ + 31;
DIENUM_STOP = 0;
DIENUM_CONTINUE = 1;
DIEDFL_ALLDEVICES = $00000000;
DIEDFL_ATTACHEDONLY = $00000001;
DIEDFL_FORCEFEEDBACK = $00000100;
DIEDFL_INCLUDEALIASES = $00010000;
DIEDFL_INCLUDEPHANTOMS = $00020000;
DIEDFL_INCLUDEHIDDEN = $00040000;
DIEDBS_MAPPEDPRI1 = $00000001;
DIEDBS_MAPPEDPRI2 = $00000002;
DIEDBS_RECENTDEVICE = $00000010;
DIEDBS_NEWDEVICE = $00000020;
DIEDBSFL_ATTACHEDONLY = $00000000;
DIEDBSFL_THISUSER = $00000010;
DIEDBSFL_FORCEFEEDBACK = DIEDFL_FORCEFEEDBACK;
DIEDBSFL_AVAILABLEDEVICES = $00001000;
DIEDBSFL_MULTIMICEKEYBOARDS = $00002000;
DIEDBSFL_NONGAMINGDEVICES = $00004000;
DIEDBSFL_VALID = $00007110;
(****************************************************************************
*
* Return Codes
*
****************************************************************************)
(*
* The operation completed successfully.
*)
DI_OK = S_OK;
(*
* The device exists but is not currently attached.
*)
DI_NOTATTACHED = S_FALSE;
(*
* The device buffer overflowed. Some input was lost.
*)
DI_BUFFEROVERFLOW = S_FALSE;
(*
* The change in device properties had no effect.
*)
DI_PROPNOEFFECT = S_FALSE;
(*
* The operation had no effect.
*)
DI_NOEFFECT = S_FALSE;
(*
* 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 = $00000002;
(*
* 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 = $00000003;
(*
* 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 = $00000004;
(*
* 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 = $00000008;
(*
* The settings have been successfully applied but could not be
* persisted.
*)
DI_SETTINGSNOTSAVED = $0000000B;
(*
* Equal to DI_EFFECTRESTARTED | DI_TRUNCATED.
*)
DI_TRUNCATEDANDRESTARTED = $0000000C;
SEVERITY_ERROR_FACILITY_WIN32 =
HResult(SEVERITY_ERROR shl 31) or HResult(FACILITY_WIN32 shl 16);
(*
* The application requires a newer version of DirectInput.
*)
DIERR_OLDDIRECTINPUTVERSION = SEVERITY_ERROR_FACILITY_WIN32
or ERROR_OLD_WIN_VERSION;
(*
* The application was written for an unsupported prerelease version
* of DirectInput.
*)
DIERR_BETADIRECTINPUTVERSION = SEVERITY_ERROR_FACILITY_WIN32
or ERROR_RMODE_APP;
(*
* The object could not be created due to an incompatible driver version
* or mismatched or incomplete driver components.
*)
DIERR_BADDRIVERVER = SEVERITY_ERROR_FACILITY_WIN32
or ERROR_BAD_DRI
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -