IME: support input method

This commit is contained in:
tokyo4j 2024-02-09 16:52:37 +09:00 committed by Johan Malm
parent 7e60c57b81
commit 334cd09106
7 changed files with 549 additions and 2 deletions

View file

@ -40,10 +40,13 @@
#include <wlr/types/wlr_virtual_pointer_v1.h>
#include <wlr/types/wlr_virtual_keyboard_v1.h>
#include <wlr/types/wlr_tearing_control_v1.h>
#include <wlr/types/wlr_text_input_v3.h>
#include <wlr/types/wlr_input_method_v2.h>
#include <wlr/util/log.h>
#include "config/keybind.h"
#include "config/rcxml.h"
#include "input/cursor.h"
#include "input/ime.h"
#include "regions.h"
#include "session-lock.h"
#if HAVE_NLS
@ -120,6 +123,8 @@ struct seat {
/* if set, views cannot receive focus */
struct wlr_layer_surface_v1 *focused_layer;
struct input_method_relay *input_method_relay;
/**
* pressed view/surface/node will usually be NULL and is only set on
* button press while the mouse is over a view or surface, and reset
@ -324,6 +329,9 @@ struct server {
struct wlr_tearing_control_manager_v1 *tearing_control;
struct wl_listener tearing_new_object;
struct wlr_input_method_manager_v2 *input_method_manager;
struct wlr_text_input_manager_v3 *text_input_manager;
/* Set when in cycle (alt-tab) mode */
struct osd_state {
struct view *cycle_view;