summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/psi_kbd/hle.h
diff options
context:
space:
mode:
author Dirk Best <mail@dirk-best.de>2017-08-20 23:57:10 +0200
committer Dirk Best <mail@dirk-best.de>2017-08-20 23:58:10 +0200
commitc1d7ac5603b7d4e893320ae789029f8506afa29d (patch)
treee832336b68ac32922dac7b7dda9c398667247b7f /src/devices/bus/psi_kbd/hle.h
parentce4013f5ad069c436039ea86015ca4706405fa98 (diff)
psi98: Rewrite HLE keyboard, all keys now supported
Diffstat (limited to 'src/devices/bus/psi_kbd/hle.h')
-rw-r--r--src/devices/bus/psi_kbd/hle.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/devices/bus/psi_kbd/hle.h b/src/devices/bus/psi_kbd/hle.h
index 37daaec077c..ee4208b9aaa 100644
--- a/src/devices/bus/psi_kbd/hle.h
+++ b/src/devices/bus/psi_kbd/hle.h
@@ -12,6 +12,7 @@
#pragma once
#include "psi_kbd.h"
+#include "machine/keyboard.h"
//**************************************************************************
@@ -20,7 +21,9 @@
// ======================> psi_hle_keyboard_device
-class psi_hle_keyboard_device : public device_t, public device_psi_keyboard_interface
+class psi_hle_keyboard_device : public device_t,
+ public device_psi_keyboard_interface,
+ protected device_matrix_keyboard_interface<7>
{
public:
// construction/destruction
@@ -28,11 +31,19 @@ public:
protected:
// device_t overrides
- virtual void device_add_mconfig(machine_config &config) override;
+ virtual ioport_constructor device_input_ports() const override;
virtual void device_start() override;
+ virtual void device_reset() override;
+
+ // device_matrix_keyboard_interface overrides
+ virtual void key_make(uint8_t row, uint8_t column) override;
+ virtual void key_break(uint8_t row, uint8_t column) override;
+ virtual void key_repeat(uint8_t row, uint8_t column) override;
private:
- void kbd_put(uint8_t data);
+ uint8_t translate(uint8_t row, uint8_t column);
+ void send_key(uint8_t code);
+ required_ioport m_modifiers;
};