windowmaker-wl/src/backend/wayland/wl_text_input.c

49 lines
1.6 KiB
C

#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <wayland-server-core.h>
#include <wlr/util/log.h>
#include "wl_types.h"
/* Phase 34: text input v3, input method v2, virtual keyboard v1 */
/* ------------------------------------------------------------------ */
/*
* handle_text_input_new — a client created a zwp_text_input_v3 object.
* Text input objects are managed entirely by wlroots; the compositor just
* needs to call wlr_text_input_v3_send_enter/leave to activate the IME
* for a focused surface. For now we log and do nothing — the IME framework
* will still register; full integration (enter on focus) can be added later.
*/
void
handle_text_input_new(struct wl_listener *listener, void *data)
{
(void)listener; (void)data;
wwarning("wl_backend: text input v3 object created");
}
/*
* handle_input_method_new — an IME server (ibus, fcitx5) connected.
* The input method protocol is symmetric with text_input; wlroots handles
* the protocol exchange. We log its arrival.
*/
void
handle_input_method_new(struct wl_listener *listener, void *data)
{
(void)listener; (void)data;
wwarning("wl_backend: input method v2 connected");
}
/*
* handle_virtual_keyboard_new — a client created a virtual keyboard device.
* wlroots has already created the wlr_virtual_keyboard_v1 and wired its
* input_device into the backend. We just log it; the seat will advertise
* the keyboard capability automatically via handle_backend_new_input.
*/
void
handle_virtual_keyboard_new(struct wl_listener *listener, void *data)
{
(void)listener; (void)data;
wwarning("wl_backend: virtual keyboard v1 created");
}