diff options
Diffstat (limited to 'src/emu/uiinput.cpp')
-rw-r--r-- | src/emu/uiinput.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/emu/uiinput.cpp b/src/emu/uiinput.cpp index 78cc662022a..e6b0920e926 100644 --- a/src/emu/uiinput.cpp +++ b/src/emu/uiinput.cpp @@ -34,6 +34,7 @@ enum ui_input_manager::ui_input_manager(running_machine &machine) : m_machine(machine) + , m_presses_enabled(true) , m_current_mouse_target(nullptr) , m_current_mouse_down(false) , m_current_mouse_field(nullptr) @@ -62,12 +63,20 @@ ui_input_manager::ui_input_manager(running_machine &machine) void ui_input_manager::frame_update() { - /* update the state of all the UI keys */ + // update the state of all the UI keys for (ioport_type code = ioport_type(IPT_UI_FIRST + 1); code < IPT_UI_LAST; ++code) { - bool pressed = machine().ioport().type_pressed(code); - if (!pressed || m_seqpressed[code] != SEQ_PRESSED_RESET) - m_seqpressed[code] = pressed; + if (m_presses_enabled) + { + bool pressed = machine().ioport().type_pressed(code); + if (!pressed || m_seqpressed[code] != SEQ_PRESSED_RESET) + m_seqpressed[code] = pressed; + } + else + { + // UI key presses are disabled + m_seqpressed[code] = false; + } } // perform mouse hit testing |