• AVR Freaks

Helpful ReplyUSB HID Joystick rumble (ffb)

Author
Roelof33
New Member
  • Total Posts : 5
  • Reward points : 0
  • Joined: 2010/12/25 03:18:41
  • Location: 0
  • Status: offline
2010/12/26 13:38:59 (permalink)
0

USB HID Joystick rumble (ffb)

Hello,

I'm trying to make a USB HID force feedback joystick (hobby project). I read some topics on this forum and on some other forums about this and it seem to be only a few users who actually got it somewhat working.
I've already made an USB joystick with a 18f4550 with worked like it should but now I want to add force feedback (my goal is to actuate two ruble motors as far as you can call that force feedback). I read the PID device class documentation but it's not very clear.
From what I understand is that I need to make an "Effect report descriptor", a "PID Set xxx Data Report" and somehow specify the "RAM Pool" size? I also tried to use the descriptor profided by Arrow in this topic: http://www.microchip.com/forums/fb.ashx?m=378772.
This descriptor enumerates, but when i use forcetest it crashes when the program wants to "create effects" for the Joystick.
I probably only need constant force to actuate some rumble motors. Could somebody push me in the right direction on how to create a working descriptor?

-Roelof

#1
Roelof33
New Member
  • Total Posts : 5
  • Reward points : 0
  • Joined: 2010/12/25 03:18:41
  • Location: 0
  • Status: offline
Re:USB HID Joystick rumble (ffb) 2010/12/28 05:45:25 (permalink)
0
Does someone then perhaps know a book that covers the physical interface part of the descriptor? The book USB complete does not cover this.

-Roelof
#2
chinzei
Super Member
  • Total Posts : 2250
  • Reward points : 0
  • Joined: 2003/11/07 12:39:02
  • Location: Tokyo, Japan
  • Status: offline
Re:USB HID Joystick rumble (ffb) 2010/12/28 13:22:12 (permalink)
0

I have an impression that USB PID (Physical Interface Device) spec is ignored on the current scene of ForceFeedback devices.

The reason lies in Windows device driver for PID (pid.dll).
This DLL is a plug-in (mini-driver) to HID class driver, which exchange FF traffic based on PID between DirectInput and FF devices.

MS still distribute pid.dll in DirectX SDK. However, they has discontinued maintenance of this driver, when MS had dropped SideWinder joystick series. No x64 driver was made. The manufacturers of FF devices have developed their own device driver for their products, to survive on new Windows versions. These custom drivers don't follow PID. Much simplified protocol, which is specific to the target device.

In this reason, I don't recommend PID for FF beginers.

I probably only need constant force to actuate some rumble motors.

Then, a descriptor clone of XBox GamePad is a simple way.

Descriptors and protocols of XBox GamePad are fully explained here,

Inside Xbox Controller
http://euc.jp/periphs/xbox-controller.en.html

The device driver for XBox GamePad is here
http://www.redcl0ud.com/xbcd.html

Tsuneo
#3
Roelof33
New Member
  • Total Posts : 5
  • Reward points : 0
  • Joined: 2010/12/25 03:18:41
  • Location: 0
  • Status: offline
Re:USB HID Joystick rumble (ffb) 2010/12/28 13:51:36 (permalink)
0
Hi,

Thanks for your reply! Those are quite interesting points. However I still have some quitions.

So an HID force feedback device wont work on an Win7 x64 system? And if I were to use the XBox descriptor I have to install the XBox device driver? I would like my joystick to plug in and work without any drivers.

Anyway i'm studying the example of the PID pages and some things are beginning to make sense now, I will keep updating if I make progress. I'm not willing to give up yet wink .

-Roelof

#4
chinzei
Super Member
  • Total Posts : 2250
  • Reward points : 0
  • Joined: 2003/11/07 12:39:02
  • Location: Tokyo, Japan
  • Status: offline
Re:USB HID Joystick rumble (ffb) 2010/12/28 15:58:01 (permalink)
0

So an HID force feedback device wont work on an Win7 x64 system?

pid.dll is pre-installed just on WinXP. No pre-install for Vista and later.

dxnt.cab on DirectX SDK includes pid.dll (just for x86)
DirectX SDK - Redist folder - dxnt.cab
DXSETUP.exe in Redist folder installs pid.dll and its registry setting (for HKCR)

Maybe, this is the last SDK which has Fedit (Force Editor), too

DirectX 9.0 SDK Update - (Summer 2004)
http://www.microsoft.com/...88E&displaylang=en


To make your joystick recognized as a FF device using pid.dll, registry setting is required.

The VID/PID of your joystick is listed up under this registry key, once you connect the device to Windows.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\OEM

Make OEMForceFeedback sub-key under the VID/PID of your device.
Under this key, make this entry, which specifies CLSID of pid.dll

Value Name        CLSID
Value (string)    {EEC6993A-B3FD-11D2-A916-00C04FB98638}

OEMForceFeedback Registry Settings
http://msdn.microsoft.com...y/ff542434(VS.85).aspx


OR

When you are working on XP, assign one of these VID/PIDs to your device
045E / 001B - MS SideWinder FFB2
046D / C281 - Logitech Wingman Force Pro

And then, pre-installed INF on XP sets up all on the first device connection.

Tsuneo
post edited by chinzei - 2010/12/28 15:59:38
#5
Roelof33
New Member
  • Total Posts : 5
  • Reward points : 0
  • Joined: 2010/12/25 03:18:41
  • Location: 0
  • Status: offline
Re:USB HID Joystick rumble (ffb) 2011/01/02 14:46:36 (permalink)
0
Hey.

First of all:Happy new year!!!Smile . I managed to get the ffb descriptor from the pid page working. I also found that on my win7 machines the pid.dll is preinstalled. Now I have the folowing problem:

When i want to send an constant effect to the device using fedit, i get the following report:

00000000: Setting up force feedback device...
00000001: Set data format.
00000002: Set cooperative level.
00000003: Disabled auto-centering spring.
00000004: Acqired FF device.
00000005: Got FF device!
00000006: Current FF device is Joystick Demo
00000007: Couldn't create the effect!
00000008: hResult = 0x80040201 : Device is full
00000009: Effect is NULL, so can't play!

It says "the device is full", I don't know why.
The code is use to receive data is:
 
void ProcessIO(void)
{  
    int counter;
     if(!HIDRxHandleBusy(USBOutHandle))                //Check if data was received from the host.
    {  
        USBOutHandle = HIDRxPacket(HID_EP,(BYTE*)&ReceivedDataBuffer,15); //receive PID set effect Output Report
    }
}


Does anyone have an idea what the problem might be?

Thanks in advance,
-Roelof
#6
chinzei
Super Member
  • Total Posts : 2250
  • Reward points : 0
  • Joined: 2003/11/07 12:39:02
  • Location: Tokyo, Japan
  • Status: offline
Re:USB HID Joystick rumble (ffb) 2011/01/02 22:20:25 (permalink)
0
Each FF device registers its supprted effect types on the registry.
Device receives parameters for these registered effects from DirectInput.
The MSDN document, "OEMForceFeedback Registry Settings", also describes on pre-defined effects as
follows,
http://msdn.microsoft.com/en-us/library/ff542434(VS.85).aspx
A new OEMForceFeedback key has been defined to hold force feedback specific keys and values. Under
this key is an Effects subkey that contains two values for each effect.
Under the Effects subkey is a list of subkeys, one for each effect. The name of each subkey is a
globally unique identifier (GUID) in the form "{12345678-1234-1234-1234-123456789012}". Beneath the
key named "{...}" are two values. The default value is the string friendly name for the effect. The
"Attributes" value is the DIEFFECTATTRIBUTES structure.

 
This document supposes the registry structure as follows.

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\OEM
- VID/PID of your device
- - OEMForceFeedback
- - - CLSID (see above post)
- - - Effects
- - - - {13541C20-8E33-11D0-9AD0-00A0C9A06E35}
          default value (string): Constant Force
          Attributes (binary): 65,00,02,00,01,00,00,00,ed,01,00,00,cd,01,00,00,30,00,00,00
- - - - {13541C21-8E33-11D0-9AD0-00A0C9A06E35}
          default value (string): Ramp
          Attributes (binary): 6a,00,02,00,02,00,00,00,ef,01,00,00,cf,01,00,00,30,00,00,00
...

 
As of the example of effect setting, refer to this INF file
C:\Windows\inf\swnt.inf (pre-installed on WinXP) for MS SideWinder FFB2
Here is an excerpt from this INF.
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{13541C20-8E33-11D0-9AD0-
00A0C9A06E35},"Attributes",0x00000001,65,00,02,00,01,00,00,00,ed,01,00,00,cd,01,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{13541C20-8E33-11D0-9AD0-00A0C9A06E35},,,"Constant Force"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{13541C21-8E33-11D0-9AD0-
00A0C9A06E35},"Attributes",0x00000001,6a,00,02,00,02,00,00,00,ef,01,00,00,cf,01,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{13541C21-8E33-11D0-9AD0-00A0C9A06E35},,,"Ramp"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{13541C22-8E33-11D0-9AD0-
00A0C9A06E35},"Attributes",0x00000001,69,00,02,00,03,00,00,00,ef,01,00,00,cf,01,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{13541C22-8E33-11D0-9AD0-00A0C9A06E35},,,"Square"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{13541C23-8E33-11D0-9AD0-
00A0C9A06E35},"Attributes",0x00000001,66,00,02,00,03,00,00,00,ef,01,00,00,cf,01,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{13541C23-8E33-11D0-9AD0-00A0C9A06E35},,,"Sine"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{13541C24-8E33-11D0-9AD0-
00A0C9A06E35},"Attributes",0x00000001,6c,00,02,00,03,00,00,00,ef,01,00,00,cf,01,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{13541C24-8E33-11D0-9AD0-00A0C9A06E35},,,"Triangle"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{13541C25-8E33-11D0-9AD0-
00A0C9A06E35},"Attributes",0x00000001,6e,00,02,00,03,00,00,00,ef,01,00,00,cf,01,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{13541C25-8E33-11D0-9AD0-00A0C9A06E35},,,"Sawtooth Up"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{13541C26-8E33-11D0-9AD0-
00A0C9A06E35},"Attributes",0x00000001,6f,00,02,00,03,00,00,00,ef,01,00,00,cf,01,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{13541C26-8E33-11D0-9AD0-00A0C9A06E35},,,"Sawtooth Down"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{13541C27-8E33-11D0-9AD0-
00A0C9A06E35},"Attributes",0x00000001,01,00,01,00,04,00,00,00,29,01,00,00,09,01,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{13541C27-8E33-11D0-9AD0-00A0C9A06E35},,,"Spring"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{13541C28-8E33-11D0-9AD0-
00A0C9A06E35},"Attributes",0x00000001,03,00,01,00,04,00,00,00,29,01,00,00,09,01,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{13541C28-8E33-11D0-9AD0-00A0C9A06E35},,,"Damper"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{13541C29-8E33-11D0-9AD0-
00A0C9A06E35},"Attributes",0x00000001,05,00,01,00,04,00,00,00,29,01,00,00,09,01,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{13541C29-8E33-11D0-9AD0-00A0C9A06E35},,,"Inertia"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{13541C2A-8E33-11D0-9AD0-
00A0C9A06E35},"Attributes",0x00000001,07,00,01,00,04,00,00,00,29,01,00,00,09,01,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{13541C2A-8E33-11D0-9AD0-00A0C9A06E35},,,"Friction"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{13541C2B-8E33-11D0-9AD0-
00A0C9A06E35},"Attributes",0x00000001,c9,00,03,00,05,00,00,00,6f,01,00,00,4f,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{13541C2B-8E33-11D0-9AD0-00A0C9A06E35},,,"Custom"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1a1-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,09,00,01,00,ff,00,00,00,29,01,00,00,09,01,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1a1-81fa-11d0-94ab-0080c74c7e95},,,"Wall"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1a3-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,2d,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1a3-81fa-11d0-94ab-0080c74c7e95},,,"RandomNoise"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1a4-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,2e,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1a4-81fa-11d0-94ab-
0080c74c7e95},,,"AircraftCarrierTakeOff"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1a5-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,2f,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1a5-81fa-11d0-94ab-0080c74c7e95},,,"BasketballDribble"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1a6-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,30,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1a6-81fa-11d0-94ab-0080c74c7e95},,,"CarEngineIdle"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1a7-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,31,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1a7-81fa-11d0-94ab-0080c74c7e95},,,"ChainsawIdle"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1a8-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,32,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1a8-81fa-11d0-94ab-0080c74c7e95},,,"ChainsawInAction"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1a9-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,33,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1a9-81fa-11d0-94ab-0080c74c7e95},,,"DieselEngineIdle"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1aa-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,34,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1aa-81fa-11d0-94ab-0080c74c7e95},,,"Jump"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1ab-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,35,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1ab-81fa-11d0-94ab-0080c74c7e95},,,"Land"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1ac-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,36,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1ac-81fa-11d0-94ab-0080c74c7e95},,,"MachineGun"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1ad-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,37,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1ad-81fa-11d0-94ab-0080c74c7e95},,,"Punched"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1ae-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,38,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1ae-81fa-11d0-94ab-0080c74c7e95},,,"RocketLaunch"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1af-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,39,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1af-81fa-11d0-94ab-0080c74c7e95},,,"SecretDoor"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1b0-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,3a,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1b0-81fa-11d0-94ab-0080c74c7e95},,,"SwitchClick"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1b1-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,3b,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1b1-81fa-11d0-94ab-0080c74c7e95},,,"WindGust"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1b2-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,3c,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1b2-81fa-11d0-94ab-0080c74c7e95},,,"WindShear"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1b3-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,3d,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1b3-81fa-11d0-94ab-0080c74c7e95},,,"Pistol"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1b4-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,3e,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1b4-81fa-11d0-94ab-0080c74c7e95},,,"Shotgun"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1b5-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,3f,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1b5-81fa-11d0-94ab-0080c74c7e95},,,"Laser1"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1b6-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,40,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1b6-81fa-11d0-94ab-0080c74c7e95},,,"Laser2"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1b7-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,41,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1b7-81fa-11d0-94ab-0080c74c7e95},,,"Laser3"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1b8-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,42,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1b8-81fa-11d0-94ab-0080c74c7e95},,,"Laser4"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1b9-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,43,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1b9-81fa-11d0-94ab-0080c74c7e95},,,"Laser5"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1ba-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,44,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1ba-81fa-11d0-94ab-0080c74c7e95},,,"Laser6"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1bb-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,45,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1bb-81fa-11d0-94ab-0080c74c7e95},,,"OutOfAmmo"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1bc-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,46,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1bc-81fa-11d0-94ab-0080c74c7e95},,,"LightningGun"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1bd-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,47,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1bd-81fa-11d0-94ab-0080c74c7e95},,,"Missile"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1be-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,48,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1be-81fa-11d0-94ab-0080c74c7e95},,,"GatlingGun"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1bf-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,49,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1bf-81fa-11d0-94ab-0080c74c7e95},,,"ShortPlasma"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1c0-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,4a,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1c0-81fa-11d0-94ab-0080c74c7e95},,,"PlasmaCannon1"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1c1-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,4b,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1c1-81fa-11d0-94ab-0080c74c7e95},,,"PlasmaCannon2"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1c2-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,4c,01,04,00,ff,00,00,00,ef,00,00,00,cf,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1c2-81fa-11d0-94ab-0080c74c7e95},,,"Cannon"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1c6-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,00,00,06,00,01,00,00,00,60,01,00,00,40,01,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1c6-81fa-11d0-94ab-0080c74c7e95},,,"Raw Force"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1c7-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,00,00,05,00,ff,00,00,00,65,01,00,00,4d,00,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1c7-81fa-11d0-94ab-0080c74c7e95},,,"VFX Effect"
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1c8-81fa-11d0-94ab-
0080c74c7e95},"Attributes",0x00000001,00,00,07,00,ff,00,00,00,20,01,00,00,00,01,00,00,30,00,00,00
HKLM,%szSWFFPro%\OEMForceFeedback\Effects\{e84cd1c8-81fa-11d0-94ab-0080c74c7e95},,,"RTC Spring"
 
Tsuneo
#7
Roelof33
New Member
  • Total Posts : 5
  • Reward points : 0
  • Joined: 2010/12/25 03:18:41
  • Location: 0
  • Status: offline
Re:USB HID Joystick rumble (ffb) 2011/01/03 14:59:09 (permalink)
0
It seems that these keys of the effects that are declared in the descriptor were installed automaticly when I plugged in my joystick (see attached image). I think the problem might be in my device. Do i need to add another endpoint to my device? I'm currently using only endpoint 0. With the code in  my previous post I'm only receiving rubbish.

-Roelof

Attached Image(s)

#8
hogancool
New Member
  • Total Posts : 1
  • Reward points : 0
  • Joined: 2011/03/16 14:54:43
  • Location: 0
  • Status: offline
Re:USB HID Joystick rumble (ffb) 2011/03/16 15:00:55 (permalink)
0
Hi, all!

I'm working on a very similar student project - it will be a steering wheel with elements taken from a real car :)

How is it going with your joystick, Roelof33? Please post a message if you managed something working. 

Regards,
John
#9
lbodnar
Super Member
  • Total Posts : 1148
  • Reward points : 0
  • Joined: 2005/12/18 06:06:09
  • Location: UK
  • Status: offline
Re:USB HID Joystick rumble (ffb) 2011/03/17 11:17:35 (permalink) ☄ Helpfulby beantowel 2017/03/27 04:59:11
-1 (1)
Keep trying - everything works beautifully for me.

Leo
#10
FFB_Boy
Starting Member
  • Total Posts : 62
  • Reward points : 0
  • Joined: 2011/04/19 22:50:05
  • Location: 0
  • Status: offline
Re:USB HID Joystick rumble (ffb) 2011/04/20 00:43:45 (permalink)
0
Hi
On my Wheel I receive the FFB value , how can I decode them ?
Where is the protocol ?
Thanks
#11
Jump to:
© 2019 APG vNext Commercial Version 4.5