diff options
Diffstat (limited to 'src/emu/ioport.h')
-rw-r--r-- | src/emu/ioport.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/emu/ioport.h b/src/emu/ioport.h index 0e6932e683e..722c028e4dc 100644 --- a/src/emu/ioport.h +++ b/src/emu/ioport.h @@ -1063,7 +1063,7 @@ public: const ioport_value *remap_table() const { return m_remap_table; } u8 way() const { return m_way; } - char32_t keyboard_code(int which) const; + std::vector<char32_t> keyboard_codes(int which) const; std::string key_name(int which) const; ioport_field_live &live() const { assert(m_live != nullptr); return *m_live; } @@ -1149,7 +1149,7 @@ private: // data relevant to other specific types u8 m_way; // digital joystick 2/4/8-way descriptions - char32_t m_chars[1 << (UCHAR_SHIFT_END - UCHAR_SHIFT_BEGIN + 1)]; // unicode key data + char32_t m_chars[1 << (UCHAR_SHIFT_END - UCHAR_SHIFT_BEGIN + 1)][2]; // unicode key data }; @@ -1501,7 +1501,7 @@ public: // field helpers ioport_configurer& field_alloc(ioport_type type, ioport_value defval, ioport_value mask, const char *name = nullptr); - ioport_configurer& field_add_char(char32_t ch); + ioport_configurer& field_add_char(std::initializer_list<char32_t> charlist); ioport_configurer& field_add_code(input_seq_type which, input_code code); ioport_configurer& field_set_way(int way) { m_curfield->m_way = way; return *this; } ioport_configurer& field_set_rotated() { m_curfield->m_flags |= ioport_field::FIELD_FLAG_ROTATED; return *this; } @@ -1746,8 +1746,8 @@ ATTR_COLD void INPUT_PORTS_NAME(_name)(device_t &owner, ioport_list &portlist, s configurer.setting_alloc((_default), (_name)); // keyboard chars -#define PORT_CHAR(_ch) \ - configurer.field_add_char(_ch); +#define PORT_CHAR(...) \ + configurer.field_add_char({ __VA_ARGS__ }); // name of table |