diff options
author | InHong Han <inhong1.han@samsung.com> | 2018-09-11 10:44:37 +0900 |
---|---|---|
committer | InHong Han <inhong1.han@samsung.com> | 2018-09-11 10:44:37 +0900 |
commit | 7a7ee4df791e0e17235dbc2d22a0457d8a9f825d (patch) | |
tree | 7643d7d10f85fea1c57bbc512ce02f6edf05566b /ism/modules | |
parent | f405a28a93f2c48ecca2b0f2c9fa9403d3cb74b0 (diff) | |
download | isf-7a7ee4df791e0e17235dbc2d22a0457d8a9f825d.tar.gz isf-7a7ee4df791e0e17235dbc2d22a0457d8a9f825d.tar.bz2 isf-7a7ee4df791e0e17235dbc2d22a0457d8a9f825d.zip |
Add return_key_type in remote_control_entry_metadata
Change-Id: I84a7dbd676e2424901e5f9f911ad026e47567066
Diffstat (limited to 'ism/modules')
3 files changed, 22 insertions, 8 deletions
diff --git a/ism/modules/panelagent/ecoresocket/ecore_socket_panel_agent_module.cpp b/ism/modules/panelagent/ecoresocket/ecore_socket_panel_agent_module.cpp index dbdc1ef5..f4e2dffd 100644 --- a/ism/modules/panelagent/ecoresocket/ecore_socket_panel_agent_module.cpp +++ b/ism/modules/panelagent/ecoresocket/ecore_socket_panel_agent_module.cpp @@ -1146,7 +1146,7 @@ private: } } - void socket_remoteinput_entry_metadata (int client, uint32 hint, uint32 layout, int variation, uint32 autocapital_type, int return_key_disabled) { + void socket_remoteinput_entry_metadata (int client, uint32 hint, uint32 layout, int variation, uint32 autocapital_type, int return_key_disabled, uint32 return_key_type) { SCIM_DEBUG_MAIN(4) << __FUNCTION__ << "...\n"; LOGD ("client id:%d", client); @@ -1164,6 +1164,7 @@ private: m_send_trans.put_data(variation); m_send_trans.put_data(autocapital_type); m_send_trans.put_data(return_key_disabled); + m_send_trans.put_data(return_key_type); m_send_trans.write_to_socket(client_socket); } } diff --git a/ism/modules/panelagent/wayland/isf_wsc_context.h b/ism/modules/panelagent/wayland/isf_wsc_context.h index 6342432a..1380f0b7 100644 --- a/ism/modules/panelagent/wayland/isf_wsc_context.h +++ b/ism/modules/panelagent/wayland/isf_wsc_context.h @@ -168,7 +168,8 @@ void isf_wsc_context_bidi_direction_set (WSCContextISF* wsc_ctx, Ecore_IMF_BiDi_ void isf_wsc_context_send_surrounding_text (WSCContextISF* wsc_ctx, const char *text, int cursor); void isf_wsc_context_send_entry_metadata (WSCContextISF* wsc_ctx, Ecore_IMF_Input_Hints hint, Ecore_IMF_Input_Panel_Layout layout, int variation, - Ecore_IMF_Autocapital_Type type, int return_key_disabled); + Ecore_IMF_Autocapital_Type type, int return_key_disabled, + Ecore_IMF_Input_Panel_Return_Key_Type return_key_type); #if !(ENABLE_GRAB_KEYBOARD) void isf_wsc_context_filter_key_event (WSCContextISF* wsc_ctx, diff --git a/ism/modules/panelagent/wayland/wayland_panel_agent_module.cpp b/ism/modules/panelagent/wayland/wayland_panel_agent_module.cpp index 15e99fe1..6a116401 100644 --- a/ism/modules/panelagent/wayland/wayland_panel_agent_module.cpp +++ b/ism/modules/panelagent/wayland/wayland_panel_agent_module.cpp @@ -88,6 +88,7 @@ struct _WSCContextISFImpl { Ecore_IMF_Input_Hints input_hint; Ecore_IMF_BiDi_Direction bidi_direction; Ecore_IMF_Input_Panel_Layout panel_layout; + Ecore_IMF_Input_Panel_Return_Key_Type return_key_type; String mime_type; void *imdata; int imdata_size; @@ -117,6 +118,7 @@ struct _WSCContextISFImpl { input_hint(ECORE_IMF_INPUT_HINT_NONE), bidi_direction(ECORE_IMF_BIDI_DIRECTION_NEUTRAL), panel_layout(ECORE_IMF_INPUT_PANEL_LAYOUT_NORMAL), + return_key_type(ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT), imdata(NULL), imdata_size(0), preedit_caret(0), @@ -305,7 +307,8 @@ _wsc_im_ctx_content_type (void *data, struct wl_input_method_context *im_ctx, ui if (_TV) { isf_wsc_context_send_entry_metadata (wsc_ctx, wsc_context_input_hint_get (wsc_ctx), wsc_context_input_panel_layout_get (wsc_ctx), - wsc_context_input_panel_layout_variation_get (wsc_ctx), wsc_context_autocapital_type_get (wsc_ctx), wsc_ctx->return_key_disabled); + wsc_context_input_panel_layout_variation_get (wsc_ctx), wsc_context_autocapital_type_get (wsc_ctx), wsc_ctx->return_key_disabled, + (Ecore_IMF_Input_Panel_Return_Key_Type)wsc_ctx->return_key_type); } } @@ -366,6 +369,10 @@ _wsc_im_ctx_return_key_type (void *data, struct wl_input_method_context *im_ctx, if (wsc_ctx->return_key_type != return_key_type) { wsc_ctx->return_key_type = return_key_type; isf_wsc_context_input_panel_return_key_type_set (wsc_ctx, (Ecore_IMF_Input_Panel_Return_Key_Type)wsc_ctx->return_key_type); + if (_TV) + isf_wsc_context_send_entry_metadata (wsc_ctx, wsc_context_input_hint_get (wsc_ctx), wsc_context_input_panel_layout_get (wsc_ctx), + wsc_context_input_panel_layout_variation_get (wsc_ctx), wsc_context_autocapital_type_get (wsc_ctx), wsc_ctx->return_key_disabled, + (Ecore_IMF_Input_Panel_Return_Key_Type)wsc_ctx->return_key_type); } } @@ -383,7 +390,8 @@ _wsc_im_ctx_return_key_disabled (void *data, struct wl_input_method_context *im_ isf_wsc_context_input_panel_return_key_disabled_set (wsc_ctx, wsc_ctx->return_key_disabled); if (_TV) isf_wsc_context_send_entry_metadata (wsc_ctx, wsc_context_input_hint_get (wsc_ctx), wsc_context_input_panel_layout_get (wsc_ctx), - wsc_context_input_panel_layout_variation_get (wsc_ctx), wsc_context_autocapital_type_get (wsc_ctx), wsc_ctx->return_key_disabled); + wsc_context_input_panel_layout_variation_get (wsc_ctx), wsc_context_autocapital_type_get (wsc_ctx), wsc_ctx->return_key_disabled, + (Ecore_IMF_Input_Panel_Return_Key_Type)wsc_ctx->return_key_type); } } @@ -1586,7 +1594,8 @@ isf_wsc_context_send_surrounding_text (WSCContextISF* wsc_ctx, const char *text, void isf_wsc_context_send_entry_metadata (WSCContextISF* wsc_ctx, Ecore_IMF_Input_Hints hint, Ecore_IMF_Input_Panel_Layout layout, int variation, - Ecore_IMF_Autocapital_Type type, int return_key_disabled) + Ecore_IMF_Autocapital_Type type, int return_key_disabled, + Ecore_IMF_Input_Panel_Return_Key_Type return_key_type) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; @@ -1595,7 +1604,7 @@ isf_wsc_context_send_entry_metadata (WSCContextISF* wsc_ctx, Ecore_IMF_Input_Hin if (context_scim && context_scim->impl) { if (!context_scim->impl->init_remote_entry_metadata || (context_scim->impl->input_hint != hint || context_scim->impl->panel_layout != layout || context_scim->impl->variation != variation || context_scim->impl->autocapital_type != type || - context_scim->impl->return_key_disabled != return_key_disabled)) { + context_scim->impl->return_key_disabled != return_key_disabled || context_scim->impl->return_key_type != return_key_type)) { if (context_scim->impl->panel_layout != layout || context_scim->impl->variation != variation) { if (context_scim->impl->input_resource == INPUT_RESOURCE_REMOTE) context_scim->impl->input_resource = INPUT_RESOURCE_NONE; @@ -1606,10 +1615,12 @@ isf_wsc_context_send_entry_metadata (WSCContextISF* wsc_ctx, Ecore_IMF_Input_Hin context_scim->impl->variation = variation; context_scim->impl->autocapital_type = type; context_scim->impl->return_key_disabled = return_key_disabled; + context_scim->impl->return_key_type = return_key_type; if (_TV) g_info_manager->remoteinput_callback_entry_metadata (context_scim->impl->input_hint, context_scim->impl->panel_layout, - context_scim->impl->variation, context_scim->impl->autocapital_type, context_scim->impl->return_key_disabled); + context_scim->impl->variation, context_scim->impl->autocapital_type, context_scim->impl->return_key_disabled, + context_scim->impl->return_key_type); context_scim->impl->init_remote_entry_metadata = true; @@ -3506,7 +3517,8 @@ public: if (_TV) { isf_wsc_context_send_entry_metadata (ic, wsc_context_input_hint_get (ic), wsc_context_input_panel_layout_get (ic), - wsc_context_input_panel_layout_variation_get (ic), wsc_context_autocapital_type_get (ic), ic->return_key_disabled); + wsc_context_input_panel_layout_variation_get (ic), wsc_context_autocapital_type_get (ic), ic->return_key_disabled, + (Ecore_IMF_Input_Panel_Return_Key_Type)ic->return_key_type); } } |