| 425 | } |
| 426 | |
| 427 | HRESULT FeedbackXBOBT::GetForceFeedbackCapabilities(FFCAPABILITIES *capabilities) |
| 428 | { |
| 429 | capabilities->ffSpecVer.majorRev=kFFPlugInAPIMajorRev; |
| 430 | capabilities->ffSpecVer.minorAndBugRev=kFFPlugInAPIMinorAndBugRev; |
| 431 | capabilities->ffSpecVer.stage=kFFPlugInAPIStage; |
| 432 | capabilities->ffSpecVer.nonRelRev=kFFPlugInAPINonRelRev; |
| 433 | capabilities->supportedEffects=FFCAP_ET_CUSTOMFORCE|FFCAP_ET_CONSTANTFORCE|FFCAP_ET_RAMPFORCE|FFCAP_ET_SQUARE|FFCAP_ET_SINE|FFCAP_ET_TRIANGLE|FFCAP_ET_SAWTOOTHUP|FFCAP_ET_SAWTOOTHDOWN; |
| 434 | capabilities->emulatedEffects=0; |
| 435 | capabilities->subType=FFCAP_ST_VIBRATION; |
| 436 | capabilities->numFfAxes=4; |
| 437 | capabilities->ffAxes[0]=FFJOFS_X; |
| 438 | capabilities->ffAxes[1]=FFJOFS_Y; |
| 439 | capabilities->ffAxes[2]=FFJOFS_Z; |
| 440 | capabilities->ffAxes[3]=FFJOFS_RZ; |
| 441 | capabilities->storageCapacity=256; |
| 442 | capabilities->playbackCapacity=1; |
| 443 | capabilities->driverVer.majorRev=FeedbackDriverVersionMajor; |
| 444 | capabilities->driverVer.minorAndBugRev=FeedbackDriverVersionMinor; |
| 445 | capabilities->driverVer.stage=FeedbackDriverVersionStage; |
| 446 | capabilities->driverVer.nonRelRev=FeedbackDriverVersionNonRelRev; |
| 447 | capabilities->firmwareVer.majorRev=1; |
| 448 | capabilities->firmwareVer.minorAndBugRev=0; |
| 449 | capabilities->firmwareVer.stage=developStage; |
| 450 | capabilities->firmwareVer.nonRelRev=0; |
| 451 | capabilities->hardwareVer.majorRev=1; |
| 452 | capabilities->hardwareVer.minorAndBugRev=0; |
| 453 | capabilities->hardwareVer.stage=developStage; |
| 454 | capabilities->hardwareVer.nonRelRev=0; |
| 455 | return FF_OK; |
| 456 | } |
| 457 | |
| 458 | HRESULT FeedbackXBOBT::SendForceFeedbackCommand(FFCommandFlag state) |
| 459 | { |
no outgoing calls
no test coverage detected