emu/input.cpp: Only show items for first device in non-multi classes.

It's not possible to actually use higher-numbered device assignments for
classes that combine all host devices.  For example you can't use the
default "Mouse 2" assignments if -multimouse isn't enabled.  Fixes
MT06842.
This commit is contained in:
Vas Crabb 2022-02-09 02:33:02 +11:00
parent 668bc119b8
commit eb221b2286

View File

@ -1150,7 +1150,7 @@ input_seq input_manager::seq_clean(const input_seq &seq) const
{
// if this is a code item which is not valid, don't copy it and remove any preceding ORs/NOTs
input_code code = seq[codenum];
if (!code.internal() && code_name(code).empty())
if (!code.internal() && (((code.device_index() > 0) && !m_class[code.device_class()]->multi()) || !item_from_code(code)))
{
while (clean_index > 0 && clean_codes[clean_index - 1].internal())
{