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)
|
||||
{
|
||||
// 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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
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,
|
||||
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)
|
||||
{
|
||||
|
@ -485,7 +485,13 @@ void PhysicalJoystickHandler::eraseMapping(Event::Type event, EventMode mode)
|
|||
for (auto& stick : mySticks)
|
||||
{
|
||||
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
|
||||
|
@ -774,11 +780,11 @@ PhysicalJoystickHandler::EventMappingArray PhysicalJoystickHandler::DefaultLeftJ
|
|||
{Event::JoystickZeroUp, JOY_CTRL_NONE, JoyAxis::Y, JoyDir::NEG},
|
||||
{Event::JoystickZeroDown, JOY_CTRL_NONE, JoyAxis::Y, JoyDir::POS},
|
||||
// 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},
|
||||
// Left joystick up/down directions (assume hat 0)
|
||||
{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)
|
||||
{
|
||||
myKeyMap.eraseEvent(map.event, mode);
|
||||
//myKeyMap.eraseEvent(map.event, mode);
|
||||
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,
|
||||
bool updateDefaults)
|
||||
{
|
||||
if (!updateDefaults)
|
||||
{
|
||||
myKeyMap.eraseEvent(event, mode);
|
||||
myKeyMap.eraseEvent(event, getEventMode(event, mode));
|
||||
}
|
||||
|
||||
switch(mode)
|
||||
{
|
||||
case kEmulationMode:
|
||||
|
|
Loading…
Reference in New Issue