@@ -273,6 +273,32 @@ bool TizenInputMethodContext::IsInputPanelShown() {
273273 return state == ECORE_IMF_INPUT_PANEL_STATE_SHOW ;
274274}
275275
276+ void TizenInputMethodContext::SetInputAction (const std::string& input_action) {
277+ FT_ASSERT (imf_context_);
278+ Ecore_IMF_Input_Panel_Return_Key_Type return_key_type =
279+ ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT ;
280+
281+ // Not support : none, previous, continueAction, route, emergencycall, newline
282+ if (input_action == " TextInputAction.unspecified" ) {
283+ return_key_type = ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT ;
284+ } else if (input_action == " TextInputAction.done" ) {
285+ return_key_type = ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_DONE ;
286+ } else if (input_action == " TextInputAction.go" ) {
287+ return_key_type = ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_GO ;
288+ } else if (input_action == " TextInputAction.join" ) {
289+ return_key_type = ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_JOIN ;
290+ } else if (input_action == " TextInputAction.next" ) {
291+ return_key_type = ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_NEXT ;
292+ } else if (input_action == " TextInputAction.search" ) {
293+ return_key_type = ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_SEARCH ;
294+ } else if (input_action == " TextInputAction.send" ) {
295+ return_key_type = ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_SEND ;
296+ }
297+
298+ ecore_imf_context_input_panel_return_key_type_set (imf_context_,
299+ return_key_type);
300+ }
301+
276302void TizenInputMethodContext::SetInputPanelLayout (
277303 const std::string& input_type) {
278304 FT_ASSERT (imf_context_);
0 commit comments