ForceFeedback: Add OSX rumble support

This commit is contained in:
Jules Blok
2014-01-29 08:11:51 +09:00
parent 02a95c139e
commit c6d650c058
9 changed files with 409 additions and 12 deletions

View File

@ -15,6 +15,7 @@ Joystick::Joystick(IOHIDDeviceRef device, std::string name, int index)
: m_device(device)
, m_device_name(name)
, m_index(index)
, m_ff_device(nullptr)
{
// Buttons
NSDictionary *buttonDict =
@ -71,6 +72,20 @@ Joystick::Joystick(IOHIDDeviceRef device, std::string name, int index)
}
CFRelease(axes);
}
// Force Feedback
FFCAPABILITIES ff_caps;
if (SUCCEEDED(ForceFeedback::FFDeviceAdapter::Create(IOHIDDeviceGetService(m_device), &m_ff_device)) &&
SUCCEEDED(FFDeviceGetForceFeedbackCapabilities(m_ff_device->m_device, &ff_caps)))
{
InitForceFeedback(m_ff_device, ff_caps.numFfAxes);
}
}
Joystick::~Joystick()
{
if (m_ff_device)
m_ff_device->Release();
}
bool Joystick::UpdateInput()
@ -78,11 +93,6 @@ bool Joystick::UpdateInput()
return true;
}
bool Joystick::UpdateOutput()
{
return true;
}
std::string Joystick::GetName() const
{
return m_device_name;