diff --git a/Changes.txt b/Changes.txt index c6489c0d4..897c712b9 100644 --- a/Changes.txt +++ b/Changes.txt @@ -35,6 +35,9 @@ * The 'listdelay' command now accepts a value of zero, indicating that list-skipping (jumping to a line in a list by keypress) is disabled. + * The 'ctrlcombo' command now has a GUI item, allowing it to be changed + from within the application. + * Added 'Shift-Alt/Shift-Cmd s' keyboard shortcut, to enable continuous snapshot mode for each frame. This is really only useful if you save snapshots in 1x mode; using it in high-resolution mode is diff --git a/docs/graphics/eventmapping_devsports.png b/docs/graphics/eventmapping_devsports.png index a06b12958..af7762d98 100644 Binary files a/docs/graphics/eventmapping_devsports.png and b/docs/graphics/eventmapping_devsports.png differ diff --git a/docs/index.html b/docs/index.html index 57f3bf78d..9e87fa858 100644 --- a/docs/index.html +++ b/docs/index.html @@ -2617,7 +2617,9 @@ Mouse paddle sensitivitySensitivity used when emulating a paddle using a mouse-msense Allow all 4 ...Allow all 4 joystick directions to be pressed simultaneously-joyallow4 Grab mouse ...Keep mouse in window in emulation mode-grabmouse - Always hide mouse ...completely disable showing the mouse cursor-hidemouse + Always hide mouse ...Completely disable showing the mouse cursor-hidemouse + Use Control key combosEnable using Control key in keyboard actions-ctrlcombo + Show Joystick DatabaseShow all joysticks that Stella knows about, with the option to remove them  diff --git a/src/gui/InputDialog.cxx b/src/gui/InputDialog.cxx index 5e5e4def3..bc84e3613 100644 --- a/src/gui/InputDialog.cxx +++ b/src/gui/InputDialog.cxx @@ -47,7 +47,7 @@ InputDialog::InputDialog(OSystem& osystem, DialogContainer& parent, // Set real dimensions _w = BSPF_min(50 * fontWidth + 10, max_w); - _h = BSPF_min(14 * (lineHeight + 4) + 14, max_h); + _h = BSPF_min(15 * (lineHeight + 4) + 14, max_h); // The tab widget xpos = 2; ypos = vBorder; @@ -202,11 +202,18 @@ void InputDialog::addDevicePortTab(const GUI::Font& font) myHideCursor->clearFlags(WIDGET_ENABLED); #endif + // Enable/disable control key-combos + ypos += lineHeight + 4; + myCtrlCombo = new CheckboxWidget(myTab, font, xpos, ypos, + "Use Control key combos"); + wid.push_back(myCtrlCombo); + // Show joystick database xpos += 20; ypos += lineHeight + 8; myJoyDlgButton = new ButtonWidget(myTab, font, xpos, ypos, font.getStringWidth("Show Joystick Database") + 20, font.getLineHeight() + 4, "Show Joystick Database", kDBButtonPressed); + wid.push_back(myJoyDlgButton); // Add items for virtual device ports addToFocusList(wid, myTab, tabID); @@ -244,6 +251,9 @@ void InputDialog::loadConfig() // Hide cursor myHideCursor->setState(instance().settings().getBool("hidecursor")); + // Enable/disable control key-combos + myCtrlCombo->setState(instance().settings().getBool("ctrlcombo")); + myTab->loadConfig(); } @@ -283,6 +293,9 @@ void InputDialog::saveConfig() instance().settings().setValue("grabmouse", myGrabMouse->getState()); instance().settings().setValue("hidecursor", myHideCursor->getState()); instance().frameBuffer().setCursorState(); + + // Enable/disable control key-combos + instance().settings().setValue("ctrlcombo", myCtrlCombo->getState()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -328,6 +341,9 @@ void InputDialog::setDefaults() // Hide cursor myHideCursor->setState(false); + // Enable/disable control key-combos + myCtrlCombo->setState(true); + break; } diff --git a/src/gui/InputDialog.hxx b/src/gui/InputDialog.hxx index 4f8d9dead..50f1183de 100644 --- a/src/gui/InputDialog.hxx +++ b/src/gui/InputDialog.hxx @@ -82,6 +82,7 @@ class InputDialog : public Dialog CheckboxWidget* myAllowAll4; CheckboxWidget* myGrabMouse; CheckboxWidget* myHideCursor; + CheckboxWidget* myCtrlCombo; ButtonWidget* myJoyDlgButton;