--- nono/vm/x68kkbd.h 2026/04/29 17:04:36 1.1.1.4 +++ nono/vm/x68kkbd.h 2026/04/29 17:04:53 1.1.1.6 @@ -14,32 +14,35 @@ class X68030Keyboard : public Keyboard using inherited = Keyboard; public: X68030Keyboard(); - ~X68030Keyboard() override; + virtual ~X68030Keyboard() override; void ResetHard() override; - // キーを押した - void MakeKey(uint) override; - // キーを離した - void BreakKey(uint) override; + // シフト状態なら true を返す + bool IsShift() const override; + // マウス入力 void MouseInput(int x, int y, bool rb, bool lb, bool mb) override; // ホストからの制御コマンド void Command(uint32 data) override; + // ホストからの Ready 通知 + // (実際のハードウェアでは単にキーボードが待っている) + void Ready(); + private: - // キーデータ送信 - void SendKey(uint data); + // MD キーコードに変換 + uint KeyToMDKey(uint keycode) const override; - // 共通キーコードから LUNA キーコードへの変換 - uint keycode2x68kkey(uint); + // 入力されたキーを前処理し、フィルタする。 + uint PreprocessKey(uint keystat) override; - // 変換テーブル - static const uint keycode2x68kkey_table[133]; + // キーイベントを登録(追加)する + void SendStart() override; - // キー名テーブル - static const char * const keyname[128]; + // 変換テーブル + static const uint keycode2x68kkey_table[KC_max]; // キーリピート開始時間 [msec] uint32 rept_delay {};