From 471575adce7691f1a67e0ecda13ac7546c1a84e7 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Wed, 17 Aug 2011 09:03:50 +0000 Subject: [PATCH] ioport.c: during emulation, detect keyboard only when enabled [Fabio Priuli] --- src/emu/ioport.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/emu/ioport.c b/src/emu/ioport.c index eeaad51ec67..3de71d137d7 100644 --- a/src/emu/ioport.c +++ b/src/emu/ioport.c @@ -3955,7 +3955,15 @@ int input_machine_has_keyboard(running_machine &machine) { for (field = port->first_field(); field != NULL; field = field->next()) { - if (field->type == IPT_KEYBOARD) + // if we are at init, check IPT_KEYBOARD for inputx_init + if (!port->machine().input_port_data->safe_to_read && field->type == IPT_KEYBOARD) + { + have_keyboard = TRUE; + break; + } + + // else, check if there is a keyboard and if such a keyboard is enabled + if (field->type == IPT_KEYBOARD && input_condition_true(field->machine(), &field->condition, field->port().owner())) { have_keyboard = TRUE; break;