diff options
author | 2017-08-20 23:57:10 +0200 | |
---|---|---|
committer | 2017-08-20 23:58:10 +0200 | |
commit | c1d7ac5603b7d4e893320ae789029f8506afa29d (patch) | |
tree | e832336b68ac32922dac7b7dda9c398667247b7f /src/devices/bus/psi_kbd/hle.h | |
parent | ce4013f5ad069c436039ea86015ca4706405fa98 (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.h | 17 |
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; }; |