mirror of
https://gitlab.freedesktop.org/wayland/wayland-protocols.git
synced 2025-12-20 04:40:06 +01:00
experimental/input-method: Implement only text-input counterparts
This change strips down the protocol to functionality that corresponds to text-input-v3, is already useful, typically implemented in the wild (squeekboard), and well-understood. Dificult to implement well functionality like keyboard grabs is removed to find a better solution without stopping the development of the basic functionality. Signed-off-by: Dorota Czaplejewicz
This commit is contained in:
parent
8d1ccbdebe
commit
73b6115799
1 changed files with 1 additions and 132 deletions
|
|
@ -301,38 +301,6 @@
|
||||||
<arg name="serial" type="uint"/>
|
<arg name="serial" type="uint"/>
|
||||||
</request>
|
</request>
|
||||||
|
|
||||||
<request name="get_input_popup_surface">
|
|
||||||
<description summary="create popup surface">
|
|
||||||
Creates a new zwp_input_popup_surface_v2 object wrapping a given
|
|
||||||
surface.
|
|
||||||
|
|
||||||
The surface gets assigned the "input_popup" role. If the surface
|
|
||||||
already has an assigned role, the compositor must issue a protocol
|
|
||||||
error.
|
|
||||||
</description>
|
|
||||||
<arg name="id" type="new_id" interface="zwp_input_popup_surface_v2"/>
|
|
||||||
<arg name="surface" type="object" interface="wl_surface"/>
|
|
||||||
</request>
|
|
||||||
|
|
||||||
<request name="grab_keyboard">
|
|
||||||
<description summary="grab hardware keyboard">
|
|
||||||
Allow an input method to receive hardware keyboard input and process
|
|
||||||
key events to generate text events (with pre-edit) over the wire. This
|
|
||||||
allows input methods which compose multiple key events for inputting
|
|
||||||
text like it is done for CJK languages.
|
|
||||||
|
|
||||||
The compositor should send all keyboard events on the seat to the grab
|
|
||||||
holder via the returned wl_keyboard object. Nevertheless, the
|
|
||||||
compositor may decide not to forward any particular event. The
|
|
||||||
compositor must not further process any event after it has been
|
|
||||||
forwarded to the grab holder.
|
|
||||||
|
|
||||||
Releasing the resulting wl_keyboard object releases the grab.
|
|
||||||
</description>
|
|
||||||
<arg name="keyboard" type="new_id"
|
|
||||||
interface="zwp_input_method_keyboard_grab_v2"/>
|
|
||||||
</request>
|
|
||||||
|
|
||||||
<event name="unavailable">
|
<event name="unavailable">
|
||||||
<description summary="input method unavailable">
|
<description summary="input method unavailable">
|
||||||
The input method ceased to be available.
|
The input method ceased to be available.
|
||||||
|
|
@ -353,110 +321,11 @@
|
||||||
<request name="destroy" type="destructor">
|
<request name="destroy" type="destructor">
|
||||||
<description summary="destroy the text input">
|
<description summary="destroy the text input">
|
||||||
Destroys the zwp_text_input_v2 object and any associated child
|
Destroys the zwp_text_input_v2 object and any associated child
|
||||||
objects, i.e. zwp_input_popup_surface_v2 and
|
objects.
|
||||||
zwp_input_method_keyboard_grab_v2.
|
|
||||||
</description>
|
</description>
|
||||||
</request>
|
</request>
|
||||||
</interface>
|
</interface>
|
||||||
|
|
||||||
<interface name="zwp_input_popup_surface_v2" version="1">
|
|
||||||
<description summary="popup surface">
|
|
||||||
This interface marks a surface as a popup for interacting with an input
|
|
||||||
method.
|
|
||||||
|
|
||||||
The compositor should place it near the active text input area. It must
|
|
||||||
be visible if and only if the input method is in the active state.
|
|
||||||
|
|
||||||
The client must not destroy the underlying wl_surface while the
|
|
||||||
zwp_input_popup_surface_v2 object exists.
|
|
||||||
</description>
|
|
||||||
|
|
||||||
<event name="text_input_rectangle">
|
|
||||||
<description summary="set text input area position">
|
|
||||||
Notify about the position of the area of the text input expressed as a
|
|
||||||
rectangle in surface local coordinates.
|
|
||||||
|
|
||||||
This is a hint to the input method telling it the relative position of
|
|
||||||
the text being entered.
|
|
||||||
</description>
|
|
||||||
<arg name="x" type="int"/>
|
|
||||||
<arg name="y" type="int"/>
|
|
||||||
<arg name="width" type="int"/>
|
|
||||||
<arg name="height" type="int"/>
|
|
||||||
</event>
|
|
||||||
|
|
||||||
<request name="destroy" type="destructor"/>
|
|
||||||
</interface>
|
|
||||||
|
|
||||||
<interface name="zwp_input_method_keyboard_grab_v2" version="1">
|
|
||||||
<!-- Closely follows wl_keyboard version 6 -->
|
|
||||||
<description summary="keyboard grab">
|
|
||||||
The zwp_input_method_keyboard_grab_v2 interface represents an exclusive
|
|
||||||
grab of the wl_keyboard interface associated with the seat.
|
|
||||||
</description>
|
|
||||||
|
|
||||||
<event name="keymap">
|
|
||||||
<description summary="keyboard mapping">
|
|
||||||
This event provides a file descriptor to the client which can be
|
|
||||||
memory-mapped to provide a keyboard mapping description.
|
|
||||||
</description>
|
|
||||||
<arg name="format" type="uint" enum="wl_keyboard.keymap_format"
|
|
||||||
summary="keymap format"/>
|
|
||||||
<arg name="fd" type="fd" summary="keymap file descriptor"/>
|
|
||||||
<arg name="size" type="uint" summary="keymap size, in bytes"/>
|
|
||||||
</event>
|
|
||||||
|
|
||||||
<event name="key">
|
|
||||||
<description summary="key event">
|
|
||||||
A key was pressed or released.
|
|
||||||
The time argument is a timestamp with millisecond granularity, with an
|
|
||||||
undefined base.
|
|
||||||
</description>
|
|
||||||
<arg name="serial" type="uint" summary="serial number of the key event"/>
|
|
||||||
<arg name="time" type="uint" summary="timestamp with millisecond granularity"/>
|
|
||||||
<arg name="key" type="uint" summary="key that produced the event"/>
|
|
||||||
<arg name="state" type="uint" enum="wl_keyboard.key_state"
|
|
||||||
summary="physical state of the key"/>
|
|
||||||
</event>
|
|
||||||
|
|
||||||
<event name="modifiers">
|
|
||||||
<description summary="modifier and group state">
|
|
||||||
Notifies clients that the modifier and/or group state has changed, and
|
|
||||||
it should update its local state.
|
|
||||||
</description>
|
|
||||||
<arg name="serial" type="uint" summary="serial number of the modifiers event"/>
|
|
||||||
<arg name="mods_depressed" type="uint" summary="depressed modifiers"/>
|
|
||||||
<arg name="mods_latched" type="uint" summary="latched modifiers"/>
|
|
||||||
<arg name="mods_locked" type="uint" summary="locked modifiers"/>
|
|
||||||
<arg name="group" type="uint" summary="keyboard layout"/>
|
|
||||||
</event>
|
|
||||||
|
|
||||||
<request name="release" type="destructor">
|
|
||||||
<description summary="release the grab object"/>
|
|
||||||
</request>
|
|
||||||
|
|
||||||
<event name="repeat_info">
|
|
||||||
<description summary="repeat rate and delay">
|
|
||||||
Informs the client about the keyboard's repeat rate and delay.
|
|
||||||
|
|
||||||
This event is sent as soon as the zwp_input_method_keyboard_grab_v2
|
|
||||||
object has been created, and is guaranteed to be received by the
|
|
||||||
client before any key press event.
|
|
||||||
|
|
||||||
Negative values for either rate or delay are illegal. A rate of zero
|
|
||||||
will disable any repeating (regardless of the value of delay).
|
|
||||||
|
|
||||||
This event can be sent later on as well with a new value if necessary,
|
|
||||||
so clients should continue listening for the event past the creation
|
|
||||||
of zwp_input_method_keyboard_grab_v2.
|
|
||||||
</description>
|
|
||||||
<arg name="rate" type="int"
|
|
||||||
summary="the rate of repeating keys in characters per second"/>
|
|
||||||
<arg name="delay" type="int"
|
|
||||||
summary="delay in milliseconds since key down until repeating starts"/>
|
|
||||||
</event>
|
|
||||||
</interface>
|
|
||||||
|
|
||||||
<interface name="xx_input_method_manager_v2" version="1">
|
<interface name="xx_input_method_manager_v2" version="1">
|
||||||
<description summary="input method manager">
|
<description summary="input method manager">
|
||||||
The input method manager allows the client to become the input method on
|
The input method manager allows the client to become the input method on
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue