X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Finput%2Ftizen-wayland%2Finput-method-context-impl-ecore-wl.cpp;h=34255a55329f8f28f517d585a933c31affb7c9fc;hb=e8e185f7d90010214890c2cb78bdd52c732f63ba;hp=ff46c9433b29467a7cbc8b50f4f5040a7270e876;hpb=b33cf8f8c44bc1be428692eba5859354c57f4d11;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/internal/input/tizen-wayland/input-method-context-impl-ecore-wl.cpp b/dali/internal/input/tizen-wayland/input-method-context-impl-ecore-wl.cpp index ff46c94..34255a5 100755 --- a/dali/internal/input/tizen-wayland/input-method-context-impl-ecore-wl.cpp +++ b/dali/internal/input/tizen-wayland/input-method-context-impl-ecore-wl.cpp @@ -329,7 +329,7 @@ void InputMethodContextEcoreWl::CreateContext() // If we fail to get window id, we can't use the InputMethodContext correctly. // Thus you have to call "ecore_imf_context_client_window_set" somewhere. // In EvasPlugIn, this function is called in EvasPlugin::ConnectEcoreEvent(). - RenderSurface& renderSurface = Dali::Adaptor::Get().GetSurface(); + Dali::RenderSurfaceInterface& renderSurface = Dali::Adaptor::Get().GetSurface(); WindowRenderSurface& windowRenderSurface = static_cast< WindowRenderSurface& >( renderSurface ); int windowId = windowRenderSurface.GetNativeWindowId(); @@ -946,16 +946,22 @@ bool InputMethodContextEcoreWl::ProcessEventKeyDown( const KeyEvent& keyEvent ) bool eventHandled( false ); if ( mIMFContext ) { + Integration::KeyEvent integKeyEvent( keyEvent ); + std::string key = integKeyEvent.logicalKey; + + std::string compose = keyEvent.GetCompose(); + std::string deviceName = keyEvent.GetDeviceName(); + // We're consuming key down event so we have to pass to InputMethodContext so that it can parse it as well. Ecore_IMF_Event_Key_Down ecoreKeyDownEvent; ecoreKeyDownEvent.keyname = keyEvent.keyPressedName.c_str(); - ecoreKeyDownEvent.key = keyEvent.keyPressedName.c_str(); + ecoreKeyDownEvent.key = key.c_str(); ecoreKeyDownEvent.string = keyEvent.keyPressed.c_str(); - ecoreKeyDownEvent.compose = keyEvent.GetCompose().c_str(); + ecoreKeyDownEvent.compose = compose.c_str(); ecoreKeyDownEvent.timestamp = keyEvent.time; ecoreKeyDownEvent.modifiers = EcoreInputModifierToEcoreIMFModifier( keyEvent.keyModifier ); ecoreKeyDownEvent.locks = EcoreInputModifierToEcoreIMFLock( keyEvent.keyModifier ); - ecoreKeyDownEvent.dev_name = keyEvent.GetDeviceName().c_str(); + ecoreKeyDownEvent.dev_name = deviceName.c_str(); ecoreKeyDownEvent.dev_class = static_cast ( keyEvent.GetDeviceClass() );//ECORE_IMF_DEVICE_CLASS_KEYBOARD; ecoreKeyDownEvent.dev_subclass = static_cast ( keyEvent.GetDeviceSubclass() );//ECORE_IMF_DEVICE_SUBCLASS_NONE; @@ -993,16 +999,22 @@ bool InputMethodContextEcoreWl::ProcessEventKeyUp( const KeyEvent& keyEvent ) bool eventHandled( false ); if( mIMFContext ) { + Integration::KeyEvent integKeyEvent( keyEvent ); + std::string key = integKeyEvent.logicalKey; + + std::string compose = keyEvent.GetCompose(); + std::string deviceName = keyEvent.GetDeviceName(); + // We're consuming key up event so we have to pass to InputMethodContext so that it can parse it as well. Ecore_IMF_Event_Key_Up ecoreKeyUpEvent; ecoreKeyUpEvent.keyname = keyEvent.keyPressedName.c_str(); - ecoreKeyUpEvent.key = keyEvent.keyPressedName.c_str(); + ecoreKeyUpEvent.key = key.c_str(); ecoreKeyUpEvent.string = keyEvent.keyPressed.c_str(); - ecoreKeyUpEvent.compose = keyEvent.GetCompose().c_str(); + ecoreKeyUpEvent.compose = compose.c_str(); ecoreKeyUpEvent.timestamp = keyEvent.time; ecoreKeyUpEvent.modifiers = EcoreInputModifierToEcoreIMFModifier( keyEvent.keyModifier ); ecoreKeyUpEvent.locks = EcoreInputModifierToEcoreIMFLock( keyEvent.keyModifier ); - ecoreKeyUpEvent.dev_name = keyEvent.GetDeviceName().c_str(); + ecoreKeyUpEvent.dev_name = deviceName.c_str(); ecoreKeyUpEvent.dev_class = static_cast ( keyEvent.GetDeviceClass() );//ECORE_IMF_DEVICE_CLASS_KEYBOARD; ecoreKeyUpEvent.dev_subclass = static_cast ( keyEvent.GetDeviceSubclass() );//ECORE_IMF_DEVICE_SUBCLASS_NONE;