--- nono/vm/x68kkbd.h 2026/04/29 17:05:09 1.1.1.10 +++ nono/vm/x68kkbd.h 2026/04/29 17:05:13 1.1.1.11 @@ -12,6 +12,7 @@ #include "keyboard.h" #include "event.h" +#include "monitor.h" #include class X68030Keyboard : public Keyboard @@ -23,8 +24,8 @@ class X68030Keyboard : public Keyboard static const uint8 YOVFL = 0x40; static const uint8 XUNFL = 0x20; static const uint8 XOVFL = 0x10; - static const uint8 SW_L = 0x02; - static const uint8 SW_R = 0x01; + static const uint8 SW_R = 0x02; + static const uint8 SW_L = 0x01; public: X68030Keyboard(); @@ -47,6 +48,8 @@ class X68030Keyboard : public Keyboard void Ready(); private: + DECLARE_MONITOR_CALLBACK(MonitorUpdate); + // キーボードの接続と取り外し void MDConnect() override; void MDDisconnect() override; @@ -70,9 +73,11 @@ class X68030Keyboard : public Keyboard static const uint keycode2x68kkey_table[KC_max]; // キーリピート開始時間 - uint64 rept_delay {}; + int rept_delay_data {}; // 設定値 + uint64 rept_delay {}; // [nsec] // キーリピート間隔 - uint64 rept_time {}; + int rept_time_data {}; // 設定値 + uint64 rept_time {}; // [nsec] // キーリピートイベント Event rept_event { this }; // リピートしている共通キーコード @@ -96,6 +101,8 @@ class X68030Keyboard : public Keyboard // マウスイベント Event mouse_event { this }; + Monitor monitor { this }; + // X680x0 キーコード static const uint NoKey = 0; static const uint X68kKey_ESC = 0x01;