m_send_trans.put_data(text);
m_send_trans.put_data(cursor);
m_send_trans.write_to_socket(client_socket);
+
+ m_send_trans.clear();
+ m_send_trans.put_command(SCIM_TRANS_CMD_REPLY);
+ m_send_trans.put_command(ISM_TRANS_CMD_FLUSH_BUFFER);
+ m_send_trans.write_to_socket(client_socket);
}
void socket_remoteinput_focus_in (int client) {
m_send_trans.put_command(ISM_TRANS_CMD_UPDATE_SELECTION);
m_send_trans.put_data(text);
m_send_trans.write_to_socket(client_socket);
+
+ m_send_trans.clear();
+ m_send_trans.put_command(SCIM_TRANS_CMD_REPLY);
+ m_send_trans.put_command(ISM_TRANS_CMD_FLUSH_BUFFER);
+ m_send_trans.write_to_socket(client_socket);
}
void socket_get_keyboard_ise_list(int client, uint32 context, const String& uuid, std::vector<String>& list) {
uint32 m_keyboard_mode;
};
+/* ISM_TRANS_CMD_FLUSH_BUFFER */
+class MessageItemFlushBuffer : public MessageItemHelper
+{
+};
+
template <typename T>
inline T*
alloc_message() /* We could use memory pool in the future for performance enhancement */
}
break;
}
+ case ISM_TRANS_CMD_FLUSH_BUFFER:
+ {
+ MessageItemFlushBuffer *message = alloc_message<MessageItemFlushBuffer>();
+ if (message) {
+ message->get_command_ref() = cmd;
+ m_list_messages.push_back(message);
+ }
+ break;
+ }
}
}
const int ISM_TRANS_CMD_CHECK_OPTION_WINDOW = 1258;
const int ISM_TRANS_CMD_TURN_ON_LOG = 1301;
+const int ISM_TRANS_CMD_FLUSH_BUFFER = 1302;
const int SCIM_TRANS_CMD_USER_DEFINED = 10000;
/**