1 /* 2 3 directx/dinput_private.h - DirectInput DATAFORMATs Definitions 4 5 Written by Filip Navara <xnavara@volny.cz> 6 7 This library is distributed in the hope that it will be useful, 8 but WITHOUT ANY WARRANTY; without even the implied warranty of 9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 10 11 */ 12 13 #ifndef _DINPUT_PRIVATE_H 14 #define _DINPUT_PRIVATE_H 15 16 #include <windows.h> 17 18 #define DIDOI_FFACTUATOR 0x00000001 19 #define DIDOI_FFEFFECTTRIGGER 0x00000002 20 #define DIDOI_POLLED 0x00008000 21 #define DIDOI_ASPECTPOSITION 0x00000100 22 #define DIDOI_ASPECTVELOCITY 0x00000200 23 #define DIDOI_ASPECTACCEL 0x00000300 24 #define DIDOI_ASPECTFORCE 0x00000400 25 #define DIDOI_ASPECTMASK 0x00000F00 26 #define DIDOI_GUIDISUSAGE 0x00010000 27 #define DIDF_ABSAXIS 0x00000001 28 #define DIDF_RELAXIS 0x00000002 29 #define DIDFT_RELAXIS 0x00000001 30 #define DIDFT_ABSAXIS 0x00000002 31 #define DIDFT_AXIS 0x00000003 32 #define DIDFT_PSHBUTTON 0x00000004 33 #define DIDFT_TGLBUTTON 0x00000008 34 #define DIDFT_BUTTON 0x0000000C 35 #define DIDFT_POV 0x00000010 36 #define DIDFT_COLLECTION 0x00000040 37 #define DIDFT_NODATA 0x00000080 38 #define DIDFT_ANYINSTANCE 0x00FFFF00 39 #define DIDFT_FFACTUATOR 0x01000000 40 #define DIDFT_FFEFFECTTRIGGER 0x02000000 41 #define DIDFT_OUTPUT 0x10000000 42 #define DIDFT_VENDORDEFINED 0x04000000 43 #define DIDFT_ALIAS 0x08000000 44 #define DIDFT_OPTIONAL 0x80000000 45 #define DIDFT_MAKEINSTANCE(n) ((WORD)(n) << 8) 46 47 typedef struct _DIOBJECTDATAFORMAT { 48 const GUID *pguid; 49 DWORD dwOfs; 50 DWORD dwType; 51 DWORD dwFlags; 52 } DIOBJECTDATAFORMAT, *LPDIOBJECTDATAFORMAT; 53 54 typedef struct _DIDATAFORMAT { 55 DWORD dwSize; 56 DWORD dwObjSize; 57 DWORD dwFlags; 58 DWORD dwDataSize; 59 DWORD dwNumObjs; 60 LPDIOBJECTDATAFORMAT rgodf; 61 } DIDATAFORMAT, *LPDIDATAFORMAT; 62 63 extern GUID GUID_XAxis; 64 extern GUID GUID_YAxis; 65 extern GUID GUID_ZAxis; 66 extern GUID GUID_RxAxis; 67 extern GUID GUID_RyAxis; 68 extern GUID GUID_RzAxis; 69 extern GUID GUID_Slider; 70 extern GUID GUID_Key; 71 extern GUID GUID_POV; 72 73 #if defined (__WATCOMC__) 74 #define ATTRIBUTE_TEXT_SECTION __based( __segname( "_CODE" ) ) 75 #elif defined (__GNUC__) 76 #define ATTRIBUTE_TEXT_SECTION __attribute__ ((section(".text"))) 77 #else 78 #define ATTRIBUTE_TEXT_SECTION 79 #endif 80 81 #endif 82