diff options
-rw-r--r-- | desktop/source/lib/init.cxx | 9 | ||||
-rw-r--r-- | include/LibreOfficeKit/LibreOfficeKit.h | 9 | ||||
-rw-r--r-- | libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx | 4 |
3 files changed, 18 insertions, 4 deletions
diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx index c3eedf5b98d7..14c18601f8a2 100644 --- a/desktop/source/lib/init.cxx +++ b/desktop/source/lib/init.cxx @@ -657,10 +657,15 @@ static void lo_postKeyEvent(LibreOfficeKit* /*pThis*/, int nType, int nCode) if (SalFrame *pFocus = SvpSalFrame::GetFocusFrame()) { KeyEvent aEvent(nCode, nCode, 0); - if (nType == 0) + switch (nType) + { + case LOK_KEYEVENT_KEYINPUT: Application::PostKeyEvent(VCLEVENT_WINDOW_KEYINPUT, pFocus->GetWindow(), &aEvent); - else + break; + case LOK_KEYEVENT_KEYUP: Application::PostKeyEvent(VCLEVENT_WINDOW_KEYUP, pFocus->GetWindow(), &aEvent); + break; + } } #endif } diff --git a/include/LibreOfficeKit/LibreOfficeKit.h b/include/LibreOfficeKit/LibreOfficeKit.h index d4c1f99dceaa..c5909ef2938f 100644 --- a/include/LibreOfficeKit/LibreOfficeKit.h +++ b/include/LibreOfficeKit/LibreOfficeKit.h @@ -64,6 +64,15 @@ typedef enum } LibreOfficeKitCallbackType; +typedef enum +{ + /// A key on the keyboard is pressed. + LOK_KEYEVENT_KEYINPUT, + /// A key on the keyboard is released. + LOK_KEYEVENT_KEYUP +} +LibreOfficeKitKeyEventType; + typedef void (*LibreOfficeKitCallback)(int nType, const char* pPayload, void* pData); #endif // LOK_USE_UNSTABLE_API diff --git a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx index c4725f24bf24..73be3b9a1194 100644 --- a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx +++ b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx @@ -130,9 +130,9 @@ static void signalKey(GtkWidget* /*pWidget*/, GdkEventKey* pEvent, gpointer /*pD LOKDocView* pLOKDocView = LOK_DOCVIEW(pDocView); if (pEvent->type == GDK_KEY_RELEASE) - pLOKDocView->pOffice->pClass->postKeyEvent(pLOKDocView->pOffice, 1, gdk_keyval_to_unicode(pEvent->keyval)); + pLOKDocView->pOffice->pClass->postKeyEvent(pLOKDocView->pOffice, LOK_KEYEVENT_KEYUP, gdk_keyval_to_unicode(pEvent->keyval)); else - pLOKDocView->pOffice->pClass->postKeyEvent(pLOKDocView->pOffice, 0, gdk_keyval_to_unicode(pEvent->keyval)); + pLOKDocView->pOffice->pClass->postKeyEvent(pLOKDocView->pOffice, LOK_KEYEVENT_KEYINPUT, gdk_keyval_to_unicode(pEvent->keyval)); } // GtkComboBox requires gtk 2.24 or later |