mirror of https://github.com/stella-emu/stella.git
experiments with mapping
This commit is contained in:
parent
b5ae1284ca
commit
4294a2d8b8
|
@ -259,20 +259,12 @@ void PhysicalJoystickHandler::setDefaultAction(const PhysicalJoystickPtr& j,
|
||||||
else if (eraseAll || map.event == event)
|
else if (eraseAll || map.event == event)
|
||||||
{
|
{
|
||||||
// TODO: allow for multiple defaults
|
// TODO: allow for multiple defaults
|
||||||
j->joyMap.eraseEvent(map.event, mode);
|
//j->joyMap.eraseEvent(map.event, mode);
|
||||||
j->joyMap.add(map.event, mode, map.button, map.axis, map.adir, map.hat, map.hdir);
|
j->joyMap.add(map.event, mode, map.button, map.axis, map.adir, map.hat, map.hdir);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
||||||
void PhysicalJoystickHandler::setDefaultMapping(Event::Type event, EventMode mode)
|
|
||||||
{
|
|
||||||
eraseMapping(event, mode);
|
|
||||||
for(auto& i: mySticks)
|
|
||||||
setStickDefaultMapping(i.first, event, mode);
|
|
||||||
}
|
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
void PhysicalJoystickHandler::setStickDefaultMapping(int stick, Event::Type event,
|
void PhysicalJoystickHandler::setStickDefaultMapping(int stick, Event::Type event,
|
||||||
EventMode mode, bool updateDefaults)
|
EventMode mode, bool updateDefaults)
|
||||||
|
@ -317,6 +309,14 @@ void PhysicalJoystickHandler::setStickDefaultMapping(int stick, Event::Type even
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
void PhysicalJoystickHandler::setDefaultMapping(Event::Type event, EventMode mode)
|
||||||
|
{
|
||||||
|
eraseMapping(event, mode);
|
||||||
|
for (auto& i : mySticks)
|
||||||
|
setStickDefaultMapping(i.first, event, mode);
|
||||||
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
void PhysicalJoystickHandler::defineControllerMappings(const string& controllerName, Controller::Jack port)
|
void PhysicalJoystickHandler::defineControllerMappings(const string& controllerName, Controller::Jack port)
|
||||||
{
|
{
|
||||||
|
@ -485,7 +485,13 @@ void PhysicalJoystickHandler::eraseMapping(Event::Type event, EventMode mode)
|
||||||
for (auto& stick : mySticks)
|
for (auto& stick : mySticks)
|
||||||
{
|
{
|
||||||
stick.second->eraseMap(mode); // erase all events
|
stick.second->eraseMap(mode); // erase all events
|
||||||
stick.second->eraseMap(getEventMode(event, mode));
|
if (mode == kEmulationMode)
|
||||||
|
{
|
||||||
|
stick.second->eraseMap(kCommonMode);
|
||||||
|
stick.second->eraseMap(kJoystickMode);
|
||||||
|
stick.second->eraseMap(kPaddlesMode);
|
||||||
|
stick.second->eraseMap(kKeypadMode);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -774,11 +780,11 @@ PhysicalJoystickHandler::EventMappingArray PhysicalJoystickHandler::DefaultLeftJ
|
||||||
{Event::JoystickZeroUp, JOY_CTRL_NONE, JoyAxis::Y, JoyDir::NEG},
|
{Event::JoystickZeroUp, JOY_CTRL_NONE, JoyAxis::Y, JoyDir::NEG},
|
||||||
{Event::JoystickZeroDown, JOY_CTRL_NONE, JoyAxis::Y, JoyDir::POS},
|
{Event::JoystickZeroDown, JOY_CTRL_NONE, JoyAxis::Y, JoyDir::POS},
|
||||||
// Left joystick left/right directions (assume hat 0)
|
// Left joystick left/right directions (assume hat 0)
|
||||||
/*{Event::JoystickZeroLeft, JOY_CTRL_NONE, JoyAxis::NONE, JoyDir::NONE, 0, JoyHat::LEFT},
|
{Event::JoystickZeroLeft, JOY_CTRL_NONE, JoyAxis::NONE, JoyDir::NONE, 0, JoyHat::LEFT},
|
||||||
{Event::JoystickZeroRight, JOY_CTRL_NONE, JoyAxis::NONE, JoyDir::NONE, 0, JoyHat::RIGHT},
|
{Event::JoystickZeroRight, JOY_CTRL_NONE, JoyAxis::NONE, JoyDir::NONE, 0, JoyHat::RIGHT},
|
||||||
// Left joystick up/down directions (assume hat 0)
|
// Left joystick up/down directions (assume hat 0)
|
||||||
{Event::JoystickZeroUp, JOY_CTRL_NONE, JoyAxis::NONE, JoyDir::NONE, 0, JoyHat::UP},
|
{Event::JoystickZeroUp, JOY_CTRL_NONE, JoyAxis::NONE, JoyDir::NONE, 0, JoyHat::UP},
|
||||||
{Event::JoystickZeroDown, JOY_CTRL_NONE, JoyAxis::NONE, JoyDir::NONE, 0, JoyHat::DOWN},*/
|
{Event::JoystickZeroDown, JOY_CTRL_NONE, JoyAxis::NONE, JoyDir::NONE, 0, JoyHat::DOWN},
|
||||||
};
|
};
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
|
@ -94,7 +94,7 @@ void PhysicalKeyboardHandler::setDefaultKey(EventMapping map, Event::Type event,
|
||||||
}
|
}
|
||||||
else if (eraseAll || map.event == event)
|
else if (eraseAll || map.event == event)
|
||||||
{
|
{
|
||||||
myKeyMap.eraseEvent(map.event, mode);
|
//myKeyMap.eraseEvent(map.event, mode);
|
||||||
myKeyMap.add(map.event, mode, map.key, map.mod);
|
myKeyMap.add(map.event, mode, map.key, map.mod);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -107,6 +107,12 @@ void PhysicalKeyboardHandler::setDefaultKey(EventMapping map, Event::Type event,
|
||||||
void PhysicalKeyboardHandler::setDefaultMapping(Event::Type event, EventMode mode,
|
void PhysicalKeyboardHandler::setDefaultMapping(Event::Type event, EventMode mode,
|
||||||
bool updateDefaults)
|
bool updateDefaults)
|
||||||
{
|
{
|
||||||
|
if (!updateDefaults)
|
||||||
|
{
|
||||||
|
myKeyMap.eraseEvent(event, mode);
|
||||||
|
myKeyMap.eraseEvent(event, getEventMode(event, mode));
|
||||||
|
}
|
||||||
|
|
||||||
switch(mode)
|
switch(mode)
|
||||||
{
|
{
|
||||||
case kEmulationMode:
|
case kEmulationMode:
|
||||||
|
|
Loading…
Reference in New Issue