int m_current_recv_remoteinput_id;
IntIntRepository m_send_remoteinput_map;
IntIntRepository m_recv_remoteinput_map;
+ bool m_remoteinput_status;
int m_last_socket_client;
uint32 m_last_client_context;
m_active_client_id (-1),
m_should_shared_ise (false),
m_ise_exiting (false), m_is_imengine_aux (false), m_is_imengine_candidate (false),
- m_current_send_remoteinput_id (0), m_current_recv_remoteinput_id (0),
+ m_current_send_remoteinput_id (0), m_current_recv_remoteinput_id (0), m_remoteinput_status (true),
m_last_socket_client (-1), m_last_client_context (0),
m_ise_context_buffer (NULL), m_ise_context_length (0) {
m_current_ise_name = String (_ ("English Keyboard"));
//SCIM_TRANS_CMD_PROCESS_KEY_EVENT
bool process_key_event (KeyEvent& key, uint32 serial) {
LOGD ("");
+ if (m_remoteinput_status) m_remoteinput_status = false;
+
HelperClientIndex::iterator it = m_helper_client_index.find (m_current_helper_uuid);
if (it != m_helper_client_index.end ()) {
SCIM_DEBUG_MAIN (4) << __FUNCTION__ << "...\n";
LOGD ("");
+ if (m_remoteinput_status) m_remoteinput_status = false;
+
lock();
m_panel_agent_manager.socket_remoteinput_focus_in (m_current_recv_remoteinput_id);
unlock ();
SCIM_DEBUG_MAIN (4) << __FUNCTION__ << "...\n";
LOGD ("");
- lock();
- m_panel_agent_manager.socket_remoteinput_default_text (m_current_recv_remoteinput_id, text, cursor);
- unlock ();
+ if (!m_remoteinput_status) {
+ lock();
+ m_panel_agent_manager.socket_remoteinput_default_text (m_current_recv_remoteinput_id, text, cursor);
+ unlock ();
+
+ m_remoteinput_status = true;
+ }
}
//ISM_TRANS_CMD_UPDATE_SELECTION