}
};
-static struct wl_input_method_manager *_im_manager = NULL;
+static struct zwp_input_method_manager_v1 *_im_manager = NULL;
/* private functions */
/////////////////////////////////////////////////////////////////////////////
static void
-_wsc_im_ctx_reset (void *data, struct wl_input_method_context *im_ctx)
+_wsc_im_ctx_surrounding_text (void *data, struct zwp_input_method_context_v1 *im_ctx, const char *text, uint32_t cursor, uint32_t anchor)
+{
+ LOGD ("");
+}
+
+static void
+_wsc_im_ctx_reset (void *data, struct zwp_input_method_context_v1 *im_ctx)
{
WSCContextISF *context_scim = (WSCContextISF*)data;
LOGD ("");
}
static void
-_wsc_im_ctx_content_type (void *data, struct wl_input_method_context *im_ctx, uint32_t hint, uint32_t purpose)
+_wsc_im_ctx_content_type (void *data, struct zwp_input_method_context_v1 *im_ctx, uint32_t hint, uint32_t purpose)
{
WSCContextISF *wsc_ctx = (WSCContextISF*)data;
if (!wsc_ctx) return;
}
static void
-_wsc_im_ctx_invoke_action (void *data, struct wl_input_method_context *im_ctx, uint32_t button, uint32_t index)
+_wsc_im_ctx_invoke_action (void *data, struct zwp_input_method_context_v1 *im_ctx, uint32_t button, uint32_t index)
{
WSCContextISF *wsc_ctx = (WSCContextISF*)data;
if (!wsc_ctx) return;
}
static void
-_wsc_im_ctx_commit_state (void *data, struct wl_input_method_context *im_ctx, uint32_t serial)
+_wsc_im_ctx_commit_state (void *data, struct zwp_input_method_context_v1 *im_ctx, uint32_t serial)
{
WSCContextISF *wsc_ctx = (WSCContextISF*)data;
if (!wsc_ctx) return;
wsc_ctx->serial = serial;
if (wsc_ctx->language)
- wl_input_method_context_language (im_ctx, wsc_ctx->serial, wsc_ctx->language);
+ zwp_input_method_context_v1_language (im_ctx, wsc_ctx->serial, wsc_ctx->language);
}
static void
-_wsc_im_ctx_preferred_language (void *data, struct wl_input_method_context *im_ctx, const char *language)
+_wsc_im_ctx_preferred_language (void *data, struct zwp_input_method_context_v1 *im_ctx, const char *language)
{
WSCContextISF *wsc_ctx = (WSCContextISF*)data;
if (!wsc_ctx) return;
}
static void
-_wsc_im_ctx_return_key_type (void *data, struct wl_input_method_context *im_ctx, uint32_t return_key_type)
+_wsc_im_ctx_return_key_type (void *data, struct zwp_input_method_context_v1 *im_ctx, uint32_t return_key_type)
{
WSCContextISF *wsc_ctx = (WSCContextISF*)data;
}
static void
-_wsc_im_ctx_return_key_disabled (void *data, struct wl_input_method_context *im_ctx, uint32_t disabled)
+_wsc_im_ctx_return_key_disabled (void *data, struct zwp_input_method_context_v1 *im_ctx, uint32_t disabled)
{
WSCContextISF *wsc_ctx = (WSCContextISF*)data;
Eina_Bool return_key_disabled = !!disabled;
}
static void
-_wsc_im_ctx_input_panel_data (void *data, struct wl_input_method_context *im_ctx, const char *input_panel_data, uint32_t input_panel_data_length)
+_wsc_im_ctx_input_panel_data (void *data, struct zwp_input_method_context_v1 *im_ctx, const char *input_panel_data, uint32_t input_panel_data_length)
{
WSCContextISF *wsc_ctx = (WSCContextISF*)data;
LOGD ("im_context = %p input panel data = %s len = %d", im_ctx, input_panel_data, input_panel_data_length);
}
static void
-_wsc_im_ctx_bidi_direction (void *data, struct wl_input_method_context *im_ctx, uint32_t bidi_direction)
+_wsc_im_ctx_bidi_direction (void *data, struct zwp_input_method_context_v1 *im_ctx, uint32_t bidi_direction)
{
WSCContextISF *wsc_ctx = (WSCContextISF*)data;
}
static void
-_wsc_im_ctx_cursor_position (void *data, struct wl_input_method_context *im_ctx, uint32_t cursor_pos)
+_wsc_im_ctx_cursor_position (void *data, struct zwp_input_method_context_v1 *im_ctx, uint32_t cursor_pos)
{
WSCContextISF *wsc_ctx = (WSCContextISF*)data;
}
static void
-_wsc_im_ctx_process_input_device_event (void *data, struct wl_input_method_context *im_ctx, uint32_t type, const char *input_data, uint32_t input_data_len)
+_wsc_im_ctx_process_input_device_event (void *data, struct zwp_input_method_context_v1 *im_ctx, uint32_t type, const char *input_data, uint32_t input_data_len)
{
WSCContextISF *wsc_ctx = (WSCContextISF*)data;
}
static void
-_wsc_im_ctx_filter_key_event (void *data, struct wl_input_method_context *im_ctx, uint32_t serial, uint32_t time, const char *keyname, uint32_t state, uint32_t modifiers, const char *dev_name, uint32_t dev_class, uint32_t dev_subclass, uint32_t keycode)
+_wsc_im_ctx_filter_key_event (void *data, struct zwp_input_method_context_v1 *im_ctx, uint32_t serial, uint32_t time, const char *keyname, uint32_t state, uint32_t modifiers, const char *dev_name, uint32_t dev_class, uint32_t dev_subclass, uint32_t keycode)
{
WSCContextISF *wsc_ctx = (WSCContextISF*)data;
if (!wsc_ctx) return;
}
static void
-_wsc_im_ctx_capital_mode (void *data, struct wl_input_method_context *im_ctx, uint32_t mode)
+_wsc_im_ctx_capital_mode (void *data, struct zwp_input_method_context_v1 *im_ctx, uint32_t mode)
{
LOGD ("capital mode %d", mode);
WSCContextISF *wsc_ctx = (WSCContextISF*)data;
}
static void
-_wsc_im_ctx_prediction_hint (void *data, struct wl_input_method_context *im_ctx, const char *prediction_hint)
+_wsc_im_ctx_prediction_hint (void *data, struct zwp_input_method_context_v1 *im_ctx, const char *prediction_hint)
{
WSCContextISF *wsc_ctx = (WSCContextISF*)data;
}
static void
-_wsc_im_ctx_mime_type (void *data, struct wl_input_method_context *im_ctx, const char *mime_type)
+_wsc_im_ctx_mime_type (void *data, struct zwp_input_method_context_v1 *im_ctx, const char *mime_type)
{
WSCContextISF *wsc_ctx = (WSCContextISF*)data;
}
static void
-_wsc_im_ctx_finalized_content (void *data, struct wl_input_method_context *im_ctx, const char *text, uint32_t cursor_pos)
+_wsc_im_ctx_finalized_content (void *data, struct zwp_input_method_context_v1 *im_ctx, const char *text, uint32_t cursor_pos)
{
WSCContextISF *wsc_ctx = (WSCContextISF*)data;
}
static void
-_wsc_im_ctx_prediction_hint_data (void *data, struct wl_input_method_context *im_ctx, const char *key, const char * value)
+_wsc_im_ctx_prediction_hint_data (void *data, struct zwp_input_method_context_v1 *im_ctx, const char *key, const char * value)
{
WSCContextISF *wsc_ctx = (WSCContextISF*)data;
if (!wsc_ctx) return;
isf_wsc_context_input_panel_prediction_hint_data_set (wsc_ctx, key, value);
}
-static const struct wl_input_method_context_listener wsc_im_context_listener = {
+static const struct zwp_input_method_context_v1_listener wsc_im_context_listener = {
+ _wsc_im_ctx_surrounding_text,
_wsc_im_ctx_reset,
_wsc_im_ctx_content_type,
_wsc_im_ctx_invoke_action,
if (!wsc_ctx || !wsc_ctx->state)
return;
- struct wl_input_method_context *context = wsc_ctx->im_ctx;
+ struct zwp_input_method_context_v1 *context = wsc_ctx->im_ctx;
xkb_mod_mask_t mask;
xkb_state_update_mask (wsc_ctx->state, mods_depressed,
if (mask & wsc_ctx->super_mask)
wsc_ctx->modifiers |= SCIM_KEY_SuperMask;
- wl_input_method_context_modifiers (context, serial,
+ zwp_input_method_context_v1_modifiers (context, serial,
mods_depressed, mods_depressed,
mods_latched, group);
}
#endif
if (wsc_ctx->im_ctx) {
- LOGD("destroy wl_input_method_context : %p", wsc_ctx->im_ctx);
- wl_input_method_context_destroy (wsc_ctx->im_ctx);
+ LOGD("destroy zwp_input_method_context_v1 : %p", wsc_ctx->im_ctx);
+ zwp_input_method_context_v1_destroy (wsc_ctx->im_ctx);
wsc_ctx->im_ctx = NULL;
}
}
static void
-_wsc_im_activate (void *data, struct wl_input_method *input_method, struct wl_input_method_context *im_ctx, uint32_t text_input_id, uint32_t focus_in_event)
+_wsc_im_activate (void *data, struct zwp_input_method_v1 *input_method, struct zwp_input_method_context_v1 *im_ctx, uint32_t text_input_id, uint32_t focus_in_event)
{
struct weescim *wsc = (weescim*)data;
if (!wsc) return;
}
if (_need_wl_im_init) {
- LOGD("destroy wl_input_method_context");
+ LOGD("destroy zwp_input_method_context_v1");
wl_im_destroy ();
}
wsc_ctx->content_purpose = WL_TEXT_INPUT_CONTENT_PURPOSE_NORMAL;
wsc_ctx->im_ctx = im_ctx;
- wl_input_method_context_add_listener (im_ctx, &wsc_im_context_listener, wsc_ctx);
+ zwp_input_method_context_v1_add_listener (im_ctx, &wsc_im_context_listener, wsc_ctx);
#if ENABLE_GRAB_KEYBOARD
- wsc_ctx->keyboard = wl_input_method_context_grab_keyboard (im_ctx);
+ wsc_ctx->keyboard = zwp_input_method_context_v1_grab_keyboard (im_ctx);
if (wsc_ctx->keyboard)
wl_keyboard_add_listener (wsc_ctx->keyboard, &wsc_im_keyboard_listener, wsc_ctx);
#endif
if (wsc_ctx->language)
- wl_input_method_context_language (im_ctx, wsc_ctx->serial, wsc_ctx->language);
+ zwp_input_method_context_v1_language (im_ctx, wsc_ctx->serial, wsc_ctx->language);
isf_wsc_context_add (wsc_ctx);
}
static void
-_wsc_im_deactivate (void *data, struct wl_input_method *input_method, struct wl_input_method_context *im_ctx, uint32_t focus_out_event)
+_wsc_im_deactivate (void *data, struct zwp_input_method_v1 *input_method, struct zwp_input_method_context_v1 *im_ctx, uint32_t focus_out_event)
{
struct weescim *wsc = (weescim*)data;
if (!wsc || !wsc->wsc_ctx) return;
LOGD("inputmethod : %p, im ctx : %p, focus out : %d", input_method, im_ctx, focus_out_event);
/* When the focus_in/input_panel_shutdown event is called,
- * it is not possible to know the information of wl_input_method to destroy */
+ * it is not possible to know the information of zwp_input_method_v1 to destroy */
_wl_im_ctx->wsc = wsc;
_wl_im_ctx->input_method = input_method;
_wl_im_ctx->im_ctx = im_ctx;
}
static void
-_wsc_im_destroy (void *data, struct wl_input_method *input_method, struct wl_input_method_context *im_ctx)
+_wsc_im_destroy (void *data, struct zwp_input_method_v1 *input_method, struct zwp_input_method_context_v1 *im_ctx)
{
struct weescim *wsc = (weescim*)data;
if (!wsc || !wsc->wsc_ctx) return;
}
static void
-_wsc_im_show_input_panel (void *data, struct wl_input_method *input_method, struct wl_input_method_context *im_ctx, uint32_t angle)
+_wsc_im_show_input_panel (void *data, struct zwp_input_method_v1 *input_method, struct zwp_input_method_context_v1 *im_ctx, uint32_t angle)
{
struct weescim *wsc = (weescim*)data;
if (!wsc || !wsc->wsc_ctx) return;
}
static void
-_wsc_im_hide_input_panel (void *data, struct wl_input_method *input_method, struct wl_input_method_context *im_ctx)
+_wsc_im_hide_input_panel (void *data, struct zwp_input_method_v1 *input_method, struct zwp_input_method_context_v1 *im_ctx)
{
struct weescim *wsc = (weescim*)data;
if (!wsc || !wsc->wsc_ctx) return;
isf_wsc_context_input_panel_hide (wsc->wsc_ctx);
}
-static const struct wl_input_method_listener wsc_im_listener = {
+static const struct zwp_input_method_v1_listener wsc_im_listener = {
_wsc_im_activate,
_wsc_im_deactivate,
_wsc_im_destroy,
}
EINA_ITERATOR_FOREACH(globals, global) {
- if (strcmp (global->interface, "wl_input_method") == 0)
- wsc->im = (wl_input_method*)wl_registry_bind (registry, global->id, &wl_input_method_interface, 1);
- else if (strcmp (global->interface, "wl_input_method_manager") == 0)
- _im_manager = (wl_input_method_manager*)wl_registry_bind (registry, global->id, &wl_input_method_manager_interface, 1);
+ if (strcmp (global->interface, "zwp_input_method_v1") == 0)
+ wsc->im = (zwp_input_method_v1*)wl_registry_bind (registry, global->id, &zwp_input_method_v1_interface, 1);
+ else if (strcmp (global->interface, "zwp_input_method_manager_v1") == 0)
+ _im_manager = (zwp_input_method_manager_v1*)wl_registry_bind (registry, global->id, &zwp_input_method_manager_v1_interface, 1);
}
eina_iterator_free (globals);
if (wsc->im == NULL) {
- LOGW ("Failed because wl_input_method is null");
+ LOGW ("Failed because zwp_input_method_v1 is null");
return false;
}
/* Input method listener */
- LOGD ("Adding wl_input_method listener");
+ LOGD ("Adding zwp_input_method_v1 listener");
if (wsc->im)
- wl_input_method_add_listener (wsc->im, &wsc_im_listener, wsc);
+ zwp_input_method_v1_add_listener (wsc->im, &wsc_im_listener, wsc);
else {
LOGW ("Couldn't get wayland input method interface");
return false;
strlen (wsc_ctx->preedit_str) == 0)
return;
- wl_input_method_context_cursor_position (wsc_ctx->im_ctx,
+ zwp_input_method_context_v1_cursor_position (wsc_ctx->im_ctx,
0, 0);
if (strlen (wsc_ctx->preedit_str) > MAX_PREEDIT_BUFSIZE) {
}
}
- wl_input_method_context_commit_string (wsc_ctx->im_ctx,
+ zwp_input_method_context_v1_commit_string (wsc_ctx->im_ctx,
wsc_ctx->serial,
wsc_ctx->preedit_str);
break;
}
- wl_input_method_context_preedit_styling (wsc_ctx->im_ctx,
+ zwp_input_method_context_v1_preedit_styling (wsc_ctx->im_ctx,
start_index,
end_index - start_index,
preedit_style);
start_index = begin_pos;
end_index = pos;
- wl_input_method_context_preedit_styling (wsc_ctx->im_ctx,
+ zwp_input_method_context_v1_preedit_styling (wsc_ctx->im_ctx,
start_index,
end_index - start_index,
preedit_style);
* we must update preedit_string also whenever preedit_cursor or preedit_style is updated.
* So the below 3 lines cannot be called separately. */
wsc_send_preedit_style (wsc_ctx);
- wl_input_method_context_preedit_cursor (wsc_ctx->im_ctx, index);
- wl_input_method_context_preedit_string (wsc_ctx->im_ctx,
+ zwp_input_method_context_v1_preedit_cursor (wsc_ctx->im_ctx, index);
+ zwp_input_method_context_v1_preedit_string (wsc_ctx->im_ctx,
wsc_ctx->serial,
wsc_ctx->preedit_str,
utf8_wcstombs (wsc_ctx->impl->commit_string).c_str ());
} else {
LOGD("%d,%d", filedes[0], filedes[1]);
if (wsc_ctx && wsc_ctx->im_ctx) {
- wl_input_method_context_get_surrounding_text (wsc_ctx->im_ctx, UINT_MAX, UINT_MAX, filedes[1]);
+ zwp_input_method_context_v1_get_surrounding_text (wsc_ctx->im_ctx, UINT_MAX, UINT_MAX, filedes[1]);
Ecore_Wl2_Display *wl2_display = ecore_wl2_connected_display_get (NULL);
if (wl2_display)
ecore_wl2_display_flush (wl2_display);
if (!wsc_ctx)
return;
- wl_input_method_context_delete_surrounding_text (wsc_ctx->im_ctx, offset, len);
+ zwp_input_method_context_v1_delete_surrounding_text (wsc_ctx->im_ctx, offset, len);
}
void wsc_context_set_selection (WSCContextISF *wsc_ctx, int start, int end)
if (!wsc_ctx)
return;
- wl_input_method_context_selection_region (wsc_ctx->im_ctx, wsc_ctx->serial, start, end);
+ zwp_input_method_context_v1_selection_region (wsc_ctx->im_ctx, wsc_ctx->serial, start, end);
}
void wsc_context_commit_string (WSCContextISF *wsc_ctx, const char *str)
if (!wsc_ctx || !wsc_ctx->im_ctx)
return;
- wl_input_method_context_keysym (wsc_ctx->im_ctx, wsc_ctx->serial, time,
+ zwp_input_method_context_v1_keysym (wsc_ctx->im_ctx, wsc_ctx->serial, time,
keysym, press ? WL_KEYBOARD_KEY_STATE_PRESSED : WL_KEYBOARD_KEY_STATE_RELEASED, modifiers);
}
void stop (void) {
if (_need_wl_im_init) {
- LOGD("destroy wl_input_method_context");
+ LOGD("destroy zwp_input_method_context_v1");
wl_im_destroy ();
}
if (type == ECORE_IMF_INPUT_PANEL_LANGUAGE_EVENT) {
WSCContextISF* ic = find_ic (context);
if (ic && ic->language) {
- wl_input_method_context_language (_focused_ic->im_ctx, _focused_ic->serial, ic->language);
+ zwp_input_method_context_v1_language (_focused_ic->im_ctx, _focused_ic->serial, ic->language);
}
else {
LOGE("language locale query failed : %p %s", ic, (ic ? ic->language : "NULL"));
- wl_input_method_context_language (_focused_ic->im_ctx, _focused_ic->serial, "");
+ zwp_input_method_context_v1_language (_focused_ic->im_ctx, _focused_ic->serial, "");
}
}
- wl_input_method_context_input_panel_event (_focused_ic->im_ctx, _focused_ic->serial, type, value);
+ zwp_input_method_context_v1_input_panel_event (_focused_ic->im_ctx, _focused_ic->serial, type, value);
}
void
}
ic->impl->preedit_caret = preedit.length ();
- wl_input_method_context_preedit_cursor (ic->im_ctx, strlen(preedit_str.c_str()));
+ zwp_input_method_context_v1_preedit_cursor (ic->im_ctx, strlen(preedit_str.c_str()));
wsc_send_preedit_style (ic);
- wl_input_method_context_recapture_string (ic->im_ctx, ic->serial,
+ zwp_input_method_context_v1_recapture_string (ic->im_ctx, ic->serial,
offset, len, preedit_str.c_str(), preedit_str.c_str(), commit_str.c_str());
} else {
g_info_manager->socket_recapture_string (offset, len, preedit_str, commit_str, attrs);
if (!ic) return;
if (ic->im_ctx)
- wl_input_method_context_get_surrounding_text (ic->im_ctx, maxlen_before, maxlen_after, filedes[1]);
+ zwp_input_method_context_v1_get_surrounding_text (ic->im_ctx, maxlen_before, maxlen_after, filedes[1]);
Ecore_Wl2_Display *wl2_display = ecore_wl2_connected_display_get (NULL);
if (wl2_display)
LOGD ("client id:%d", id);
//panel_slot_send_private_command (context_id, command);
if (_focused_ic && _focused_ic->im_ctx)
- wl_input_method_context_private_command (_focused_ic->im_ctx, _focused_ic->serial, command.c_str ());
+ zwp_input_method_context_v1_private_command (_focused_ic->im_ctx, _focused_ic->serial, command.c_str ());
}
void
commit_content (int id, uint32 context_id, const String& content, const String& description, const String& mime_types) {
LOGD ("client id:%d", id);
if (_focused_ic && _focused_ic->im_ctx)
- wl_input_method_context_commit_content (_focused_ic->im_ctx, _focused_ic->serial, content.c_str (), description.c_str (), mime_types.c_str ());
+ zwp_input_method_context_v1_commit_content (_focused_ic->im_ctx, _focused_ic->serial, content.c_str (), description.c_str (), mime_types.c_str ());
}
void
WSCContextISF* ic = find_ic (context_id);
if (ic) {
- wl_input_method_context_hide_input_panel (ic->im_ctx, ic->serial);
+ zwp_input_method_context_v1_hide_input_panel (ic->im_ctx, ic->serial);
}
}
WSCContextISF* ic = find_ic (context_id);
if (!ic) return;
- wl_input_method_context_get_selection_text (ic->im_ctx, filedes[1]);
+ zwp_input_method_context_v1_get_selection_text (ic->im_ctx, filedes[1]);
Ecore_Wl2_Display *wl2_display = ecore_wl2_connected_display_get (NULL);
if (wl2_display)
ecore_wl2_display_flush (wl2_display);
send_wl_key_event (ic, key, false);
}
#else
- wl_input_method_context_filter_key_event_done (ic->im_ctx, serial, ret);
+ zwp_input_method_context_v1_filter_key_event_done (ic->im_ctx, serial, ret);
#endif
}
WSCContextISF* ic = find_ic (context_id);
if (!ic) return;
- wl_input_method_context_hide_input_panel (ic->im_ctx, ic->serial);
+ zwp_input_method_context_v1_hide_input_panel (ic->im_ctx, ic->serial);
}
void
LOGD ("client id:%d", id);
if (_focused_ic && _focused_ic->im_ctx) {
- wl_input_method_context_update_ise_geometry (_focused_ic->im_ctx, _focused_ic->serial, x, y, width, height);
+ zwp_input_method_context_v1_update_ise_geometry (_focused_ic->im_ctx, _focused_ic->serial, x, y, width, height);
}
}
if (!ic) return;
if (ic->im_ctx) {
- wl_input_method_context_update_candidate_state(ic->im_ctx, 1);
+ zwp_input_method_context_v1_update_candidate_state(ic->im_ctx, 1);
}
}
if (!ic) return;
if (ic->im_ctx) {
- wl_input_method_context_update_candidate_state(ic->im_ctx, 0);
+ zwp_input_method_context_v1_update_candidate_state(ic->im_ctx, 0);
}
}
WSCContextISF* ic = find_ic (context_id);
if (!ic) return;
- wl_input_method_context_reshow_input_panel (ic->im_ctx);
+ zwp_input_method_context_v1_reshow_input_panel (ic->im_ctx);
}
void set_transient_for (uint32 caller_pid, uint32 ime_pid)
LOGI ("caller pid : %u, ime pid : %u", caller_pid, ime_pid);
if (_im_manager)
- wl_input_method_manager_set_transient_for (_im_manager, caller_pid, ime_pid);
+ zwp_input_method_manager_v1_set_transient_for (_im_manager, caller_pid, ime_pid);
else
LOGW ("Failed to get input method manager interface");
}
if (!ic) return;
if (ic->im_ctx)
- wl_input_method_context_set_floating_panel (ic->im_ctx, floating_mode);
+ zwp_input_method_context_v1_set_floating_panel (ic->im_ctx, floating_mode);
}
void set_floating_drag_enabled (int id, uint32 context_id, uint32 enabled)
if (!ic) return;
if (ic->im_ctx)
- wl_input_method_context_set_floating_drag_enabled (ic->im_ctx, enabled);
+ zwp_input_method_context_v1_set_floating_drag_enabled (ic->im_ctx, enabled);
}
};