diff options
| author | 2024-04-18 07:16:35 +1000 | |
|---|---|---|
| committer | 2024-04-18 07:16:35 +1000 | |
| commit | 76fdb9e645b7afcda376dbc63fdfd8f145df0d26 (patch) | |
| tree | 637262579b3067b879b8c5b6790f4a4366d01d5e /src/frontend | |
| parent | 520ed5e44b49f80ec38bb812d8477e2b8a607cfc (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.cpp | 17 |
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; } |
