// 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().
// 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().
WindowRenderSurface& windowRenderSurface = static_cast< WindowRenderSurface& >( renderSurface );
int windowId = windowRenderSurface.GetNativeWindowId();
WindowRenderSurface& windowRenderSurface = static_cast< WindowRenderSurface& >( renderSurface );
int windowId = windowRenderSurface.GetNativeWindowId();
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();
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.string = keyEvent.keyPressed.c_str();
ecoreKeyDownEvent.compose = compose.c_str();
ecoreKeyDownEvent.timestamp = keyEvent.time;
ecoreKeyDownEvent.string = keyEvent.keyPressed.c_str();
ecoreKeyDownEvent.compose = compose.c_str();
ecoreKeyDownEvent.timestamp = keyEvent.time;
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();
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.string = keyEvent.keyPressed.c_str();
ecoreKeyUpEvent.compose = compose.c_str();
ecoreKeyUpEvent.timestamp = keyEvent.time;
ecoreKeyUpEvent.string = keyEvent.keyPressed.c_str();
ecoreKeyUpEvent.compose = compose.c_str();
ecoreKeyUpEvent.timestamp = keyEvent.time;