--- nono/wx/wxsoftkey.h 2026/04/29 17:05:27 1.1.1.14 +++ nono/wx/wxsoftkey.h 2026/04/29 17:05:48 1.1.1.16 @@ -84,11 +84,16 @@ class WXSoftKeyPanel : public WXTextPane void InitColorKeytop(int num); void InitIcon(); + + // LUNA-I、LUNA-88K の共通初期化 + void InitLunaCommon(); + void OnKeyChanged(wxCommandEvent& event); void OnTimer(wxTimerEvent& event); void Draw() override; void DrawKey(const keydata_t& key); + void DrawKeyBox(const keydata_t&, Color bg, Color bd); void DrawEnterKey(); void DrawBuzzer(const keydata_t& key); virtual int DrawLED(const keydata_t& key) = 0; @@ -164,13 +169,28 @@ class WXSoftKeyPanel : public WXTextPane wxDECLARE_EVENT_TABLE(); }; -// LUNA ソフトウェアキーボード (パネル) -class WXLunaSoftKeyPanel : public WXSoftKeyPanel +// LUNA-I ソフトウェアキーボード (パネル) +class WXLuna1SoftKeyPanel : public WXSoftKeyPanel { using inherited = WXSoftKeyPanel; public: - explicit WXLunaSoftKeyPanel(wxWindow *parent); - ~WXLunaSoftKeyPanel() override; + explicit WXLuna1SoftKeyPanel(wxWindow *parent); + ~WXLuna1SoftKeyPanel() override; + + private: + int DrawLED(const keydata_t& key) override; + + // キー描画データ + static std::vector keydata; +}; + +// LUNA-88K ソフトウェアキーボード (パネル) +class WXLuna88kSoftKeyPanel : public WXSoftKeyPanel +{ + using inherited = WXSoftKeyPanel; + public: + explicit WXLuna88kSoftKeyPanel(wxWindow *parent); + ~WXLuna88kSoftKeyPanel() override; private: int DrawLED(const keydata_t& key) override; @@ -201,8 +221,4 @@ class WXSoftKeyWindow : public WXSubWind public: WXSoftKeyWindow(wxWindow *parent, VMType vmtype); ~WXSoftKeyWindow() override; - - private: - // キーボードパネル - WXSoftKeyPanel *panel {}; };