2 * FM-7 Keyboard [fm7_keyboard.h]
4 * Author: K.Ohta <whatisthis.sowhat _at_ gmail.com>
7 * Mar 11, 2015 : Initial
11 #ifndef _VM_FM7_KEYBOARD_H_
12 #define _VM_FM7_KEYBOARD_H_
14 #include "../device.h"
15 #include "../memory.h"
17 #include "fm7_common.h"
20 class KEYBOARD : public DEVICE {
25 uint8 read_data_reg(void);
26 uint8 read_stat_reg(void);
27 uint8 get_keycode_high(void);
28 uint8 get_keycode_low(void);
29 void turn_on_ins_led(void);
30 void turn_off_ins_led(void);
56 bool key_pressed_flag[0x70];
60 uint16 vk2scancode(uint32 vk);
61 bool isModifier(uint16 scancode);
62 void set_modifiers(uint16 scancode, bool flag);
63 uint16 scan2fmkeycode(uint16 scancode);
64 void do_repeatkey(uint16 scancode);
65 void reset_keyboard(void);
70 void set_repeat_type(void);
71 void set_repeat_time(void);
75 void rtc_adjust(void);
83 KEYBOARD(VM *parent_vm, EMU *parent_emu);
86 void key_up(uint32 vk);
87 void key_down(uint32 vk);
88 void event_callback(int event_id, int err);
89 void write_signal(int id, uint32 data, uint32 mask);
90 uint32 read_data8(uint32 addr);
91 void write_data8(uint32 addr, uint32 data);
93 void set_context_display(DEVICE *p) {
96 void set_context_maincpu(DEVICE *p) {
99 void set_context_subcpu(DEVICE *p) {
102 void set_context_z80cpu(DEVICE *p) {
105 void set_context_mainio(DEVICE *p) {
108 void set_context_caps_led(DEVICE *p) {
111 void set_context_kana_led(DEVICE *p) {
114 void set_context_ins_led(DEVICE *p) {