more hacks.
authorCarl Hetherington <cth@carlh.net>
Fri, 7 Jan 2022 22:02:49 +0000 (23:02 +0100)
committerCarl Hetherington <cth@carlh.net>
Fri, 24 Nov 2023 20:59:45 +0000 (21:59 +0100)
src/tools/dcpomatic.cc

index 96eb853e35dbb7f3184d01ba226eb53d6ea831af..8272bdb4f598338b2c48ae84246ec4bd13629d24 100644 (file)
@@ -1754,7 +1754,11 @@ private:
        {
                auto key = dynamic_cast<wxKeyEvent*>(&event);
                if (key && key->GetEventType() == wxEVT_CHAR) {
-                       std::cout << key->m_keyCode << " " << key->m_uniChar << " " << key->m_rawCode << " " << key->m_rawFlags << "\n";
+                       std::cout << "CHAR: " << key->m_keyCode << " " << key->m_uniChar << " " << key->m_rawCode << " " << key->m_rawFlags << "\n";
+               } else if (key && key->GetEventType() == wxEVT_KEY_UP) {
+                       std::cout << "KEY_UP: " << key->m_keyCode << " " << key->m_uniChar << " " << key->m_rawCode << " " << key->m_rawFlags << "\n";
+               } else if (key && key->GetEventType() == wxEVT_KEY_DOWN) {
+                       std::cout << "KEY_DOWN: " << key->m_keyCode << " " << key->m_uniChar << " " << key->m_rawCode << " " << key->m_rawFlags << "\n";
                }
                return -1;
        }
@@ -1845,11 +1849,24 @@ private:
                // xdo_send_keysequence_window (xdo, CURRENTWINDOW, "Return", 200000);
                // xdo_free (xdo);
                auto send = [this](int code, int rawcode) {
-                       auto event = wxKeyEvent(wxEVT_CHAR);
+                       auto event = wxKeyEvent(wxEVT_KEY_DOWN);
+                       event.SetEventObject(this);
+                       event.m_keyCode = event.m_uniChar = code;
+                       event.m_rawCode = rawcode;
+                       std::cout << "process " << code << " " << rawcode << "\n";
+                       ProcessEvent (event);
+
+                       event = wxKeyEvent(wxEVT_CHAR);
+                       event.SetEventObject(this);
+                       event.m_keyCode = event.m_uniChar = code;
+                       event.m_rawCode = rawcode;
+                       std::cout << "process " << code << " " << rawcode << "\n";
+                       ProcessEvent (event);
+
+                       event = wxKeyEvent(wxEVT_KEY_UP);
                        event.SetEventObject(this);
                        event.m_keyCode = event.m_uniChar = code;
                        event.m_rawCode = rawcode;
-                       event.m_rawFlags = 43;
                        std::cout << "process " << code << " " << rawcode << "\n";
                        ProcessEvent (event);
                };