Add default key mappings for R77 at a lower level

- this allows to always reset to known working settings
- we no longer need a specific keymap in SettingsR77, so it is removed

Add action that can switch between fullscreen normal or stretched modes
- this is the 'tia.fsfill' option, that is currently only change-able from the UI
- still need to add infrastructure to actually do this

Fixed minor compile warning.
This commit is contained in:
Stephen Anthony 2019-04-07 14:41:58 -02:30
parent 35b7f96ad1
commit 368159a598
6 changed files with 21 additions and 19 deletions

View File

@ -139,7 +139,6 @@ void PhysicalKeyboardHandler::setDefaultMapping(Event::Type event, EventMode mod
setDefaultKey( KBDK_6, Event::JoystickOneFire5 );
setDefaultKey( KBDK_7, Event::JoystickOneFire9 );
setDefaultKey( KBDK_F1, Event::ConsoleSelect );
setDefaultKey( KBDK_F2, Event::ConsoleReset );
setDefaultKey( KBDK_F3, Event::ConsoleColor );
@ -159,6 +158,17 @@ void PhysicalKeyboardHandler::setDefaultMapping(Event::Type event, EventMode mod
setDefaultKey( KBDK_T, Event::TimeMachineMode );
setDefaultKey( KBDK_GRAVE, Event::DebuggerMode );
setDefaultKey( KBDK_ESCAPE, Event::LauncherMode );
// FIXME - use the R77 define in the final release
// use the '1' define for testing
#if defined(RETRON77)
// #if 1
setDefaultKey( KBDK_F4, Event::ConsoleColorToggle );
setDefaultKey( KBDK_F6, Event::ConsoleLeftDiffToggle );
setDefaultKey( KBDK_F8, Event::ConsoleRightDiffToggle );
setDefaultKey( KBDK_F13, Event::FullscreenFillToggle );
setDefaultKey( KBDK_BACKSPACE, Event::LauncherMode );
#endif
break;
case kMenuMode:
@ -175,9 +185,10 @@ void PhysicalKeyboardHandler::setDefaultMapping(Event::Type event, EventMode mod
setDefaultKey( KBDK_RETURN, Event::UISelect );
setDefaultKey( KBDK_ESCAPE, Event::UICancel );
//#ifndef RETRON77 // debugging only, FIX ME!
// setDefaultKey(KBDK_BACKSPACE, Event::UIPrevDir);
//#else
// FIXME - use the R77 define in the final release
// use the '1' define for testing
#if defined(RETRON77)
// #if 1
setDefaultKey( KBDK_F9, Event::UIUp );
setDefaultKey( KBDK_F2, Event::UIDown );
setDefaultKey( KBDK_F11, Event::UINavPrev );
@ -185,7 +196,7 @@ void PhysicalKeyboardHandler::setDefaultMapping(Event::Type event, EventMode mod
setDefaultKey( KBDK_F6, Event::UISelect );
setDefaultKey( KBDK_F13, Event::UIPgUp );
setDefaultKey( KBDK_BACKSPACE, Event::UIPgDown );
//#endif // debugging only, FIX ME!
#endif
break;
default:

View File

@ -32,7 +32,7 @@ class Event
/**
Enumeration of all possible events in Stella, including both
console and controller event types as well as events that aren't
technically part of the emulation core
technically part of the emulation core.
*/
enum Type
{
@ -74,7 +74,7 @@ class Event
ChangeState, LoadState, SaveState, TakeSnapshot, Quit,
PauseMode, OptionsMenuMode, CmdMenuMode, TimeMachineMode, DebuggerMode, LauncherMode,
Fry, VolumeDecrease, VolumeIncrease, SoundToggle,
Fry, VolumeDecrease, VolumeIncrease, SoundToggle, FullscreenFillToggle,
UIUp, UIDown, UILeft, UIRight, UIHome, UIEnd, UIPgUp, UIPgDown,
UISelect, UINavPrev, UINavNext, UIOK, UICancel, UIPrevDir,

View File

@ -1281,6 +1281,7 @@ EventHandler::ActionList EventHandler::ourEmulActionList[kEmulActionListSize] =
{ Event::VolumeDecrease, "Decrease volume", "", false },
{ Event::VolumeIncrease, "Increase volume", "", false },
{ Event::SoundToggle, "Toggle sound", "", false },
{ Event::FullscreenFillToggle, "Toggle fullscreen fill", "", false },
{ Event::PauseMode, "Pause", "", false },
{ Event::OptionsMenuMode, "Enter options menu UI", "", false },
{ Event::CmdMenuMode, "Toggle command menu UI", "", false },

View File

@ -363,7 +363,7 @@ class EventHandler
enum {
kComboSize = 16,
kEventsPerCombo = 8,
kEmulActionListSize = 81 + kComboSize,
kEmulActionListSize = 82 + kComboSize,
kMenuActionListSize = 14
};

View File

@ -55,7 +55,6 @@ LauncherDialog::LauncherDialog(OSystem& osystem, DialogContainer& parent,
myPattern(nullptr),
myAllFiles(nullptr),
myRomInfoWidget(nullptr),
myStellaSettingsDialog(nullptr),
mySelectedItem(0)
{
myUseMinimalUI = instance().settings().getBool("minimal_ui");

View File

@ -33,7 +33,7 @@ SettingsR77::SettingsR77()
setPermanent("vsync", "true");
setPermanent("tia.zoom", "3");
setPermanent("tia.fsfill", "true");
setPermanent("tia.fsfill", "false"); // start in 4:3 by default
setPermanent("audio.buffer_size", "6");
setPermanent("audio.enabled", "1");
@ -45,11 +45,6 @@ SettingsR77::SettingsR77()
setPermanent("audio.stereo", "0");
setPermanent("audio.volume", "80");
// TODO - use new argument that differentiates between fullscreen and
// fullscreen without aspect correction
// Re-add ability to use a specific fullscreen resolution
setPermanent("fullscreen", "true"); // start in 16:9 mode by default
setPermanent("romdir", "/mnt/games");
setPermanent("snapsavedir", "/mnt/stella/snapshots");
setPermanent("snaploaddir", "/mnt/stella/snapshots");
@ -66,10 +61,6 @@ SettingsR77::SettingsR77()
setPermanent("threads", "1");
setPermanent("tv.filter", "3");
setPermanent("tv.phosphor", "always");
// FIXME - these are out of date, since the # of events has changed since 3.x
setPermanent("keymap", "122:0:0:0:0:51:0:56:53:50:26:24:23:60:25:63:64:0:0:61:62:48:0:52:101:0:0:49:55:22:54:45:46:47:20:21:27:28:57:58:59:0:0:103:99:19:0:0:0:0:100:0:65:0:102:66:67:68:0:9:10:0:13:0:11:0:12:95:93:94:96:0:0:98:0:0:0:0:0:0:18:17:16:15:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:19:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:116:120:121:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:112:114:0:113:115:111:110:109:108:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0");
// setPermanent("joymap", "116^i2c_controller|2 27 27 31 31 0 0 0 0|8 28 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0|0^i2c_controller 2|2 35 35 39 39 0 0 0 0|8 36 40 0 0 0 0 0 0 0 0 0 0 0 0 0 0|0");
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -