summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine/gridkeyb.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/machine/gridkeyb.h')
-rw-r--r--src/mame/machine/gridkeyb.h19
1 files changed, 6 insertions, 13 deletions
diff --git a/src/mame/machine/gridkeyb.h b/src/mame/machine/gridkeyb.h
index c70669dcb05..c4a41cd1589 100644
--- a/src/mame/machine/gridkeyb.h
+++ b/src/mame/machine/gridkeyb.h
@@ -9,18 +9,6 @@
/***************************************************************************
- DEVICE CONFIGURATION MACROS
-***************************************************************************/
-
-#define GRIDKEYBCB_PUT(cls, fnc) grid_keyboard_device::output_delegate((&cls::fnc), (#cls "::" #fnc), DEVICE_SELF, ((cls *)nullptr))
-#define GRIDKEYBCB_DEVPUT(tag, cls, fnc) grid_keyboard_device::output_delegate((&cls::fnc), (#cls "::" #fnc), (tag), ((cls *)nullptr))
-
-#define MCFG_GRID_KEYBOARD_CB(cb) \
- downcast<grid_keyboard_device &>(*device).set_keyboard_callback((GRIDKEYBCB_##cb));
-
-
-
-/***************************************************************************
DEVICE TYPE GLOBALS
***************************************************************************/
@@ -52,7 +40,12 @@ public:
device_t *owner,
u32 clock);
- template <class Object> void set_keyboard_callback(Object &&cb) { m_keyboard_cb = std::forward<Object>(cb); }
+ template <class FunctionClass>
+ void set_keyboard_callback(void (FunctionClass::*callback)(u16 character), const char *name)
+ {
+ set_keyboard_callback(output_delegate(callback, name, nullptr, static_cast<FunctionClass *>(nullptr)));
+ }
+ void set_keyboard_callback(output_delegate callback) { m_keyboard_cb = callback; }
virtual ioport_constructor device_input_ports() const override;