master
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
47typedef struct _DIOBJECTDATAFORMAT {
48 const GUID *pguid;
49 DWORD dwOfs;
50 DWORD dwType;
51 DWORD dwFlags;
52} DIOBJECTDATAFORMAT, *LPDIOBJECTDATAFORMAT;
53
54typedef struct _DIDATAFORMAT {
55 DWORD dwSize;
56 DWORD dwObjSize;
57 DWORD dwFlags;
58 DWORD dwDataSize;
59 DWORD dwNumObjs;
60 LPDIOBJECTDATAFORMAT rgodf;
61} DIDATAFORMAT, *LPDIDATAFORMAT;
62
63extern GUID GUID_XAxis;
64extern GUID GUID_YAxis;
65extern GUID GUID_ZAxis;
66extern GUID GUID_RxAxis;
67extern GUID GUID_RyAxis;
68extern GUID GUID_RzAxis;
69extern GUID GUID_Slider;
70extern GUID GUID_Key;
71extern 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