}
}
- void socket_remoteinput_entry_metadata (int client, uint32 hint, uint32 layout, int variation, uint32 autocapital_type) {
+ void socket_remoteinput_entry_metadata (int client, uint32 hint, uint32 layout, int variation, uint32 autocapital_type, int return_key_disabled) {
SCIM_DEBUG_MAIN(4) << __FUNCTION__ << "...\n";
LOGD ("client id:%d\n", client);
m_send_trans.put_data(layout);
m_send_trans.put_data(variation);
m_send_trans.put_data(autocapital_type);
+ m_send_trans.put_data(return_key_disabled);
m_send_trans.write_to_socket(client_socket);
}
}
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);
+ Ecore_IMF_Autocapital_Type type, uint32_t return_key_disabled);
#if !(ENABLE_GRAB_KEYBOARD)
void isf_wsc_context_filter_key_event (WSCContextISF* wsc_ctx,
int cursor_top_y;
int cursor_pos;
int variation;
+ int return_key_disabled;
bool use_preedit;
bool is_on;
bool preedit_started;
cursor_top_y(0),
cursor_pos(-1),
variation(0),
+ return_key_disabled(0),
use_preedit(true),
is_on(true),
preedit_started(false),
isf_wsc_context_input_panel_language_set (wsc_ctx, wsc_context_input_panel_language_get (wsc_ctx));
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_context_input_panel_layout_variation_get (wsc_ctx), wsc_context_autocapital_type_get (wsc_ctx), wsc_ctx->return_key_disabled);
#if ENABLE_REMOTE_INPUT
remote_surrounding_get (wsc_ctx);
if (wsc_ctx->return_key_disabled != return_key_disabled) {
wsc_ctx->return_key_disabled = return_key_disabled;
isf_wsc_context_input_panel_return_key_disabled_set (wsc_ctx, wsc_ctx->return_key_disabled);
+ 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);
}
}
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)
+ Ecore_IMF_Autocapital_Type type, uint32_t return_key_disabled)
{
SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n";
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->variation != variation || context_scim->impl->autocapital_type != type ||
+ context_scim->impl->return_key_disabled != return_key_disabled)) {
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;
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->variation, context_scim->impl->autocapital_type, context_scim->impl->return_key_disabled);
context_scim->impl->init_remote_entry_metadata = true;
}
unlock ();
}
- void remoteinput_callback_entry_metadata (uint32 hint, uint32 layout, int variation, uint32 autocapital_type) {
+ void remoteinput_callback_entry_metadata (uint32 hint, uint32 layout, int variation, uint32 autocapital_type, int return_key_disabled) {
SCIM_DEBUG_MAIN (4) << __FUNCTION__ << "...\n";
LOGD ("");
lock();
- m_panel_agent_manager.socket_remoteinput_entry_metadata (m_current_recv_remoteinput_id, hint, layout, variation, autocapital_type);
+ m_panel_agent_manager.socket_remoteinput_entry_metadata (m_current_recv_remoteinput_id, hint, layout, variation, autocapital_type, return_key_disabled);
unlock ();
}
m_impl->remoteinput_callback_focus_out ();
}
-void InfoManager::remoteinput_callback_entry_metadata (uint32 hint, uint32 layout, int variation, uint32 autocapital_type)
+void InfoManager::remoteinput_callback_entry_metadata (uint32 hint, uint32 layout, int variation, uint32 autocapital_type, int return_key_disabled)
{
- m_impl->remoteinput_callback_entry_metadata (hint, layout, variation, autocapital_type);
+ m_impl->remoteinput_callback_entry_metadata (hint, layout, variation, autocapital_type, return_key_disabled);
}
void InfoManager::remoteinput_callback_surrounding_text (String text, uint32 cursor)
void remoteinput_callback_focus_out (void);
- void remoteinput_callback_entry_metadata (uint32 hint, uint32 layout, int variation, uint32 autocapital_type);
+ void remoteinput_callback_entry_metadata (uint32 hint, uint32 layout, int variation, uint32 autocapital_type, int return_key_disabled);
void remoteinput_callback_surrounding_text (String text, uint32 cursor);
LOGW ("not implemented for %s", m_name.c_str ());
}
-void PanelAgentBase::socket_remoteinput_entry_metadata (int client, uint32 hint, uint32 layout, int variation, uint32 autocapital_type)
+void PanelAgentBase::socket_remoteinput_entry_metadata (int client, uint32 hint, uint32 layout, int variation, uint32 autocapital_type, int return_key_disabled)
{
LOGW ("not implemented for %s", m_name.c_str ());
}
*
* @return none.
*/
- virtual void socket_remoteinput_entry_metadata (int client, uint32 hint, uint32 layout, int variation, uint32 autocapital_type);
+ virtual void socket_remoteinput_entry_metadata (int client, uint32 hint, uint32 layout, int variation, uint32 autocapital_type, int return_key_disabled);
/**
* @brief socket_remoteinput_surrounding_text.
_p->socket_remoteinput_focus_out (id);
}
-void PanelAgentManager::socket_remoteinput_entry_metadata (int id, uint32 hint, uint32 layout, int variation, uint32 autocapital_type)
+void PanelAgentManager::socket_remoteinput_entry_metadata (int id, uint32 hint, uint32 layout, int variation, uint32 autocapital_type, int return_key_disabled)
{
PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
if (!_p.null ())
- _p->socket_remoteinput_entry_metadata (id, hint, layout, variation, autocapital_type);
+ _p->socket_remoteinput_entry_metadata (id, hint, layout, variation, autocapital_type, return_key_disabled);
}
void PanelAgentManager::socket_remoteinput_surrounding_text (int id, String& text, uint32 cursor)
void socket_update_surrounding_text (int client, uint32 context, const String& uuid, String& text, uint32 cursor);
void socket_remoteinput_focus_in (int client);
void socket_remoteinput_focus_out (int client);
- void socket_remoteinput_entry_metadata (int client, uint32 hint, uint32 layout, int variation, uint32 autocapital_type);
+ void socket_remoteinput_entry_metadata (int client, uint32 hint, uint32 layout, int variation, uint32 autocapital_type, int return_key_disabled);
void socket_remoteinput_surrounding_text (int client, String& text, uint32 cursor);
void socket_remoteinput_input_resource (int client, uint32 input_resource);
void socket_update_selection (int client, uint32 context, String& uuid, String text);
RemoteInputClientSignalVoid m_signal_hide_ise;
String m_surrounding_text;
- uint32 m_hint, m_cursor, m_layout, m_variation, m_autocapital_type, m_input_resource;
+ uint32 m_hint, m_cursor, m_layout, m_variation, m_autocapital_type, m_input_resource, m_return_key_disabled;
public:
RemoteInputClientImpl ()
m_layout (0),
m_variation (0),
m_autocapital_type (0),
- m_input_resource (0) {
+ m_input_resource (0),
+ m_return_key_disabled (0) {
}
int open_connection (void) {
type = REMOTE_CONTROL_CALLBACK_ENTRY_METADATA;
if (m_trans_recv.get_data (m_hint) && m_trans_recv.get_data (m_layout) && m_trans_recv.get_data (m_variation) &&
- m_trans_recv.get_data (m_autocapital_type)) {
+ m_trans_recv.get_data (m_autocapital_type) && m_trans_recv.get_data (m_return_key_disabled)) {
}
else
LOGW ("wrong format of transaction\n");
return type;
}
- void get_entry_metadata (int *hint, int *layout, int *variation, int *autocapital_type) {
+ void get_entry_metadata (int *hint, int *layout, int *variation, int *autocapital_type, int *return_key_disabled) {
*hint = m_hint;
*layout = m_layout;
*variation = m_variation;
*autocapital_type = m_autocapital_type;
+ *return_key_disabled = m_return_key_disabled;
}
void get_surrounding_text (String &surrounding_text, int *cursor) {
}
void
-RemoteInputClient::get_entry_metadata (int *hint, int *layout, int *variation, int *autocapital_type)
+RemoteInputClient::get_entry_metadata (int *hint, int *layout, int *variation, int *autocapital_type, int *return_key_disabled)
{
- m_impl->get_entry_metadata (hint, layout, variation, autocapital_type);
+ m_impl->get_entry_metadata (hint, layout, variation, autocapital_type, return_key_disabled);
}
void
remote_client_error_type check_privilege (void);
remote_client_error_type delete_surrounding_text(int offset, int len);
remote_control_callback_type recv_callback_message (void);
- void get_entry_metadata (int *hint, int *layout, int *variation, int *autocapital_type);
+ void get_entry_metadata (int *hint, int *layout, int *variation, int *autocapital_type, int *return_key_disabled);
void get_surrounding_text (String &default_text, int *cursor);
void get_input_resource (int *input_resource);
};
{
if (focus_flag) {
remote_control_entry_metadata_s *data = new remote_control_entry_metadata_s;
- int hint = 0, layout = 0, variation = 0, autocapital_type = 0;
+ int hint = 0, layout = 0, variation = 0, autocapital_type = 0, return_key_disabled = 0;
- client->remote_client.get_entry_metadata (&hint, &layout, &variation, &autocapital_type);
+ client->remote_client.get_entry_metadata (&hint, &layout, &variation, &autocapital_type, &return_key_disabled);
data->hint = static_cast<Ecore_IMF_Input_Hints> (hint);
data->layout = static_cast<Ecore_IMF_Input_Panel_Layout> (layout);
data->variation = variation;
data->autocapital_type = static_cast<Ecore_IMF_Autocapital_Type> (autocapital_type);
+ data->return_key_disabled = return_key_disabled;
- LOGD ("REMOTE_CONTROL_CALLBACK_ENTRY_METADATA hint: 0x%04x, layout: %d, variation: %d, autocapital: %d",
- data->hint, data->layout, data->variation, data->autocapital_type);
+ LOGD ("REMOTE_CONTROL_CALLBACK_ENTRY_METADATA hint: 0x%04x, layout: %d, variation: %d, autocapital: %d, return_key: %d",
+ data->hint, data->layout, data->variation, data->autocapital_type, data->return_key_disabled);
client->metadata_cb (client->metadata_cb_user_data, data);
delete data;
}
Ecore_IMF_Input_Panel_Layout layout; /**< The layout information */
int variation; /**< The layout variation information */
Ecore_IMF_Autocapital_Type autocapital_type; /**< The autocapital type information */
+ bool return_key_disabled; /**< The return key state information */
} remote_control_entry_metadata_s;
/**