Devices ----------------- --- name: Microsoft SideWinder Force Feedback Wheel (USB) prodName: Microsoft SideWinder Force Feedback Wheel (USB) size: 244 guidId: {19d11540-b050-11e0-8002-444553540000} guidProd: {19d11540-b050-11e0-8002-444553540000} type: 16 sub: 3 guidFF: {19d11540-b050-11e0-8002-444553540000} UsagePage 1 Usage 4 Objects: X Axis ofs: 0x000 type: 0x000 GUID_XAxis | DIDFT_ABSAXIS | DIDFT_AXIS Y Axis ofs: 0x004 type: 0x001 GUID_YAxis | DIDFT_ABSAXIS | DIDFT_AXIS Z Rotation ofs: 0x008 type: 0x005 GUID_RzAxis | DIDFT_ABSAXIS | DIDFT_AXIS Button 0 ofs: 0x0d8 type: 0x000 GUID_Button | DIDFT_PSHBUTTON | DIDFT_BUTTON Button 1 ofs: 0x0d9 type: 0x001 GUID_Button | DIDFT_PSHBUTTON | DIDFT_BUTTON Button 2 ofs: 0x0da type: 0x002 GUID_Button | DIDFT_PSHBUTTON | DIDFT_BUTTON Button 3 ofs: 0x0db type: 0x003 GUID_Button | DIDFT_PSHBUTTON | DIDFT_BUTTON Button 4 ofs: 0x0dc type: 0x004 GUID_Button | DIDFT_PSHBUTTON | DIDFT_BUTTON Button 5 ofs: 0x0dd type: 0x005 GUID_Button | DIDFT_PSHBUTTON | DIDFT_BUTTON Button 6 ofs: 0x0de type: 0x006 GUID_Button | DIDFT_PSHBUTTON | DIDFT_BUTTON Button 7 ofs: 0x0df type: 0x007 GUID_Button | DIDFT_PSHBUTTON | DIDFT_BUTTON Effect Block Index ofs: 0x020 type: 0x029 GUID_Unknown | DIDFT_NODATA ET Constant Force ofs: 0x0f9 type: 0x02a GUID_Unknown | DIDFT_NODATA ET Ramp ofs: 0x0fa type: 0x02b GUID_Unknown | DIDFT_NODATA ET Square ofs: 0x0fb type: 0x02c GUID_Unknown | DIDFT_NODATA ET Sine ofs: 0x0fc type: 0x02d GUID_Unknown | DIDFT_NODATA ET Triangle ofs: 0x0fd type: 0x02e GUID_Unknown | DIDFT_NODATA ET SawTooth Up ofs: 0x0fe type: 0x02f GUID_Unknown | DIDFT_NODATA ET SawTooth Down ofs: 0x0ff type: 0x030 GUID_Unknown | DIDFT_NODATA ET Spring ofs: 0x100 type: 0x031 GUID_Unknown | DIDFT_NODATA ET Damper ofs: 0x101 type: 0x032 GUID_Unknown | DIDFT_NODATA ET Inertia ofs: 0x102 type: 0x033 GUID_Unknown | DIDFT_NODATA ET Friction ofs: 0x103 type: 0x034 GUID_Unknown | DIDFT_NODATA ET Custom Force Data ofs: 0x104 type: 0x035 GUID_Unknown | DIDFT_NODATA Sample Period ofs: 0x024 type: 0x036 GUID_Unknown | DIDFT_NODATA Trigger Repeat Interval ofs: 0x028 type: 0x037 GUID_Unknown | DIDFT_NODATA Duration ofs: 0x02c type: 0x038 GUID_Unknown | DIDFT_NODATA Gain ofs: 0x030 type: 0x039 GUID_Unknown | DIDFT_NODATA Trigger Button ofs: 0x034 type: 0x03a GUID_Unknown | DIDFT_NODATA Y Axis ofs: 0x105 type: 0x03b GUID_Unknown | DIDFT_NODATA X Axis ofs: 0x106 type: 0x03c GUID_Unknown | DIDFT_NODATA Direction Enable ofs: 0x107 type: 0x03d GUID_Unknown | DIDFT_NODATA Unknown 62 ofs: 0x038 type: 0x03e GUID_Unknown | DIDFT_NODATA Unknown 63 ofs: 0x03c type: 0x03f GUID_Unknown | DIDFT_NODATA Start Delay ofs: 0x040 type: 0x040 GUID_Unknown | DIDFT_NODATA Effect Block Index ofs: 0x044 type: 0x041 GUID_Unknown | DIDFT_NODATA Fade Level ofs: 0x048 type: 0x042 GUID_Unknown | DIDFT_NODATA Attack Level ofs: 0x04c type: 0x043 GUID_Unknown | DIDFT_NODATA Fade Time ofs: 0x050 type: 0x044 GUID_Unknown | DIDFT_NODATA Attack Time ofs: 0x054 type: 0x045 GUID_Unknown | DIDFT_NODATA Effect Block Index ofs: 0x058 type: 0x046 GUID_Unknown | DIDFT_NODATA Parameter Block Offset ofs: 0x05c type: 0x047 GUID_Unknown | DIDFT_NODATA Unknown 72 ofs: 0x060 type: 0x048 GUID_Unknown | DIDFT_NODATA Unknown 73 ofs: 0x064 type: 0x049 GUID_Unknown | DIDFT_NODATA CP Offset ofs: 0x068 type: 0x04a GUID_Unknown | DIDFT_NODATA Negative Coefficient ofs: 0x06c type: 0x04b GUID_Unknown | DIDFT_NODATA Positive Coefficient ofs: 0x070 type: 0x04c GUID_Unknown | DIDFT_NODATA Negative Saturation ofs: 0x074 type: 0x04d GUID_Unknown | DIDFT_NODATA Positive Saturation ofs: 0x078 type: 0x04e GUID_Unknown | DIDFT_NODATA Dead Band ofs: 0x07c type: 0x04f GUID_Unknown | DIDFT_NODATA Effect Block Index ofs: 0x080 type: 0x050 GUID_Unknown | DIDFT_NODATA Magnitude ofs: 0x084 type: 0x051 GUID_Unknown | DIDFT_NODATA Offset ofs: 0x088 type: 0x052 GUID_Unknown | DIDFT_NODATA Phase ofs: 0x08c type: 0x053 GUID_Unknown | DIDFT_NODATA Period ofs: 0x090 type: 0x054 GUID_Unknown | DIDFT_NODATA Effect Block Index ofs: 0x094 type: 0x055 GUID_Unknown | DIDFT_NODATA Magnitude ofs: 0x098 type: 0x056 GUID_Unknown | DIDFT_NODATA Effect Block Index ofs: 0x09c type: 0x057 GUID_Unknown | DIDFT_NODATA Ramp End ofs: 0x0a0 type: 0x058 GUID_Unknown | DIDFT_NODATA Ramp Start ofs: 0x0a4 type: 0x059 GUID_Unknown | DIDFT_NODATA Effect Block Index ofs: 0x0a8 type: 0x05a GUID_Unknown | DIDFT_NODATA Custom Force Data Offset ofs: 0x0ac type: 0x05b GUID_Unknown | DIDFT_NODATA Custom Force Data ofs: 0x0b0 type: 0x05c GUID_Unknown | DIDFT_NODATA Y Axis ofs: 0x0b4 type: 0x05d GUID_Unknown | DIDFT_NODATA X Axis ofs: 0x0b8 type: 0x05e GUID_Unknown | DIDFT_NODATA Effect Block Index ofs: 0x0bc type: 0x05f GUID_Unknown | DIDFT_NODATA Op Effect Start ofs: 0x108 type: 0x060 GUID_Unknown | DIDFT_NODATA Op Effect Start Solo ofs: 0x109 type: 0x061 GUID_Unknown | DIDFT_NODATA Op Effect Stop ofs: 0x10a type: 0x062 GUID_Unknown | DIDFT_NODATA Loop Count ofs: 0x0c0 type: 0x063 GUID_Unknown | DIDFT_NODATA Effect Block Index ofs: 0x0c4 type: 0x064 GUID_Unknown | DIDFT_NODATA DC Enable Actuators ofs: 0x10b type: 0x065 GUID_Unknown | DIDFT_NODATA DC Disable Actuators ofs: 0x10c type: 0x066 GUID_Unknown | DIDFT_NODATA DC Stop All Effects ofs: 0x10d type: 0x067 GUID_Unknown | DIDFT_NODATA DC Device Reset ofs: 0x10e type: 0x068 GUID_Unknown | DIDFT_NODATA DV Device Pause ofs: 0x10f type: 0x069 GUID_Unknown | DIDFT_NODATA DC Device Continue ofs: 0x110 type: 0x06a GUID_Unknown | DIDFT_NODATA Device Gain ofs: 0x0c8 type: 0x06b GUID_Unknown | DIDFT_NODATA Effect Block Index ofs: 0x0cc type: 0x06c GUID_Unknown | DIDFT_NODATA Sample Count ofs: 0x0d0 type: 0x06d GUID_Unknown | DIDFT_NODATA Sample Period ofs: 0x0d4 type: 0x06e GUID_Unknown | DIDFT_NODATA Collection 0 - Joystick ofs: 0x000 type: 0x000 GUID_Unknown | DIDFT_COLLECTION | DIDFT_NODATA Collection 1 ofs: 0x000 type: 0x001 GUID_Unknown | DIDFT_COLLECTION | DIDFT_NODATA Collection 2 - PID State Report ofs: 0x000 type: 0x002 GUID_Unknown | DIDFT_COLLECTION | DIDFT_NODATA Collection 3 - Set Effect Report ofs: 0x000 type: 0x003 GUID_Unknown | DIDFT_COLLECTION | DIDFT_NODATA Collection 4 - Effect Type ofs: 0x000 type: 0x004 GUID_Unknown | DIDFT_COLLECTION | DIDFT_NODATA Collection 5 - Axes Enable ofs: 0x000 type: 0x005 GUID_Unknown | DIDFT_COLLECTION | DIDFT_NODATA Collection 6 - Direction ofs: 0x000 type: 0x006 GUID_Unknown | DIDFT_COLLECTION | DIDFT_NODATA Collection 7 - Set Envelope Report ofs: 0x000 type: 0x007 GUID_Unknown | DIDFT_COLLECTION | DIDFT_NODATA Collection 8 - Set Condition Report ofs: 0x000 type: 0x008 GUID_Unknown | DIDFT_COLLECTION | DIDFT_NODATA Collection 9 - Type Specific Block Offset ofs: 0x000 type: 0x009 GUID_Unknown | DIDFT_COLLECTION | DIDFT_NODATA Collection 10 - Set Periodic Report ofs: 0x000 type: 0x00a GUID_Unknown | DIDFT_COLLECTION | DIDFT_NODATA Collection 11 - Set Constant Force Report ofs: 0x000 type: 0x00b GUID_Unknown | DIDFT_COLLECTION | DIDFT_NODATA Collection 12 - Set Ramp Force Report ofs: 0x000 type: 0x00c GUID_Unknown | DIDFT_COLLECTION | DIDFT_NODATA Collection 13 - Custom Force Data Report ofs: 0x000 type: 0x00d GUID_Unknown | DIDFT_COLLECTION | DIDFT_NODATA Collection 14 - Download Force Sample ofs: 0x000 type: 0x00e GUID_Unknown | DIDFT_COLLECTION | DIDFT_NODATA Collection 15 - Effect Operation Report ofs: 0x000 type: 0x00f GUID_Unknown | DIDFT_COLLECTION | DIDFT_NODATA Collection 16 - Effect Operation ofs: 0x000 type: 0x010 GUID_Unknown | DIDFT_COLLECTION | DIDFT_NODATA Collection 17 - PID Block Free Report ofs: 0x000 type: 0x011 GUID_Unknown | DIDFT_COLLECTION | DIDFT_NODATA Collection 18 - PID Device Control ofs: 0x000 type: 0x012 GUID_Unknown | DIDFT_COLLECTION | DIDFT_NODATA Collection 19 - Device Gain Report ofs: 0x000 type: 0x013 GUID_Unknown | DIDFT_COLLECTION | DIDFT_NODATA Collection 20 - Set Custom Force Report ofs: 0x000 type: 0x014 GUID_Unknown | DIDFT_COLLECTION | DIDFT_NODATA Collection 21 - Create New Effect ofs: 0x000 type: 0x015 GUID_Unknown | DIDFT_COLLECTION | DIDFT_NODATA Collection 22 - Effect Type ofs: 0x000 type: 0x016 GUID_Unknown | DIDFT_COLLECTION | DIDFT_NODATA Collection 23 - PID Block Load Report ofs: 0x000 type: 0x017 GUID_Unknown | DIDFT_COLLECTION | DIDFT_NODATA Collection 24 - Block Load Status ofs: 0x000 type: 0x018 GUID_Unknown | DIDFT_COLLECTION | DIDFT_NODATA Collection 25 - PID Pool Report ofs: 0x000 type: 0x019 GUID_Unknown | DIDFT_COLLECTION | DIDFT_NODATA Space combat enumeration ------------ Device Microsoft SideWinder Force Feedback Wheel (USB) dwFlags |= DIEDBS_MAPPEDPRI1 dwFlags |= DIEDBS_MAPPEDPRI2 dwFlags |= DIEDBS_NEWDEVICE diaf.dwSize = 328 diaf.dwActionSize = 40 diaf.dwDataSize = 120 diaf.dwNumActions = 30 diaf.rgoAction = 0040A020 diaf.dwGenre = 0x07000000 diaf.dwBufferSize = 32 diaf.lAxisMin = 0 diaf.lAxisMax = 0 diaf.hInstString = 00000000 diaf.ftTimeStamp ... diaf.dwCRC = 0xfba0a424 diaf.rgoAction[0]: uAppData=0x0 dwSemantic=0x07008201 dwFlags=0x0 szActionName=Steer guidInstance={19d11540-b050-11e0-8002-444553540000} dwObjID=0x01000002 dwHow=0x20 diaf.rgoAction[1]: uAppData=0x1 dwSemantic=0x07010202 dwFlags=0x0 szActionName=Accelerate guidInstance={00000000-0000-0000-0000-000000000000} dwObjID=0x00000000 dwHow=0x0 diaf.rgoAction[2]: uAppData=0x2 dwSemantic=0x07038203 dwFlags=0x0 szActionName=Brake guidInstance={19d11540-b050-11e0-8002-444553540000} dwObjID=0x00000102 dwHow=0x20 diaf.rgoAction[3]: uAppData=0x3 dwSemantic=0x07000401 dwFlags=0x0 szActionName=Fire guidInstance={19d11540-b050-11e0-8002-444553540000} dwObjID=0x02000004 dwHow=0x20 diaf.rgoAction[4]: uAppData=0x4 dwSemantic=0x07000402 dwFlags=0x0 szActionName=Weapon guidInstance={19d11540-b050-11e0-8002-444553540000} dwObjID=0x02000104 dwHow=0x20 diaf.rgoAction[5]: uAppData=0x5 dwSemantic=0x07000403 dwFlags=0x0 szActionName=Target guidInstance={19d11540-b050-11e0-8002-444553540000} dwObjID=0x02000204 dwHow=0x20 diaf.rgoAction[6]: uAppData=0x6 dwSemantic=0x070004fd dwFlags=0x0 szActionName=Menu guidInstance={19d11540-b050-11e0-8002-444553540000} dwObjID=0x02000604 dwHow=0x20 diaf.rgoAction[7]: uAppData=0x10 dwSemantic=0x07004601 dwFlags=0x0 szActionName=Glance guidInstance={00000000-0000-0000-0000-000000000000} dwObjID=0x00000000 dwHow=0x0 diaf.rgoAction[8]: uAppData=0x11 dwSemantic=0x0701c204 dwFlags=0x0 szActionName=Climb guidInstance={00000000-0000-0000-0000-000000000000} dwObjID=0x00000000 dwHow=0x0 diaf.rgoAction[9]: uAppData=0x12 dwSemantic=0x07024205 dwFlags=0x0 szActionName=Rotate guidInstance={00000000-0000-0000-0000-000000000000} dwObjID=0x00000000 dwHow=0x0 diaf.rgoAction[10]: uAppData=0x13 dwSemantic=0x07004404 dwFlags=0x0 szActionName=View guidInstance={19d11540-b050-11e0-8002-444553540000} dwObjID=0x02000304 dwHow=0x20 diaf.rgoAction[11]: uAppData=0x14 dwSemantic=0x07004405 dwFlags=0x0 szActionName=Display guidInstance={19d11540-b050-11e0-8002-444553540000} dwObjID=0x02000404 dwHow=0x20 diaf.rgoAction[12]: uAppData=0x15 dwSemantic=0x07004406 dwFlags=0x0 szActionName=Raise guidInstance={19d11540-b050-11e0-8002-444553540000} dwObjID=0x02000504 dwHow=0x20 diaf.rgoAction[13]: uAppData=0x16 dwSemantic=0x07004407 dwFlags=0x0 szActionName=Lowe guidInstance={00000000-0000-0000-0000-000000000000} dwObjID=0x00000000 dwHow=0x0 diaf.rgoAction[14]: uAppData=0x17 dwSemantic=0x07004408 dwFlags=0x0 szActionName=Gear guidInstance={19d11540-b050-11e0-8002-444553540000} dwObjID=0x02000704 dwHow=0x20 diaf.rgoAction[15]: uAppData=0x18 dwSemantic=0x07004409 dwFlags=0x0 szActionName=Fire 2 guidInstance={00000000-0000-0000-0000-000000000000} dwObjID=0x00000000 dwHow=0x0 diaf.rgoAction[16]: uAppData=0x19 dwSemantic=0x0700c4e4 dwFlags=0x0 szActionName=Left guidInstance={00000000-0000-0000-0000-000000000000} dwObjID=0x00000000 dwHow=0x0 diaf.rgoAction[17]: uAppData=0x1a dwSemantic=0x0700c4ec dwFlags=0x0 szActionName=Right guidInstance={00000000-0000-0000-0000-000000000000} dwObjID=0x00000000 dwHow=0x0 diaf.rgoAction[18]: uAppData=0x1b dwSemantic=0x070144e0 dwFlags=0x0 szActionName=Forward guidInstance={00000000-0000-0000-0000-000000000000} dwObjID=0x00000000 dwHow=0x0 diaf.rgoAction[19]: uAppData=0x1c dwSemantic=0x070144e8 dwFlags=0x0 szActionName=Backward guidInstance={00000000-0000-0000-0000-000000000000} dwObjID=0x00000000 dwHow=0x0 diaf.rgoAction[20]: uAppData=0x1d dwSemantic=0x0703c4e0 dwFlags=0x0 szActionName=Faster guidInstance={00000000-0000-0000-0000-000000000000} dwObjID=0x00000000 dwHow=0x0 diaf.rgoAction[21]: uAppData=0x1e dwSemantic=0x0703c4e8 dwFlags=0x0 szActionName=Slower guidInstance={00000000-0000-0000-0000-000000000000} dwObjID=0x00000000 dwHow=0x0 diaf.rgoAction[22]: uAppData=0x1f dwSemantic=0x070244e4 dwFlags=0x0 szActionName=Turn left guidInstance={00000000-0000-0000-0000-000000000000} dwObjID=0x00000000 dwHow=0x0 diaf.rgoAction[23]: uAppData=0x20 dwSemantic=0x070244ec dwFlags=0x0 szActionName=Turn right guidInstance={00000000-0000-0000-0000-000000000000} dwObjID=0x00000000 dwHow=0x0 diaf.rgoAction[24]: uAppData=0x21 dwSemantic=0x0707c4e4 dwFlags=0x0 szActionName=Glance left guidInstance={00000000-0000-0000-0000-000000000000} dwObjID=0x00000000 dwHow=0x0 diaf.rgoAction[25]: uAppData=0x22 dwSemantic=0x0707c4ec dwFlags=0x0 szActionName=Glance left guidInstance={00000000-0000-0000-0000-000000000000} dwObjID=0x00000000 dwHow=0x0 diaf.rgoAction[26]: uAppData=0x23 dwSemantic=0x0707c4e0 dwFlags=0x0 szActionName=Glance up guidInstance={00000000-0000-0000-0000-000000000000} dwObjID=0x00000000 dwHow=0x0 diaf.rgoAction[27]: uAppData=0x24 dwSemantic=0x0707c4e8 dwFlags=0x0 szActionName=Glance down guidInstance={00000000-0000-0000-0000-000000000000} dwObjID=0x00000000 dwHow=0x0 diaf.rgoAction[28]: uAppData=0x25 dwSemantic=0x070044fe dwFlags=0x0 szActionName=Device guidInstance={00000000-0000-0000-0000-000000000000} dwObjID=0x00000000 dwHow=0x0 diaf.rgoAction[29]: uAppData=0x26 dwSemantic=0x070044fc dwFlags=0x0 szActionName=Pause guidInstance={00000000-0000-0000-0000-000000000000} dwObjID=0x00000000 dwHow=0x0