From 67ddfe302cdc18b356839797d166f7bfda4ce2af Mon Sep 17 00:00:00 2001 From: npwoods Date: Tue, 5 Sep 2017 03:27:45 -0400 Subject: Added a natural keyboard validation to check for valid natural keyboard (uni)codes (#2618) --- src/emu/validity.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/emu/validity.cpp') diff --git a/src/emu/validity.cpp b/src/emu/validity.cpp index c621e222281..f5f139c38b7 100644 --- a/src/emu/validity.cpp +++ b/src/emu/validity.cpp @@ -1832,6 +1832,19 @@ void validity_checker::validate_inputs() for (ioport_setting &setting : field.settings()) if (!setting.condition().none()) validate_condition(setting.condition(), device, port_map); + + // verify natural keyboard codes + for (int which = 0; which < 1 << (UCHAR_SHIFT_END - UCHAR_SHIFT_BEGIN + 1); which++) + { + char32_t code = field.keyboard_code(which); + if (code && !uchar_isvalid(code)) + { + osd_printf_error("Field '%s' has non-character U+%04X in PORT_CHAR(%d)\n", + name, + (unsigned)code, + (int)code); + } + } } // done with this port -- cgit v1.2.3