diff --git a/basis/windows/dinput/dinput.factor b/basis/windows/dinput/dinput.factor old mode 100644 new mode 100755 index 0c75f43770..76cba4ff36 --- a/basis/windows/dinput/dinput.factor +++ b/basis/windows/dinput/dinput.factor @@ -1,5 +1,6 @@ USING: windows.kernel32 windows.ole32 windows.com windows.com.syntax -alien alien.c-types alien.syntax kernel system namespaces math ; +alien alien.c-types alien.syntax kernel system namespaces math constants +alias ; IN: windows.dinput << @@ -384,314 +385,314 @@ COM-INTERFACE: IDirectInput8W IUnknown {BF798031-483A-4DA2-AA99-5D64ED369700} FUNCTION: HRESULT DirectInput8Create ( HINSTANCE hinst, DWORD dwVersion, REFIID riidtlf, LPVOID* ppvOut, LPUNKNOWN punkOuter ) ; -: DIRECTINPUT_VERSION HEX: 0800 ; inline +CONSTANT: DIRECTINPUT_VERSION HEX: 0800 + +CONSTANT: DI8DEVCLASS_ALL 0 +CONSTANT: DI8DEVCLASS_DEVICE 1 +CONSTANT: DI8DEVCLASS_POINTER 2 +CONSTANT: DI8DEVCLASS_KEYBOARD 3 +CONSTANT: DI8DEVCLASS_GAMECTRL 4 -: DI8DEVCLASS_ALL 0 ; inline -: DI8DEVCLASS_DEVICE 1 ; inline -: DI8DEVCLASS_POINTER 2 ; inline -: DI8DEVCLASS_KEYBOARD 3 ; inline -: DI8DEVCLASS_GAMECTRL 4 ; inline +CONSTANT: DIEDFL_ALLDEVICES HEX: 00000000 +CONSTANT: DIEDFL_ATTACHEDONLY HEX: 00000001 +CONSTANT: DIEDFL_FORCEFEEDBACK HEX: 00000100 +CONSTANT: DIEDFL_INCLUDEALIASES HEX: 00010000 +CONSTANT: DIEDFL_INCLUDEPHANTOMS HEX: 00020000 +CONSTANT: DIEDFL_INCLUDEHIDDEN HEX: 00040000 + +CONSTANT: DIENUM_STOP 0 +CONSTANT: DIENUM_CONTINUE 1 -: DIEDFL_ALLDEVICES HEX: 00000000 ; inline -: DIEDFL_ATTACHEDONLY HEX: 00000001 ; inline -: DIEDFL_FORCEFEEDBACK HEX: 00000100 ; inline -: DIEDFL_INCLUDEALIASES HEX: 00010000 ; inline -: DIEDFL_INCLUDEPHANTOMS HEX: 00020000 ; inline -: DIEDFL_INCLUDEHIDDEN HEX: 00040000 ; inline +CONSTANT: DIDF_ABSAXIS 1 +CONSTANT: DIDF_RELAXIS 2 -: DIENUM_STOP 0 ; inline -: DIENUM_CONTINUE 1 ; inline - -: DIDF_ABSAXIS 1 ; -: DIDF_RELAXIS 2 ; - -: DIDFT_ALL HEX: 00000000 ; inline - -: DIDFT_RELAXIS HEX: 00000001 ; inline -: DIDFT_ABSAXIS HEX: 00000002 ; inline -: DIDFT_AXIS HEX: 00000003 ; inline - -: DIDFT_PSHBUTTON HEX: 00000004 ; inline -: DIDFT_TGLBUTTON HEX: 00000008 ; inline -: DIDFT_BUTTON HEX: 0000000C ; inline - -: DIDFT_POV HEX: 00000010 ; inline -: DIDFT_COLLECTION HEX: 00000040 ; inline -: DIDFT_NODATA HEX: 00000080 ; inline - -: DIDFT_ANYINSTANCE HEX: 00FFFF00 ; inline -: DIDFT_INSTANCEMASK DIDFT_ANYINSTANCE ; inline +CONSTANT: DIDFT_ALL HEX: 00000000 + +CONSTANT: DIDFT_RELAXIS HEX: 00000001 +CONSTANT: DIDFT_ABSAXIS HEX: 00000002 +CONSTANT: DIDFT_AXIS HEX: 00000003 + +CONSTANT: DIDFT_PSHBUTTON HEX: 00000004 +CONSTANT: DIDFT_TGLBUTTON HEX: 00000008 +CONSTANT: DIDFT_BUTTON HEX: 0000000C + +CONSTANT: DIDFT_POV HEX: 00000010 +CONSTANT: DIDFT_COLLECTION HEX: 00000040 +CONSTANT: DIDFT_NODATA HEX: 00000080 + +CONSTANT: DIDFT_ANYINSTANCE HEX: 00FFFF00 +ALIAS: DIDFT_INSTANCEMASK DIDFT_ANYINSTANCE : DIDFT_MAKEINSTANCE ( n -- instance ) 8 shift ; inline : DIDFT_GETTYPE ( n -- type ) HEX: FF bitand ; inline : DIDFT_GETINSTANCE ( n -- instance ) -8 shift HEX: FFFF bitand ; inline -: DIDFT_FFACTUATOR HEX: 01000000 ; inline -: DIDFT_FFEFFECTTRIGGER HEX: 02000000 ; inline -: DIDFT_OUTPUT HEX: 10000000 ; inline -: DIDFT_VENDORDEFINED HEX: 04000000 ; inline -: DIDFT_ALIAS HEX: 08000000 ; inline -: DIDFT_OPTIONAL HEX: 80000000 ; inline +CONSTANT: DIDFT_FFACTUATOR HEX: 01000000 +CONSTANT: DIDFT_FFEFFECTTRIGGER HEX: 02000000 +CONSTANT: DIDFT_OUTPUT HEX: 10000000 +CONSTANT: DIDFT_VENDORDEFINED HEX: 04000000 +CONSTANT: DIDFT_ALIAS HEX: 08000000 +CONSTANT: DIDFT_OPTIONAL HEX: 80000000 : DIDFT_ENUMCOLLECTION ( n -- instance ) 8 shift HEX: FFFF bitand ; inline -: DIDFT_NOCOLLECTION HEX: 00FFFF00 ; inline +CONSTANT: DIDFT_NOCOLLECTION HEX: 00FFFF00 -: DIDOI_FFACTUATOR HEX: 00000001 ; inline -: DIDOI_FFEFFECTTRIGGER HEX: 00000002 ; inline -: DIDOI_POLLED HEX: 00008000 ; inline -: DIDOI_ASPECTPOSITION HEX: 00000100 ; inline -: DIDOI_ASPECTVELOCITY HEX: 00000200 ; inline -: DIDOI_ASPECTACCEL HEX: 00000300 ; inline -: DIDOI_ASPECTFORCE HEX: 00000400 ; inline -: DIDOI_ASPECTMASK HEX: 00000F00 ; inline -: DIDOI_GUIDISUSAGE HEX: 00010000 ; inline +CONSTANT: DIDOI_FFACTUATOR HEX: 00000001 +CONSTANT: DIDOI_FFEFFECTTRIGGER HEX: 00000002 +CONSTANT: DIDOI_POLLED HEX: 00008000 +CONSTANT: DIDOI_ASPECTPOSITION HEX: 00000100 +CONSTANT: DIDOI_ASPECTVELOCITY HEX: 00000200 +CONSTANT: DIDOI_ASPECTACCEL HEX: 00000300 +CONSTANT: DIDOI_ASPECTFORCE HEX: 00000400 +CONSTANT: DIDOI_ASPECTMASK HEX: 00000F00 +CONSTANT: DIDOI_GUIDISUSAGE HEX: 00010000 -: DISCL_EXCLUSIVE HEX: 00000001 ; inline -: DISCL_NONEXCLUSIVE HEX: 00000002 ; inline -: DISCL_FOREGROUND HEX: 00000004 ; inline -: DISCL_BACKGROUND HEX: 00000008 ; inline -: DISCL_NOWINKEY HEX: 00000010 ; inline +CONSTANT: DISCL_EXCLUSIVE HEX: 00000001 +CONSTANT: DISCL_NONEXCLUSIVE HEX: 00000002 +CONSTANT: DISCL_FOREGROUND HEX: 00000004 +CONSTANT: DISCL_BACKGROUND HEX: 00000008 +CONSTANT: DISCL_NOWINKEY HEX: 00000010 -: DIK_ESCAPE HEX: 01 ; inline -: DIK_1 HEX: 02 ; inline -: DIK_2 HEX: 03 ; inline -: DIK_3 HEX: 04 ; inline -: DIK_4 HEX: 05 ; inline -: DIK_5 HEX: 06 ; inline -: DIK_6 HEX: 07 ; inline -: DIK_7 HEX: 08 ; inline -: DIK_8 HEX: 09 ; inline -: DIK_9 HEX: 0A ; inline -: DIK_0 HEX: 0B ; inline -: DIK_MINUS HEX: 0C ; inline -: DIK_EQUALS HEX: 0D ; inline -: DIK_BACK HEX: 0E ; inline -: DIK_TAB HEX: 0F ; inline -: DIK_Q HEX: 10 ; inline -: DIK_W HEX: 11 ; inline -: DIK_E HEX: 12 ; inline -: DIK_R HEX: 13 ; inline -: DIK_T HEX: 14 ; inline -: DIK_Y HEX: 15 ; inline -: DIK_U HEX: 16 ; inline -: DIK_I HEX: 17 ; inline -: DIK_O HEX: 18 ; inline -: DIK_P HEX: 19 ; inline -: DIK_LBRACKET HEX: 1A ; inline -: DIK_RBRACKET HEX: 1B ; inline -: DIK_RETURN HEX: 1C ; inline -: DIK_LCONTROL HEX: 1D ; inline -: DIK_A HEX: 1E ; inline -: DIK_S HEX: 1F ; inline -: DIK_D HEX: 20 ; inline -: DIK_F HEX: 21 ; inline -: DIK_G HEX: 22 ; inline -: DIK_H HEX: 23 ; inline -: DIK_J HEX: 24 ; inline -: DIK_K HEX: 25 ; inline -: DIK_L HEX: 26 ; inline -: DIK_SEMICOLON HEX: 27 ; inline -: DIK_APOSTROPHE HEX: 28 ; inline -: DIK_GRAVE HEX: 29 ; inline -: DIK_LSHIFT HEX: 2A ; inline -: DIK_BACKSLASH HEX: 2B ; inline -: DIK_Z HEX: 2C ; inline -: DIK_X HEX: 2D ; inline -: DIK_C HEX: 2E ; inline -: DIK_V HEX: 2F ; inline -: DIK_B HEX: 30 ; inline -: DIK_N HEX: 31 ; inline -: DIK_M HEX: 32 ; inline -: DIK_COMMA HEX: 33 ; inline -: DIK_PERIOD HEX: 34 ; inline -: DIK_SLASH HEX: 35 ; inline -: DIK_RSHIFT HEX: 36 ; inline -: DIK_MULTIPLY HEX: 37 ; inline -: DIK_LMENU HEX: 38 ; inline -: DIK_SPACE HEX: 39 ; inline -: DIK_CAPITAL HEX: 3A ; inline -: DIK_F1 HEX: 3B ; inline -: DIK_F2 HEX: 3C ; inline -: DIK_F3 HEX: 3D ; inline -: DIK_F4 HEX: 3E ; inline -: DIK_F5 HEX: 3F ; inline -: DIK_F6 HEX: 40 ; inline -: DIK_F7 HEX: 41 ; inline -: DIK_F8 HEX: 42 ; inline -: DIK_F9 HEX: 43 ; inline -: DIK_F10 HEX: 44 ; inline -: DIK_NUMLOCK HEX: 45 ; inline -: DIK_SCROLL HEX: 46 ; inline -: DIK_NUMPAD7 HEX: 47 ; inline -: DIK_NUMPAD8 HEX: 48 ; inline -: DIK_NUMPAD9 HEX: 49 ; inline -: DIK_SUBTRACT HEX: 4A ; inline -: DIK_NUMPAD4 HEX: 4B ; inline -: DIK_NUMPAD5 HEX: 4C ; inline -: DIK_NUMPAD6 HEX: 4D ; inline -: DIK_ADD HEX: 4E ; inline -: DIK_NUMPAD1 HEX: 4F ; inline -: DIK_NUMPAD2 HEX: 50 ; inline -: DIK_NUMPAD3 HEX: 51 ; inline -: DIK_NUMPAD0 HEX: 52 ; inline -: DIK_DECIMAL HEX: 53 ; inline -: DIK_OEM_102 HEX: 56 ; inline -: DIK_F11 HEX: 57 ; inline -: DIK_F12 HEX: 58 ; inline -: DIK_F13 HEX: 64 ; inline -: DIK_F14 HEX: 65 ; inline -: DIK_F15 HEX: 66 ; inline -: DIK_KANA HEX: 70 ; inline -: DIK_ABNT_C1 HEX: 73 ; inline -: DIK_CONVERT HEX: 79 ; inline -: DIK_NOCONVERT HEX: 7B ; inline -: DIK_YEN HEX: 7D ; inline -: DIK_ABNT_C2 HEX: 7E ; inline -: DIK_NUMPADEQUALS HEX: 8D ; inline -: DIK_PREVTRACK HEX: 90 ; inline -: DIK_AT HEX: 91 ; inline -: DIK_COLON HEX: 92 ; inline -: DIK_UNDERLINE HEX: 93 ; inline -: DIK_KANJI HEX: 94 ; inline -: DIK_STOP HEX: 95 ; inline -: DIK_AX HEX: 96 ; inline -: DIK_UNLABELED HEX: 97 ; inline -: DIK_NEXTTRACK HEX: 99 ; inline -: DIK_NUMPADENTER HEX: 9C ; inline -: DIK_RCONTROL HEX: 9D ; inline -: DIK_MUTE HEX: A0 ; inline -: DIK_CALCULATOR HEX: A1 ; inline -: DIK_PLAYPAUSE HEX: A2 ; inline -: DIK_MEDIASTOP HEX: A4 ; inline -: DIK_VOLUMEDOWN HEX: AE ; inline -: DIK_VOLUMEUP HEX: B0 ; inline -: DIK_WEBHOME HEX: B2 ; inline -: DIK_NUMPADCOMMA HEX: B3 ; inline -: DIK_DIVIDE HEX: B5 ; inline -: DIK_SYSRQ HEX: B7 ; inline -: DIK_RMENU HEX: B8 ; inline -: DIK_PAUSE HEX: C5 ; inline -: DIK_HOME HEX: C7 ; inline -: DIK_UP HEX: C8 ; inline -: DIK_PRIOR HEX: C9 ; inline -: DIK_LEFT HEX: CB ; inline -: DIK_RIGHT HEX: CD ; inline -: DIK_END HEX: CF ; inline -: DIK_DOWN HEX: D0 ; inline -: DIK_NEXT HEX: D1 ; inline -: DIK_INSERT HEX: D2 ; inline -: DIK_DELETE HEX: D3 ; inline -: DIK_LWIN HEX: DB ; inline -: DIK_RWIN HEX: DC ; inline -: DIK_APPS HEX: DD ; inline -: DIK_POWER HEX: DE ; inline -: DIK_SLEEP HEX: DF ; inline -: DIK_WAKE HEX: E3 ; inline -: DIK_WEBSEARCH HEX: E5 ; inline -: DIK_WEBFAVORITES HEX: E6 ; inline -: DIK_WEBREFRESH HEX: E7 ; inline -: DIK_WEBSTOP HEX: E8 ; inline -: DIK_WEBFORWARD HEX: E9 ; inline -: DIK_WEBBACK HEX: EA ; inline -: DIK_MYCOMPUTER HEX: EB ; inline -: DIK_MAIL HEX: EC ; inline -: DIK_MEDIASELECT HEX: ED ; inline +CONSTANT: DIK_ESCAPE HEX: 01 +CONSTANT: DIK_1 HEX: 02 +CONSTANT: DIK_2 HEX: 03 +CONSTANT: DIK_3 HEX: 04 +CONSTANT: DIK_4 HEX: 05 +CONSTANT: DIK_5 HEX: 06 +CONSTANT: DIK_6 HEX: 07 +CONSTANT: DIK_7 HEX: 08 +CONSTANT: DIK_8 HEX: 09 +CONSTANT: DIK_9 HEX: 0A +CONSTANT: DIK_0 HEX: 0B +CONSTANT: DIK_MINUS HEX: 0C +CONSTANT: DIK_EQUALS HEX: 0D +CONSTANT: DIK_BACK HEX: 0E +CONSTANT: DIK_TAB HEX: 0F +CONSTANT: DIK_Q HEX: 10 +CONSTANT: DIK_W HEX: 11 +CONSTANT: DIK_E HEX: 12 +CONSTANT: DIK_R HEX: 13 +CONSTANT: DIK_T HEX: 14 +CONSTANT: DIK_Y HEX: 15 +CONSTANT: DIK_U HEX: 16 +CONSTANT: DIK_I HEX: 17 +CONSTANT: DIK_O HEX: 18 +CONSTANT: DIK_P HEX: 19 +CONSTANT: DIK_LBRACKET HEX: 1A +CONSTANT: DIK_RBRACKET HEX: 1B +CONSTANT: DIK_RETURN HEX: 1C +CONSTANT: DIK_LCONTROL HEX: 1D +CONSTANT: DIK_A HEX: 1E +CONSTANT: DIK_S HEX: 1F +CONSTANT: DIK_D HEX: 20 +CONSTANT: DIK_F HEX: 21 +CONSTANT: DIK_G HEX: 22 +CONSTANT: DIK_H HEX: 23 +CONSTANT: DIK_J HEX: 24 +CONSTANT: DIK_K HEX: 25 +CONSTANT: DIK_L HEX: 26 +CONSTANT: DIK_SEMICOLON HEX: 27 +CONSTANT: DIK_APOSTROPHE HEX: 28 +CONSTANT: DIK_GRAVE HEX: 29 +CONSTANT: DIK_LSHIFT HEX: 2A +CONSTANT: DIK_BACKSLASH HEX: 2B +CONSTANT: DIK_Z HEX: 2C +CONSTANT: DIK_X HEX: 2D +CONSTANT: DIK_C HEX: 2E +CONSTANT: DIK_V HEX: 2F +CONSTANT: DIK_B HEX: 30 +CONSTANT: DIK_N HEX: 31 +CONSTANT: DIK_M HEX: 32 +CONSTANT: DIK_COMMA HEX: 33 +CONSTANT: DIK_PERIOD HEX: 34 +CONSTANT: DIK_SLASH HEX: 35 +CONSTANT: DIK_RSHIFT HEX: 36 +CONSTANT: DIK_MULTIPLY HEX: 37 +CONSTANT: DIK_LMENU HEX: 38 +CONSTANT: DIK_SPACE HEX: 39 +CONSTANT: DIK_CAPITAL HEX: 3A +CONSTANT: DIK_F1 HEX: 3B +CONSTANT: DIK_F2 HEX: 3C +CONSTANT: DIK_F3 HEX: 3D +CONSTANT: DIK_F4 HEX: 3E +CONSTANT: DIK_F5 HEX: 3F +CONSTANT: DIK_F6 HEX: 40 +CONSTANT: DIK_F7 HEX: 41 +CONSTANT: DIK_F8 HEX: 42 +CONSTANT: DIK_F9 HEX: 43 +CONSTANT: DIK_F10 HEX: 44 +CONSTANT: DIK_NUMLOCK HEX: 45 +CONSTANT: DIK_SCROLL HEX: 46 +CONSTANT: DIK_NUMPAD7 HEX: 47 +CONSTANT: DIK_NUMPAD8 HEX: 48 +CONSTANT: DIK_NUMPAD9 HEX: 49 +CONSTANT: DIK_SUBTRACT HEX: 4A +CONSTANT: DIK_NUMPAD4 HEX: 4B +CONSTANT: DIK_NUMPAD5 HEX: 4C +CONSTANT: DIK_NUMPAD6 HEX: 4D +CONSTANT: DIK_ADD HEX: 4E +CONSTANT: DIK_NUMPAD1 HEX: 4F +CONSTANT: DIK_NUMPAD2 HEX: 50 +CONSTANT: DIK_NUMPAD3 HEX: 51 +CONSTANT: DIK_NUMPAD0 HEX: 52 +CONSTANT: DIK_DECIMAL HEX: 53 +CONSTANT: DIK_OEM_102 HEX: 56 +CONSTANT: DIK_F11 HEX: 57 +CONSTANT: DIK_F12 HEX: 58 +CONSTANT: DIK_F13 HEX: 64 +CONSTANT: DIK_F14 HEX: 65 +CONSTANT: DIK_F15 HEX: 66 +CONSTANT: DIK_KANA HEX: 70 +CONSTANT: DIK_ABNT_C1 HEX: 73 +CONSTANT: DIK_CONVERT HEX: 79 +CONSTANT: DIK_NOCONVERT HEX: 7B +CONSTANT: DIK_YEN HEX: 7D +CONSTANT: DIK_ABNT_C2 HEX: 7E +CONSTANT: DIK_NUMPADEQUALS HEX: 8D +CONSTANT: DIK_PREVTRACK HEX: 90 +CONSTANT: DIK_AT HEX: 91 +CONSTANT: DIK_COLON HEX: 92 +CONSTANT: DIK_UNDERLINE HEX: 93 +CONSTANT: DIK_KANJI HEX: 94 +CONSTANT: DIK_STOP HEX: 95 +CONSTANT: DIK_AX HEX: 96 +CONSTANT: DIK_UNLABELED HEX: 97 +CONSTANT: DIK_NEXTTRACK HEX: 99 +CONSTANT: DIK_NUMPADENTER HEX: 9C +CONSTANT: DIK_RCONTROL HEX: 9D +CONSTANT: DIK_MUTE HEX: A0 +CONSTANT: DIK_CALCULATOR HEX: A1 +CONSTANT: DIK_PLAYPAUSE HEX: A2 +CONSTANT: DIK_MEDIASTOP HEX: A4 +CONSTANT: DIK_VOLUMEDOWN HEX: AE +CONSTANT: DIK_VOLUMEUP HEX: B0 +CONSTANT: DIK_WEBHOME HEX: B2 +CONSTANT: DIK_NUMPADCOMMA HEX: B3 +CONSTANT: DIK_DIVIDE HEX: B5 +CONSTANT: DIK_SYSRQ HEX: B7 +CONSTANT: DIK_RMENU HEX: B8 +CONSTANT: DIK_PAUSE HEX: C5 +CONSTANT: DIK_HOME HEX: C7 +CONSTANT: DIK_UP HEX: C8 +CONSTANT: DIK_PRIOR HEX: C9 +CONSTANT: DIK_LEFT HEX: CB +CONSTANT: DIK_RIGHT HEX: CD +CONSTANT: DIK_END HEX: CF +CONSTANT: DIK_DOWN HEX: D0 +CONSTANT: DIK_NEXT HEX: D1 +CONSTANT: DIK_INSERT HEX: D2 +CONSTANT: DIK_DELETE HEX: D3 +CONSTANT: DIK_LWIN HEX: DB +CONSTANT: DIK_RWIN HEX: DC +CONSTANT: DIK_APPS HEX: DD +CONSTANT: DIK_POWER HEX: DE +CONSTANT: DIK_SLEEP HEX: DF +CONSTANT: DIK_WAKE HEX: E3 +CONSTANT: DIK_WEBSEARCH HEX: E5 +CONSTANT: DIK_WEBFAVORITES HEX: E6 +CONSTANT: DIK_WEBREFRESH HEX: E7 +CONSTANT: DIK_WEBSTOP HEX: E8 +CONSTANT: DIK_WEBFORWARD HEX: E9 +CONSTANT: DIK_WEBBACK HEX: EA +CONSTANT: DIK_MYCOMPUTER HEX: EB +CONSTANT: DIK_MAIL HEX: EC +CONSTANT: DIK_MEDIASELECT HEX: ED -: DIK_BACKSPACE DIK_BACK ; inline -: DIK_NUMPADSTAR DIK_MULTIPLY ; inline -: DIK_LALT DIK_LMENU ; inline -: DIK_CAPSLOCK DIK_CAPITAL ; inline -: DIK_NUMPADMINUS DIK_SUBTRACT ; inline -: DIK_NUMPADPLUS DIK_ADD ; inline -: DIK_NUMPADPERIOD DIK_DECIMAL ; inline -: DIK_NUMPADSLASH DIK_DIVIDE ; inline -: DIK_RALT DIK_RMENU ; inline -: DIK_UPARROW DIK_UP ; inline -: DIK_PGUP DIK_PRIOR ; inline -: DIK_LEFTARROW DIK_LEFT ; inline -: DIK_RIGHTARROW DIK_RIGHT ; inline -: DIK_DOWNARROW DIK_DOWN ; inline -: DIK_PGDN DIK_NEXT ; inline +ALIAS: DIK_BACKSPACE DIK_BACK +ALIAS: DIK_NUMPADSTAR DIK_MULTIPLY +ALIAS: DIK_LALT DIK_LMENU +ALIAS: DIK_CAPSLOCK DIK_CAPITAL +ALIAS: DIK_NUMPADMINUS DIK_SUBTRACT +ALIAS: DIK_NUMPADPLUS DIK_ADD +ALIAS: DIK_NUMPADPERIOD DIK_DECIMAL +ALIAS: DIK_NUMPADSLASH DIK_DIVIDE +ALIAS: DIK_RALT DIK_RMENU +ALIAS: DIK_UPARROW DIK_UP +ALIAS: DIK_PGUP DIK_PRIOR +ALIAS: DIK_LEFTARROW DIK_LEFT +ALIAS: DIK_RIGHTARROW DIK_RIGHT +ALIAS: DIK_DOWNARROW DIK_DOWN +ALIAS: DIK_PGDN DIK_NEXT -: DIK_CIRCUMFLEX DIK_PREVTRACK ; inline +ALIAS: DIK_CIRCUMFLEX DIK_PREVTRACK -: DI8DEVTYPE_DEVICE HEX: 11 ; inline -: DI8DEVTYPE_MOUSE HEX: 12 ; inline -: DI8DEVTYPE_KEYBOARD HEX: 13 ; inline -: DI8DEVTYPE_JOYSTICK HEX: 14 ; inline -: DI8DEVTYPE_GAMEPAD HEX: 15 ; inline -: DI8DEVTYPE_DRIVING HEX: 16 ; inline -: DI8DEVTYPE_FLIGHT HEX: 17 ; inline -: DI8DEVTYPE_1STPERSON HEX: 18 ; inline -: DI8DEVTYPE_DEVICECTRL HEX: 19 ; inline -: DI8DEVTYPE_SCREENPOINTER HEX: 1A ; inline -: DI8DEVTYPE_REMOTE HEX: 1B ; inline -: DI8DEVTYPE_SUPPLEMENTAL HEX: 1C ; inline +CONSTANT: DI8DEVTYPE_DEVICE HEX: 11 +CONSTANT: DI8DEVTYPE_MOUSE HEX: 12 +CONSTANT: DI8DEVTYPE_KEYBOARD HEX: 13 +CONSTANT: DI8DEVTYPE_JOYSTICK HEX: 14 +CONSTANT: DI8DEVTYPE_GAMEPAD HEX: 15 +CONSTANT: DI8DEVTYPE_DRIVING HEX: 16 +CONSTANT: DI8DEVTYPE_FLIGHT HEX: 17 +CONSTANT: DI8DEVTYPE_1STPERSON HEX: 18 +CONSTANT: DI8DEVTYPE_DEVICECTRL HEX: 19 +CONSTANT: DI8DEVTYPE_SCREENPOINTER HEX: 1A +CONSTANT: DI8DEVTYPE_REMOTE HEX: 1B +CONSTANT: DI8DEVTYPE_SUPPLEMENTAL HEX: 1C : GET_DIDEVICE_TYPE ( dwType -- type ) HEX: FF bitand ; inline -: DIPROPRANGE_NOMIN HEX: 80000000 ; inline -: DIPROPRANGE_NOMAX HEX: 7FFFFFFF ; inline -: MAXCPOINTSNUM 8 ; inline - -: DIPH_DEVICE 0 ; inline -: DIPH_BYOFFSET 1 ; inline -: DIPH_BYID 2 ; inline -: DIPH_BYUSAGE 3 ; inline +CONSTANT: DIPROPRANGE_NOMIN HEX: 80000000 +CONSTANT: DIPROPRANGE_NOMAX HEX: 7FFFFFFF +CONSTANT: MAXCPOINTSNUM 8 +CONSTANT: DIPH_DEVICE 0 +CONSTANT: DIPH_BYOFFSET 1 +CONSTANT: DIPH_BYID 2 +CONSTANT: DIPH_BYUSAGE 3 + : DIMAKEUSAGEDWORD ( UsagePage Usage -- DWORD ) 16 shift bitor ; inline -: DIPROP_BUFFERSIZE 1 ; inline -: DIPROP_AXISMODE 2 ; inline +: DIPROP_BUFFERSIZE ( -- alien ) 1 ; inline +: DIPROP_AXISMODE ( -- alien ) 2 ; inline -: DIPROPAXISMODE_ABS 0 ; inline -: DIPROPAXISMODE_REL 1 ; inline +CONSTANT: DIPROPAXISMODE_ABS 0 +CONSTANT: DIPROPAXISMODE_REL 1 + +: DIPROP_GRANULARITY ( -- alien ) 3 ; inline +: DIPROP_RANGE ( -- alien ) 4 ; inline +: DIPROP_DEADZONE ( -- alien ) 5 ; inline +: DIPROP_SATURATION ( -- alien ) 6 ; inline +: DIPROP_FFGAIN ( -- alien ) 7 ; inline +: DIPROP_FFLOAD ( -- alien ) 8 ; inline +: DIPROP_AUTOCENTER ( -- alien ) 9 ; inline -: DIPROP_GRANULARITY 3 ; inline -: DIPROP_RANGE 4 ; inline -: DIPROP_DEADZONE 5 ; inline -: DIPROP_SATURATION 6 ; inline -: DIPROP_FFGAIN 7 ; inline -: DIPROP_FFLOAD 8 ; inline -: DIPROP_AUTOCENTER 9 ; inline +CONSTANT: DIPROPAUTOCENTER_OFF 0 +CONSTANT: DIPROPAUTOCENTER_ON 1 -: DIPROPAUTOCENTER_OFF 0 ; inline -: DIPROPAUTOCENTER_ON 1 ; inline +: DIPROP_CALIBRATIONMODE ( -- alien ) 10 ; inline -: DIPROP_CALIBRATIONMODE 10 ; inline +CONSTANT: DIPROPCALIBRATIONMODE_COOKED 0 +CONSTANT: DIPROPCALIBRATIONMODE_RAW 1 -: DIPROPCALIBRATIONMODE_COOKED 0 ; inline -: DIPROPCALIBRATIONMODE_RAW 1 ; inline +: DIPROP_CALIBRATION ( -- alien ) 11 ; inline +: DIPROP_GUIDANDPATH ( -- alien ) 12 ; inline +: DIPROP_INSTANCENAME ( -- alien ) 13 ; inline +: DIPROP_PRODUCTNAME ( -- alien ) 14 ; inline +: DIPROP_JOYSTICKID ( -- alien ) 15 ; inline +: DIPROP_GETPORTDISPLAYNAME ( -- alien ) 16 ; inline +: DIPROP_PHYSICALRANGE ( -- alien ) 18 ; inline +: DIPROP_LOGICALRANGE ( -- alien ) 19 ; inline +: DIPROP_KEYNAME ( -- alien ) 20 ; inline +: DIPROP_CPOINTS ( -- alien ) 21 ; inline +: DIPROP_APPDATA ( -- alien ) 22 ; inline +: DIPROP_SCANCODE ( -- alien ) 23 ; inline +: DIPROP_VIDPID ( -- alien ) 24 ; inline +: DIPROP_USERNAME ( -- alien ) 25 ; inline +: DIPROP_TYPENAME ( -- alien ) 26 ; inline -: DIPROP_CALIBRATION 11 ; inline -: DIPROP_GUIDANDPATH 12 ; inline -: DIPROP_INSTANCENAME 13 ; inline -: DIPROP_PRODUCTNAME 14 ; inline -: DIPROP_JOYSTICKID 15 ; inline -: DIPROP_GETPORTDISPLAYNAME 16 ; inline -: DIPROP_PHYSICALRANGE 18 ; inline -: DIPROP_LOGICALRANGE 19 ; inline -: DIPROP_KEYNAME 20 ; inline -: DIPROP_CPOINTS 21 ; inline -: DIPROP_APPDATA 22 ; inline -: DIPROP_SCANCODE 23 ; inline -: DIPROP_VIDPID 24 ; inline -: DIPROP_USERNAME 25 ; inline -: DIPROP_TYPENAME 26 ; inline - -: GUID_XAxis GUID: {A36D02E0-C9F3-11CF-BFC7-444553540000} ; inline -: GUID_YAxis GUID: {A36D02E1-C9F3-11CF-BFC7-444553540000} ; inline -: GUID_ZAxis GUID: {A36D02E2-C9F3-11CF-BFC7-444553540000} ; inline -: GUID_RxAxis GUID: {A36D02F4-C9F3-11CF-BFC7-444553540000} ; inline -: GUID_RyAxis GUID: {A36D02F5-C9F3-11CF-BFC7-444553540000} ; inline -: GUID_RzAxis GUID: {A36D02E3-C9F3-11CF-BFC7-444553540000} ; inline -: GUID_Slider GUID: {A36D02E4-C9F3-11CF-BFC7-444553540000} ; inline -: GUID_Button GUID: {A36D02F0-C9F3-11CF-BFC7-444553540000} ; inline -: GUID_Key GUID: {55728220-D33C-11CF-BFC7-444553540000} ; inline -: GUID_POV GUID: {A36D02F2-C9F3-11CF-BFC7-444553540000} ; inline -: GUID_Unknown GUID: {A36D02F3-C9F3-11CF-BFC7-444553540000} ; inline -: GUID_SysMouse GUID: {6F1D2B60-D5A0-11CF-BFC7-444553540000} ; inline -: GUID_SysKeyboard GUID: {6F1D2B61-D5A0-11CF-BFC7-444553540000} ; inline -: GUID_Joystick GUID: {6F1D2B70-D5A0-11CF-BFC7-444553540000} ; inline -: GUID_SysMouseEm GUID: {6F1D2B80-D5A0-11CF-BFC7-444553540000} ; inline -: GUID_SysMouseEm2 GUID: {6F1D2B81-D5A0-11CF-BFC7-444553540000} ; inline -: GUID_SysKeyboardEm GUID: {6F1D2B82-D5A0-11CF-BFC7-444553540000} ; inline -: GUID_SysKeyboardEm2 GUID: {6F1D2B83-D5A0-11CF-BFC7-444553540000} ; inline +CONSTANT: GUID_XAxis GUID: {A36D02E0-C9F3-11CF-BFC7-444553540000} +CONSTANT: GUID_YAxis GUID: {A36D02E1-C9F3-11CF-BFC7-444553540000} +CONSTANT: GUID_ZAxis GUID: {A36D02E2-C9F3-11CF-BFC7-444553540000} +CONSTANT: GUID_RxAxis GUID: {A36D02F4-C9F3-11CF-BFC7-444553540000} +CONSTANT: GUID_RyAxis GUID: {A36D02F5-C9F3-11CF-BFC7-444553540000} +CONSTANT: GUID_RzAxis GUID: {A36D02E3-C9F3-11CF-BFC7-444553540000} +CONSTANT: GUID_Slider GUID: {A36D02E4-C9F3-11CF-BFC7-444553540000} +CONSTANT: GUID_Button GUID: {A36D02F0-C9F3-11CF-BFC7-444553540000} +CONSTANT: GUID_Key GUID: {55728220-D33C-11CF-BFC7-444553540000} +CONSTANT: GUID_POV GUID: {A36D02F2-C9F3-11CF-BFC7-444553540000} +CONSTANT: GUID_Unknown GUID: {A36D02F3-C9F3-11CF-BFC7-444553540000} +CONSTANT: GUID_SysMouse GUID: {6F1D2B60-D5A0-11CF-BFC7-444553540000} +CONSTANT: GUID_SysKeyboard GUID: {6F1D2B61-D5A0-11CF-BFC7-444553540000} +CONSTANT: GUID_Joystick GUID: {6F1D2B70-D5A0-11CF-BFC7-444553540000} +CONSTANT: GUID_SysMouseEm GUID: {6F1D2B80-D5A0-11CF-BFC7-444553540000} +CONSTANT: GUID_SysMouseEm2 GUID: {6F1D2B81-D5A0-11CF-BFC7-444553540000} +CONSTANT: GUID_SysKeyboardEm GUID: {6F1D2B82-D5A0-11CF-BFC7-444553540000} +CONSTANT: GUID_SysKeyboardEm2 GUID: {6F1D2B83-D5A0-11CF-BFC7-444553540000}