summaryrefslogtreecommitdiff
path: root/ism/modules
diff options
context:
space:
mode:
authorInHong Han <inhong1.han@samsung.com>2018-09-11 10:44:37 +0900
committerInHong Han <inhong1.han@samsung.com>2018-09-11 10:44:37 +0900
commit7a7ee4df791e0e17235dbc2d22a0457d8a9f825d (patch)
tree7643d7d10f85fea1c57bbc512ce02f6edf05566b /ism/modules
parentf405a28a93f2c48ecca2b0f2c9fa9403d3cb74b0 (diff)
downloadisf-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')
-rw-r--r--ism/modules/panelagent/ecoresocket/ecore_socket_panel_agent_module.cpp3
-rw-r--r--ism/modules/panelagent/wayland/isf_wsc_context.h3
-rw-r--r--ism/modules/panelagent/wayland/wayland_panel_agent_module.cpp24
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);
}
}