--- nono/vm/lunakbd.h 2026/04/29 17:05:09 1.1.1.11 +++ nono/vm/lunakbd.h 2026/04/29 17:05:17 1.1.1.12 @@ -14,6 +14,8 @@ #include "event.h" #include "monitor.h" +class SIODevice; + class LunaKeyboard : public Keyboard { using inherited = Keyboard; @@ -21,6 +23,8 @@ class LunaKeyboard : public Keyboard LunaKeyboard(); virtual ~LunaKeyboard() override; + bool Init() override; + // シフト状態なら true を返す bool IsShift() const override; @@ -71,7 +75,6 @@ class LunaKeyboard : public Keyboard bool mouse_on {}; // ブザー - bool buzzer_on {}; // ブザー発音中なら true uint buzzer_msec {}; // コマンドで指定した発音時間 [msec] uint buzzer_freq {}; // コマンドで指定した発音周波数 [Hz] uint64 buzzer_end {}; // ブザーを鳴らし終わる仮想時刻 @@ -81,6 +84,8 @@ class LunaKeyboard : public Keyboard Monitor monitor { this }; + SIODevice *sio {}; + // 変換テーブル static const uint keycode2lunakey_table[KC_max]; @@ -123,6 +128,7 @@ class LunaKeyboard : public Keyboard static const uint LunaKey_minus = 0x2c; static const uint LunaKey_circum = 0x2d; static const uint LunaKey_backslash = 0x2e; + static const uint LunaKey_buzzer = 0x2f; static const uint LunaKey_Q = 0x32; static const uint LunaKey_W = 0x33;