summaryrefslogtreecommitdiffstatshomepage
path: root/src/frontend
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2024-04-18 07:16:35 +1000
committer Vas Crabb <vas@vastheman.com>2024-04-18 07:16:35 +1000
commit76fdb9e645b7afcda376dbc63fdfd8f145df0d26 (patch)
tree637262579b3067b879b8c5b6790f4a4366d01d5e /src/frontend
parent520ed5e44b49f80ec38bb812d8477e2b8a607cfc (diff)
-ui/videoopt.cpp: Hold Ctrl to jump to the next one-second interval for pointer timeout.
-midway/williams.cpp: Simplified class hierarchy.
Diffstat (limited to 'src/frontend')
-rw-r--r--src/frontend/mame/ui/videoopt.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/frontend/mame/ui/videoopt.cpp b/src/frontend/mame/ui/videoopt.cpp
index 7aeb2ac7bf3..a179a2ec16f 100644
--- a/src/frontend/mame/ui/videoopt.cpp
+++ b/src/frontend/mame/ui/videoopt.cpp
@@ -362,13 +362,14 @@ bool menu_video_options::handle(event const *ev)
}
else
{
- auto const timeout = ui().pointer_activity_timeout(m_target.index());
- if (std::chrono::milliseconds(100) < timeout)
+ bool const ctrl_pressed = machine().input().code_pressed(KEYCODE_LCONTROL) || machine().input().code_pressed(KEYCODE_RCONTROL);
+ std::chrono::milliseconds const increment(ctrl_pressed ? 1'000 : 100);
+ auto timeout = ui().pointer_activity_timeout(m_target.index());
+ auto const remainder = timeout % increment;
+ timeout -= remainder.count() ? remainder : increment;
+ if (std::chrono::milliseconds(100) <= timeout)
{
- auto const remainder = timeout % std::chrono::milliseconds(100);
- ui().set_pointer_activity_timeout(
- m_target.index(),
- timeout - (remainder.count() ? remainder : std::chrono::milliseconds(100)));
+ ui().set_pointer_activity_timeout(m_target.index(), timeout);
changed = true;
}
}
@@ -384,9 +385,11 @@ bool menu_video_options::handle(event const *ev)
}
else
{
+ bool const ctrl_pressed = machine().input().code_pressed(KEYCODE_LCONTROL) || machine().input().code_pressed(KEYCODE_RCONTROL);
+ int const increment(ctrl_pressed ? 1'000 : 100);
ui().set_pointer_activity_timeout(
m_target.index(),
- std::chrono::milliseconds((1 + (timeout / std::chrono::milliseconds(100))) * 100));
+ std::chrono::milliseconds((1 + (timeout / std::chrono::milliseconds(increment))) * increment));
}
changed = true;
}