Made it easer to use mouse/keyboard and a gamepad together on the same emulated wiimote. Renamed mouse buttons from "Button N" to "Click N" so they do not conflict with gamepad buttons.(hopefully not too ugly, mouse buttons will need to be reconfigured) (Fixes issue 3363)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6289 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Jordan Woyak 2010-10-19 23:11:22 +00:00
parent cf05cca7a6
commit 7b45ac6e01
5 changed files with 29 additions and 8 deletions

View File

@ -863,10 +863,8 @@ void Wiimote::LoadDefaults(const ControllerInterface& ciface)
// TODO: finish this // TODO: finish this
// Buttons // Buttons
// these alright for OSX/Linux? set_control(m_buttons, 0, "Click 0"); // A
set_control(m_buttons, 1, "Click 1"); // B
set_control(m_buttons, 0, "Button 0"); // A
set_control(m_buttons, 1, "Button 1"); // B
//set_control(m_buttons, 2, ""); // 1 //set_control(m_buttons, 2, ""); // 1
//set_control(m_buttons, 3, ""); // 2 //set_control(m_buttons, 3, ""); // 2
//set_control(m_buttons, 4, ""); // - //set_control(m_buttons, 4, ""); // -
@ -875,7 +873,7 @@ void Wiimote::LoadDefaults(const ControllerInterface& ciface)
// Shake // Shake
for (unsigned int i=0; i<3; ++i) for (unsigned int i=0; i<3; ++i)
set_control(m_shake, i, "Button 2"); set_control(m_shake, i, "Click 2");
// IR // IR
#ifndef __APPLE__ #ifndef __APPLE__

View File

@ -419,6 +419,29 @@ void ControllerInterface::UpdateReference(ControllerInterface::ControlReference*
devc.control = *i; devc.control = *i;
ref->m_controls.push_back(devc); ref->m_controls.push_back(devc);
} }
else
{
// the input wasn't found, look through all the other devices
std::vector<Device*>::const_iterator
deviter = m_devices.begin(),
devend = m_devices.end();
for(; deviter != devend; ++deviter)
{
for(i = (*deviter)->Inputs().begin(); i < (*deviter)->Inputs().end(); ++i)
if(*(*i) == ctrl_str)
break;
if ((*deviter)->Inputs().end() != i)
{
devc.device = *deviter;
devc.control = *i;
ref->m_controls.push_back(devc);
break;
}
}
}
} }
else else
{ {

View File

@ -262,7 +262,7 @@ std::string KeyboardMouse::Key::GetName() const
std::string KeyboardMouse::Button::GetName() const std::string KeyboardMouse::Button::GetName() const
{ {
return std::string("Button ") + char('0' + m_index); return std::string("Click ") + char('0' + m_index);
} }
std::string KeyboardMouse::Axis::GetName() const std::string KeyboardMouse::Axis::GetName() const

View File

@ -115,7 +115,7 @@ Mouse::Button::Button(IOHIDElementRef element)
{ {
std::ostringstream s; std::ostringstream s;
s << IOHIDElementGetUsage(m_element); s << IOHIDElementGetUsage(m_element);
m_name = std::string("Button ") + s.str(); m_name = std::string("Click ") + s.str();
} }
ControlState Mouse::Button::GetState(IOHIDDeviceRef device) const ControlState Mouse::Button::GetState(IOHIDDeviceRef device) const

View File

@ -162,7 +162,7 @@ std::string KeyboardMouse::Button::GetName() const
case Button5Mask: button = '5'; break; case Button5Mask: button = '5'; break;
} }
static char tmpstr[] = "Button ."; static char tmpstr[] = "Click .";
tmpstr[7] = button; tmpstr[7] = button;
return tmpstr; return tmpstr;
} }