diff --git a/Changes.txt b/Changes.txt
index 0d7868416..5696c3989 100644
--- a/Changes.txt
+++ b/Changes.txt
@@ -30,7 +30,7 @@
* Added configurable paddle dejittering.
- * Huge improvements to event remapping. (TODO: doc)
+ * Huge improvements to event remapping.
- Allow mapping of modifier-key and button-direction combinations.
- One controller can use the same mappings as other controllers
- Much more events can be remapped
diff --git a/docs/graphics/eventmapping.png b/docs/graphics/eventmapping.png
index e165f37b4..3907eaff8 100644
Binary files a/docs/graphics/eventmapping.png and b/docs/graphics/eventmapping.png differ
diff --git a/docs/graphics/eventmapping_combo.png b/docs/graphics/eventmapping_combo.png
index f4c5d7f36..18d461971 100644
Binary files a/docs/graphics/eventmapping_combo.png and b/docs/graphics/eventmapping_combo.png differ
diff --git a/docs/graphics/eventmapping_remap.png b/docs/graphics/eventmapping_remap.png
index 5676b37d1..e99aed5dd 100644
Binary files a/docs/graphics/eventmapping_remap.png and b/docs/graphics/eventmapping_remap.png differ
diff --git a/docs/index.html b/docs/index.html
index a6d56c954..a8797b52e 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -1021,13 +1021,13 @@
- Paddle 0 decrease |
- Right arrow |
+ Paddle 0 Turn Left |
+ Left arrow |
- Paddle 0 increase |
- Left arrow |
+ Paddle 0 Turn Right |
+ Right arrow |
@@ -1036,13 +1036,13 @@
- Paddle 1 decrease |
- Down arrow |
+ Paddle 1 Turn Left |
+ Up arrow |
- Paddle 1 increase |
- Up arrow |
+ Paddle 1 Turn Right |
+ Down arrow |
@@ -1060,13 +1060,13 @@
- Paddle 2 decrease |
- J |
+ Paddle 2 Turn Left |
+ G |
- Paddle 2 increase |
- G |
+ Paddle 2 Turn Right |
+ J |
@@ -1075,13 +1075,13 @@
- Paddle 3 decrease |
- H |
+ Paddle 3 Turn Left |
+ Y |
- Paddle 3 increase |
- Y |
+ Paddle 3 Turn Right |
+ H |
@@ -2934,19 +2934,22 @@
To remap an event:
- Enter Options Menu and click the Input Settings button.
- - If you wish to remap emulation events, click the 'Emul. Events' tab.
+
- If you wish to remap emulation events, click the 'Emulation Events' tab.
Otherwise, click the 'UI Events' tab for user interface events.
- - Select event you want to remap and click the 'Map' button.
- - Press a key, a modifier key (Control, Shift...), a modifier+key combination or
- use a controller direction or button. Then that key (combination) or controller
- action will be bound to the selected event.
- Notes:
- - If nothing seems to happen, either Stella can't see the input device, or the
- selected event doesn't support being remapped to the input device.
+ - Select event you want to remap and double-click or click the 'Map' button.
+ - Now define the input:
+
+ - Either press a key, a modifier key (Control, Shift...) or a modifier+key combination.
+ - Or use a controller direction, a button or a button+controller direction combination.
+
Then that key (combination) or controller action will be bound to the selected event.
+ Notes:
+ - If nothing seems to happen, either Stella can't see the input device, or the
+ selected event doesn't support being remapped to the input device.
+ - The same input can be used for multiple controller types (e.g. 'Right' for 'P0 Joystick Right' and 'Paddle 0 Turn Right').
+ - If the same input is used again for the same controller type, the old mapping will be removed.
- Events which are available in both event modes can be remapped individually.
- - Left and right modifiers are mapped separately. To map them as one, press both
- modifier keys during mapping.
-
+ - Left and right modifiers are mapped separately when used alone.
+
- Cancel a remap in progress by clicking 'Cancel', erase the event's mappings by
clicking 'Erase', or reset to default mapping by clicking 'Reset'
- Reset to default all mappings by clicking 'Defaults'.
@@ -2956,7 +2959,7 @@
- There is also a 'Combo' button in the 'Emul. Events' tab, accessible
+
There is also a 'Combo' button in the 'Emulation Events' tab, accessible
when a Combo event has been selected from the list of events on the left.
Clicking 'Combo' will show a dialog similar to the following:
diff --git a/src/emucore/EventHandler.cxx b/src/emucore/EventHandler.cxx
index 515f21883..1c267d2c4 100644
--- a/src/emucore/EventHandler.cxx
+++ b/src/emucore/EventHandler.cxx
@@ -1625,23 +1625,23 @@ EventHandler::ActionList EventHandler::ourEmulActionList[EMUL_ACTIONLIST_SIZE] =
{ Event::JoystickOneFire9, "P1 Booster Handle Grip Trigger", "" },
{ Event::PaddleZeroAnalog, "Paddle 0 Analog", "" },
- { Event::PaddleZeroDecrease, "Paddle 0 Decrease", "" },
- { Event::PaddleZeroIncrease, "Paddle 0 Increase", "" },
+ { Event::PaddleZeroIncrease, "Paddle 0 Turn Left", "" },
+ { Event::PaddleZeroDecrease, "Paddle 0 Turn Right", "" },
{ Event::PaddleZeroFire, "Paddle 0 Fire", "" },
{ Event::PaddleOneAnalog, "Paddle 1 Analog", "" },
- { Event::PaddleOneDecrease, "Paddle 1 Decrease", "" },
- { Event::PaddleOneIncrease, "Paddle 1 Increase", "" },
+ { Event::PaddleOneIncrease, "Paddle 1 Turn Left", "" },
+ { Event::PaddleOneDecrease, "Paddle 1 Turn Right", "" },
{ Event::PaddleOneFire, "Paddle 1 Fire", "" },
{ Event::PaddleTwoAnalog, "Paddle 2 Analog", "" },
- { Event::PaddleTwoDecrease, "Paddle 2 Decrease", "" },
- { Event::PaddleTwoIncrease, "Paddle 2 Increase", "" },
+ { Event::PaddleTwoIncrease, "Paddle 2 Turn Left", "" },
+ { Event::PaddleTwoDecrease, "Paddle 2 Turn Right", "" },
{ Event::PaddleTwoFire, "Paddle 2 Fire", "" },
{ Event::PaddleThreeAnalog, "Paddle 3 Analog", "" },
- { Event::PaddleThreeDecrease, "Paddle 3 Decrease", "" },
- { Event::PaddleThreeIncrease, "Paddle 3 Increase", "" },
+ { Event::PaddleThreeIncrease, "Paddle 3 Turn Left", "" },
+ { Event::PaddleThreeDecrease, "Paddle 3 Turn Right", "" },
{ Event::PaddleThreeFire, "Paddle 3 Fire", "" },
{ Event::KeyboardZero1, "P0 Keyboard 1", "" },
diff --git a/src/gui/InputDialog.cxx b/src/gui/InputDialog.cxx
index 0d2c6c02e..f389789f0 100644
--- a/src/gui/InputDialog.cxx
+++ b/src/gui/InputDialog.cxx
@@ -59,7 +59,7 @@ InputDialog::InputDialog(OSystem& osystem, DialogContainer& parent,
addTabWidget(myTab);
// 1) Event mapper for emulation actions
- tabID = myTab->addTab("Emul. Events");
+ tabID = myTab->addTab(" Emulation Events ", TabWidget::AUTO_WIDTH);
actions = instance().eventHandler().getActionList(kEmulationMode);
myEmulEventMapper = new EventMappingWidget(myTab, font, 2, 2,
myTab->getWidth(),
@@ -69,7 +69,7 @@ InputDialog::InputDialog(OSystem& osystem, DialogContainer& parent,
addToFocusList(myEmulEventMapper->getFocusList(), myTab, tabID);
// 2) Event mapper for UI actions
- tabID = myTab->addTab("UI Events");
+ tabID = myTab->addTab(" UI Events ", TabWidget::AUTO_WIDTH);
actions = instance().eventHandler().getActionList(kMenuMode);
myMenuEventMapper = new EventMappingWidget(myTab, font, 2, 2,
myTab->getWidth(),
@@ -110,7 +110,7 @@ void InputDialog::addDevicePortTab(const GUI::Font& font)
const int HBORDER = 8;
// Devices/ports
- tabID = myTab->addTab("Devices & Ports");
+ tabID = myTab->addTab(" Devices & Ports ", TabWidget::AUTO_WIDTH);
ypos = VBORDER;
lwidth = font.getStringWidth("Digital paddle sensitivity "); // was: "Use mouse as a controller "