mirror of https://github.com/stella-emu/stella.git
add minor mapping code enhancements
This commit is contained in:
parent
fe8313c717
commit
ece43e2515
|
@ -557,8 +557,10 @@ PhysicalKeyboardHandler::EventMappingArray PhysicalKeyboardHandler::DefaultJoyst
|
||||||
{Event::JoystickZeroFire, KBDK_LCTRL},
|
{Event::JoystickZeroFire, KBDK_LCTRL},
|
||||||
{Event::JoystickZeroFire, KBDK_KP_5},
|
{Event::JoystickZeroFire, KBDK_KP_5},
|
||||||
{Event::JoystickZeroFire5, KBDK_4},
|
{Event::JoystickZeroFire5, KBDK_4},
|
||||||
|
{Event::JoystickZeroFire5, KBDK_RSHIFT},
|
||||||
{Event::JoystickZeroFire5, KBDK_KP_9},
|
{Event::JoystickZeroFire5, KBDK_KP_9},
|
||||||
{Event::JoystickZeroFire9, KBDK_5},
|
{Event::JoystickZeroFire9, KBDK_5},
|
||||||
|
{Event::JoystickZeroFire9, KBDK_RCTRL},
|
||||||
{Event::JoystickZeroFire9, KBDK_KP_3},
|
{Event::JoystickZeroFire9, KBDK_KP_3},
|
||||||
{Event::JoystickOneUp, KBDK_Y},
|
{Event::JoystickOneUp, KBDK_Y},
|
||||||
{Event::JoystickOneDown, KBDK_H},
|
{Event::JoystickOneDown, KBDK_H},
|
||||||
|
@ -573,11 +575,14 @@ PhysicalKeyboardHandler::EventMappingArray PhysicalKeyboardHandler::DefaultJoyst
|
||||||
PhysicalKeyboardHandler::EventMappingArray PhysicalKeyboardHandler::DefaultPaddleMapping = {
|
PhysicalKeyboardHandler::EventMappingArray PhysicalKeyboardHandler::DefaultPaddleMapping = {
|
||||||
{Event::PaddleZeroDecrease, KBDK_RIGHT},
|
{Event::PaddleZeroDecrease, KBDK_RIGHT},
|
||||||
{Event::PaddleZeroIncrease, KBDK_LEFT},
|
{Event::PaddleZeroIncrease, KBDK_LEFT},
|
||||||
|
{Event::PaddleZeroFire, KBDK_SPACE},
|
||||||
{Event::PaddleZeroFire, KBDK_LCTRL},
|
{Event::PaddleZeroFire, KBDK_LCTRL},
|
||||||
|
{Event::PaddleZeroFire, KBDK_KP_5},
|
||||||
|
|
||||||
{Event::PaddleOneDecrease, KBDK_DOWN},
|
{Event::PaddleOneDecrease, KBDK_DOWN},
|
||||||
{Event::PaddleOneIncrease, KBDK_UP},
|
{Event::PaddleOneIncrease, KBDK_UP},
|
||||||
{Event::PaddleOneFire, KBDK_4},
|
{Event::PaddleOneFire, KBDK_4},
|
||||||
|
{Event::PaddleOneFire, KBDK_RCTRL},
|
||||||
|
|
||||||
{Event::PaddleTwoDecrease, KBDK_J},
|
{Event::PaddleTwoDecrease, KBDK_J},
|
||||||
{Event::PaddleTwoIncrease, KBDK_G},
|
{Event::PaddleTwoIncrease, KBDK_G},
|
||||||
|
|
|
@ -1296,7 +1296,7 @@ StringList EventHandler::getActionList(Event::Group group) const
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
StringList EventHandler::getActionList(const EventList& events, EventMode mode) const
|
StringList EventHandler::getActionList(const Event::EventSet& events, EventMode mode) const
|
||||||
{
|
{
|
||||||
StringList l;
|
StringList l;
|
||||||
|
|
||||||
|
@ -1394,7 +1394,7 @@ void EventHandler::setComboListForEvent(Event::Type event, const StringList& eve
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
int EventHandler::getEmulActionListIndex(int idx, const EventList& events) const
|
int EventHandler::getEmulActionListIndex(int idx, const Event::EventSet& events) const
|
||||||
{
|
{
|
||||||
// idx = index into intersection set of 'events' and 'ourEmulActionList'
|
// idx = index into intersection set of 'events' and 'ourEmulActionList'
|
||||||
// ordered by 'ourEmulActionList'!
|
// ordered by 'ourEmulActionList'!
|
||||||
|
@ -1728,26 +1728,26 @@ void EventHandler::exitEmulation()
|
||||||
EventHandler::ActionList EventHandler::ourEmulActionList[EMUL_ACTIONLIST_SIZE] = {
|
EventHandler::ActionList EventHandler::ourEmulActionList[EMUL_ACTIONLIST_SIZE] = {
|
||||||
{ Event::Quit, "Quit", "" },
|
{ Event::Quit, "Quit", "" },
|
||||||
{ Event::ReloadConsole, "Reload current ROM/load next game", "" },
|
{ Event::ReloadConsole, "Reload current ROM/load next game", "" },
|
||||||
{ Event::Fry, "Fry cartridge", "" },
|
|
||||||
{ Event::ExitMode, "Exit current Stella menu/mode", "" },
|
{ Event::ExitMode, "Exit current Stella menu/mode", "" },
|
||||||
{ Event::OptionsMenuMode, "Enter Options menu UI", "" },
|
{ Event::OptionsMenuMode, "Enter Options menu UI", "" },
|
||||||
{ Event::CmdMenuMode, "Toggle Commands menu UI", "" },
|
{ Event::CmdMenuMode, "Toggle Commands menu UI", "" },
|
||||||
{ Event::DebuggerMode, "Toggle Debugger mode", "" },
|
|
||||||
{ Event::TogglePauseMode, "Toggle Pause mode", "" },
|
{ Event::TogglePauseMode, "Toggle Pause mode", "" },
|
||||||
{ Event::StartPauseMode, "Start Pause mode", "" },
|
{ Event::StartPauseMode, "Start Pause mode", "" },
|
||||||
|
{ Event::Fry, "Fry cartridge", "" },
|
||||||
|
{ Event::DebuggerMode, "Toggle Debugger mode", "" },
|
||||||
|
|
||||||
{ Event::ConsoleSelect, "Select", "" },
|
{ Event::ConsoleSelect, "Select", "" },
|
||||||
{ Event::ConsoleReset, "Reset", "" },
|
{ Event::ConsoleReset, "Reset", "" },
|
||||||
{ Event::ConsoleColor, "Color TV", "" },
|
{ Event::ConsoleColor, "Color TV", "" },
|
||||||
{ Event::ConsoleBlackWhite, "Black & White TV", "" },
|
{ Event::ConsoleBlackWhite, "Black & White TV", "" },
|
||||||
{ Event::ConsoleColorToggle, "Swap Color / B&W TV", "" },
|
{ Event::ConsoleColorToggle, "Toggle Color / B&W TV", "" },
|
||||||
{ Event::Console7800Pause, "7800 Pause Key", "" },
|
{ Event::Console7800Pause, "7800 Pause Key", "" },
|
||||||
{ Event::ConsoleLeftDiffA, "P0 Difficulty A", "" },
|
{ Event::ConsoleLeftDiffA, "P0 Difficulty A", "" },
|
||||||
{ Event::ConsoleLeftDiffB, "P0 Difficulty B", "" },
|
{ Event::ConsoleLeftDiffB, "P0 Difficulty B", "" },
|
||||||
{ Event::ConsoleLeftDiffToggle, "P0 Swap Difficulty", "" },
|
{ Event::ConsoleLeftDiffToggle, "P0 Toggle Difficulty", "" },
|
||||||
{ Event::ConsoleRightDiffA, "P1 Difficulty A", "" },
|
{ Event::ConsoleRightDiffA, "P1 Difficulty A", "" },
|
||||||
{ Event::ConsoleRightDiffB, "P1 Difficulty B", "" },
|
{ Event::ConsoleRightDiffB, "P1 Difficulty B", "" },
|
||||||
{ Event::ConsoleRightDiffToggle, "P1 Swap Difficulty", "" },
|
{ Event::ConsoleRightDiffToggle, "P1 Toggle Difficulty", "" },
|
||||||
{ Event::SaveState, "Save state", "" },
|
{ Event::SaveState, "Save state", "" },
|
||||||
{ Event::ChangeState, "Change state slot", "" },
|
{ Event::ChangeState, "Change state slot", "" },
|
||||||
{ Event::ToggleAutoSlot, "Toggle automatic state slot change", "" },
|
{ Event::ToggleAutoSlot, "Toggle automatic state slot change", "" },
|
||||||
|
@ -1932,9 +1932,9 @@ EventHandler::ActionList EventHandler::ourMenuActionList[MENU_ACTIONLIST_SIZE] =
|
||||||
|
|
||||||
// Event groups
|
// Event groups
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
const EventHandler::EventList EventHandler::MiscEvents = {
|
const Event::EventSet EventHandler::MiscEvents = {
|
||||||
Event::Quit, Event::ReloadConsole, Event::Fry, Event::StartPauseMode,
|
Event::Quit, Event::ReloadConsole, Event::Fry, Event::StartPauseMode,
|
||||||
Event::TogglePauseMode, Event::OptionsMenuMode, Event::CmdMenuMode, Event::DebuggerMode, Event::ExitMode,
|
Event::TogglePauseMode, Event::OptionsMenuMode, Event::CmdMenuMode, Event::ExitMode,
|
||||||
Event::TakeSnapshot, Event::ToggleContSnapshots, Event::ToggleContSnapshotsFrame,
|
Event::TakeSnapshot, Event::ToggleContSnapshots, Event::ToggleContSnapshotsFrame,
|
||||||
// Event::MouseAxisXValue, Event::MouseAxisYValue,
|
// Event::MouseAxisXValue, Event::MouseAxisYValue,
|
||||||
// Event::MouseButtonLeftValue, Event::MouseButtonRightValue,
|
// Event::MouseButtonLeftValue, Event::MouseButtonRightValue,
|
||||||
|
@ -1943,7 +1943,7 @@ const EventHandler::EventList EventHandler::MiscEvents = {
|
||||||
};
|
};
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
const EventHandler::EventList EventHandler::AudioVideoEvents = {
|
const Event::EventSet EventHandler::AudioVideoEvents = {
|
||||||
Event::VolumeDecrease, Event::VolumeIncrease, Event::SoundToggle,
|
Event::VolumeDecrease, Event::VolumeIncrease, Event::SoundToggle,
|
||||||
Event::VidmodeDecrease, Event::VidmodeIncrease,
|
Event::VidmodeDecrease, Event::VidmodeIncrease,
|
||||||
Event::ToggleFullScreen,
|
Event::ToggleFullScreen,
|
||||||
|
@ -1957,7 +1957,7 @@ const EventHandler::EventList EventHandler::AudioVideoEvents = {
|
||||||
};
|
};
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
const EventHandler::EventList EventHandler::StateEvents = {
|
const Event::EventSet EventHandler::StateEvents = {
|
||||||
Event::ChangeState, Event::LoadState, Event::SaveState, Event::TimeMachineMode,
|
Event::ChangeState, Event::LoadState, Event::SaveState, Event::TimeMachineMode,
|
||||||
Event::RewindPause, Event::UnwindPause, Event::ToggleTimeMachine,
|
Event::RewindPause, Event::UnwindPause, Event::ToggleTimeMachine,
|
||||||
Event::Rewind1Menu, Event::Rewind10Menu, Event::RewindAllMenu,
|
Event::Rewind1Menu, Event::Rewind10Menu, Event::RewindAllMenu,
|
||||||
|
@ -1966,8 +1966,9 @@ const EventHandler::EventList EventHandler::StateEvents = {
|
||||||
};
|
};
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
const EventHandler::EventList EventHandler::ConsoleEvents = {
|
const Event::EventSet EventHandler::ConsoleEvents = {
|
||||||
Event::ConsoleOn, Event::ConsoleOff, Event::ConsoleColor, Event::ConsoleBlackWhite,
|
// Event::ConsoleOn, Event::ConsoleOff,
|
||||||
|
Event::ConsoleColor, Event::ConsoleBlackWhite,
|
||||||
Event::ConsoleLeftDiffA, Event::ConsoleLeftDiffB,
|
Event::ConsoleLeftDiffA, Event::ConsoleLeftDiffB,
|
||||||
Event::ConsoleRightDiffA, Event::ConsoleRightDiffB,
|
Event::ConsoleRightDiffA, Event::ConsoleRightDiffB,
|
||||||
Event::ConsoleSelect, Event::ConsoleReset,
|
Event::ConsoleSelect, Event::ConsoleReset,
|
||||||
|
@ -1976,7 +1977,7 @@ const EventHandler::EventList EventHandler::ConsoleEvents = {
|
||||||
};
|
};
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
const EventHandler::EventList EventHandler::JoystickEvents = {
|
const Event::EventSet EventHandler::JoystickEvents = {
|
||||||
Event::JoystickZeroUp, Event::JoystickZeroDown, Event::JoystickZeroLeft, Event::JoystickZeroRight,
|
Event::JoystickZeroUp, Event::JoystickZeroDown, Event::JoystickZeroLeft, Event::JoystickZeroRight,
|
||||||
Event::JoystickZeroFire, Event::JoystickZeroFire5, Event::JoystickZeroFire9,
|
Event::JoystickZeroFire, Event::JoystickZeroFire5, Event::JoystickZeroFire9,
|
||||||
Event::JoystickOneUp, Event::JoystickOneDown, Event::JoystickOneLeft, Event::JoystickOneRight,
|
Event::JoystickOneUp, Event::JoystickOneDown, Event::JoystickOneLeft, Event::JoystickOneRight,
|
||||||
|
@ -1984,14 +1985,14 @@ const EventHandler::EventList EventHandler::JoystickEvents = {
|
||||||
};
|
};
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
const EventHandler::EventList EventHandler::PaddlesEvents = {
|
const Event::EventSet EventHandler::PaddlesEvents = {
|
||||||
Event::PaddleZeroDecrease, Event::PaddleZeroIncrease, Event::PaddleZeroAnalog, Event::PaddleZeroFire,
|
Event::PaddleZeroDecrease, Event::PaddleZeroIncrease, Event::PaddleZeroAnalog, Event::PaddleZeroFire,
|
||||||
Event::PaddleOneDecrease, Event::PaddleOneIncrease, Event::PaddleOneAnalog, Event::PaddleOneFire,
|
Event::PaddleOneDecrease, Event::PaddleOneIncrease, Event::PaddleOneAnalog, Event::PaddleOneFire,
|
||||||
Event::PaddleTwoDecrease, Event::PaddleTwoIncrease, Event::PaddleTwoAnalog, Event::PaddleTwoFire,
|
Event::PaddleTwoDecrease, Event::PaddleTwoIncrease, Event::PaddleTwoAnalog, Event::PaddleTwoFire,
|
||||||
Event::PaddleThreeDecrease, Event::PaddleThreeIncrease, Event::PaddleThreeAnalog, Event::PaddleThreeFire,
|
Event::PaddleThreeDecrease, Event::PaddleThreeIncrease, Event::PaddleThreeAnalog, Event::PaddleThreeFire,
|
||||||
};
|
};
|
||||||
|
|
||||||
const EventHandler::EventList EventHandler::KeyboardEvents = {
|
const Event::EventSet EventHandler::KeyboardEvents = {
|
||||||
Event::KeyboardZero1, Event::KeyboardZero2, Event::KeyboardZero3,
|
Event::KeyboardZero1, Event::KeyboardZero2, Event::KeyboardZero3,
|
||||||
Event::KeyboardZero4, Event::KeyboardZero5, Event::KeyboardZero6,
|
Event::KeyboardZero4, Event::KeyboardZero5, Event::KeyboardZero6,
|
||||||
Event::KeyboardZero7, Event::KeyboardZero8, Event::KeyboardZero9,
|
Event::KeyboardZero7, Event::KeyboardZero8, Event::KeyboardZero9,
|
||||||
|
@ -2004,7 +2005,14 @@ const EventHandler::EventList EventHandler::KeyboardEvents = {
|
||||||
};
|
};
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
const EventHandler::EventList EventHandler::DebugEvents = {
|
const Event::EventSet EventHandler::ComboEvents = {
|
||||||
|
Event::Combo1, Event::Combo2, Event::Combo3, Event::Combo4, Event::Combo5, Event::Combo6, Event::Combo7, Event::Combo8,
|
||||||
|
Event::Combo9, Event::Combo10, Event::Combo11, Event::Combo12, Event::Combo13, Event::Combo14, Event::Combo15, Event::Combo16,
|
||||||
|
};
|
||||||
|
|
||||||
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
const Event::EventSet EventHandler::DebugEvents = {
|
||||||
|
Event::DebuggerMode,
|
||||||
Event::ToggleFrameStats,
|
Event::ToggleFrameStats,
|
||||||
Event::ToggleP0Collision, Event::ToggleP0Bit, Event::ToggleP1Collision, Event::ToggleP1Bit,
|
Event::ToggleP0Collision, Event::ToggleP0Bit, Event::ToggleP1Collision, Event::ToggleP1Bit,
|
||||||
Event::ToggleM0Collision, Event::ToggleM0Bit, Event::ToggleM1Collision, Event::ToggleM1Bit,
|
Event::ToggleM0Collision, Event::ToggleM0Bit, Event::ToggleM1Collision, Event::ToggleM1Bit,
|
||||||
|
@ -2013,10 +2021,3 @@ const EventHandler::EventList EventHandler::DebugEvents = {
|
||||||
Event::ToggleColorLoss,
|
Event::ToggleColorLoss,
|
||||||
Event::ToggleJitter,
|
Event::ToggleJitter,
|
||||||
};
|
};
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
||||||
const EventHandler::EventList EventHandler::ComboEvents = {
|
|
||||||
Event::Combo1, Event::Combo2, Event::Combo3, Event::Combo4, Event::Combo5, Event::Combo6, Event::Combo7, Event::Combo8,
|
|
||||||
Event::Combo9, Event::Combo10, Event::Combo11, Event::Combo12, Event::Combo13, Event::Combo14, Event::Combo15, Event::Combo16,
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
|
@ -400,17 +400,16 @@ class EventHandler
|
||||||
MENU_ACTIONLIST_SIZE = 18
|
MENU_ACTIONLIST_SIZE = 18
|
||||||
;
|
;
|
||||||
|
|
||||||
using EventList = std::vector<Event::Type>;
|
|
||||||
// Define event groups
|
// Define event groups
|
||||||
static const EventList MiscEvents;
|
static const Event::EventSet MiscEvents;
|
||||||
static const EventList StateEvents;
|
static const Event::EventSet AudioVideoEvents;
|
||||||
static const EventList AudioVideoEvents;
|
static const Event::EventSet StateEvents;
|
||||||
static const EventList ConsoleEvents;
|
static const Event::EventSet ConsoleEvents;
|
||||||
static const EventList JoystickEvents;
|
static const Event::EventSet JoystickEvents;
|
||||||
static const EventList PaddlesEvents;
|
static const Event::EventSet PaddlesEvents;
|
||||||
static const EventList KeyboardEvents;
|
static const Event::EventSet KeyboardEvents;
|
||||||
static const EventList DebugEvents;
|
static const Event::EventSet ComboEvents;
|
||||||
static const EventList ComboEvents;
|
static const Event::EventSet DebugEvents;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
The following methods take care of assigning action mappings.
|
The following methods take care of assigning action mappings.
|
||||||
|
@ -421,9 +420,9 @@ class EventHandler
|
||||||
void saveComboMapping();
|
void saveComboMapping();
|
||||||
|
|
||||||
StringList getActionList(EventMode mode) const;
|
StringList getActionList(EventMode mode) const;
|
||||||
StringList getActionList(const EventList& events, EventMode mode = EventMode::kEmulationMode) const;
|
StringList getActionList(const Event::EventSet& events, EventMode mode = EventMode::kEmulationMode) const;
|
||||||
// returns the action array index of the index in the provided group
|
// returns the action array index of the index in the provided group
|
||||||
int getEmulActionListIndex(int idx, const EventList& events) const;
|
int getEmulActionListIndex(int idx, const Event::EventSet& events) const;
|
||||||
int getActionListIndex(int idx, Event::Group group) const;
|
int getActionListIndex(int idx, Event::Group group) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -190,6 +190,7 @@ void EventMappingWidget::updateActions()
|
||||||
myActionsList->setList(actions);
|
myActionsList->setList(actions);
|
||||||
myActionSelected = myActionsList->getSelected();
|
myActionSelected = myActionsList->getSelected();
|
||||||
drawKeyMapping();
|
drawKeyMapping();
|
||||||
|
enableButtons(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
Loading…
Reference in New Issue