fix stuff
[dcpomatic.git] / src / tools / dcpomatic.cc
index 96eb853e35dbb7f3184d01ba226eb53d6ea831af..8e7c2e4539c65838313665d81a7413f34e41cc1c 100644 (file)
@@ -1750,11 +1750,15 @@ private:
                return true;
        }
 
-       int FilterEvent (wxEvent& event)
+       int FilterEvent(wxEvent& event) override
        {
                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);
                };