Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Mariusz Ceier <mceier+wayland@gmail.com> Reviewed-by: Jan Arne Petersen <janarne@gmail.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>dev
parent
3bcba347a2
commit
b57f472c84
@ -1,291 +0,0 @@ |
|||||||
<?xml version="1.0" encoding="UTF-8"?> |
|
||||||
<protocol name="input_method"> |
|
||||||
|
|
||||||
<copyright> |
|
||||||
Copyright © 2012, 2013 Intel Corporation |
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a |
|
||||||
copy of this software and associated documentation files (the "Software"), |
|
||||||
to deal in the Software without restriction, including without limitation |
|
||||||
the rights to use, copy, modify, merge, publish, distribute, sublicense, |
|
||||||
and/or sell copies of the Software, and to permit persons to whom the |
|
||||||
Software is furnished to do so, subject to the following conditions: |
|
||||||
|
|
||||||
The above copyright notice and this permission notice (including the next |
|
||||||
paragraph) shall be included in all copies or substantial portions of the |
|
||||||
Software. |
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
|
||||||
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
|
||||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
|
||||||
DEALINGS IN THE SOFTWARE. |
|
||||||
</copyright> |
|
||||||
|
|
||||||
<interface name="wl_input_method_context" version="1"> |
|
||||||
<description summary="input method context"> |
|
||||||
Corresponds to a text input on input method side. An input method context |
|
||||||
is created on text input activation on the input method side. It allows to |
|
||||||
receive information about the text input from the application via events. |
|
||||||
Input method contexts do not keep state after deactivation and should be |
|
||||||
destroyed after deactivation is handled. |
|
||||||
|
|
||||||
Text is generally UTF-8 encoded, indices and lengths are in bytes. |
|
||||||
|
|
||||||
Serials are used to synchronize the state between the text input and |
|
||||||
an input method. New serials are sent by the text input in the |
|
||||||
commit_state request and are used by the input method to indicate |
|
||||||
the known text input state in events like preedit_string, commit_string, |
|
||||||
and keysym. The text input can then ignore events from the input method |
|
||||||
which are based on an outdated state (for example after a reset). |
|
||||||
</description> |
|
||||||
|
|
||||||
<request name="destroy" type="destructor"/> |
|
||||||
|
|
||||||
<request name="commit_string"> |
|
||||||
<description summary="commit string"> |
|
||||||
Send the commit string text for insertion to the application. |
|
||||||
|
|
||||||
The text to commit could be either just a single character after a key |
|
||||||
press or the result of some composing (pre-edit). It could be also an |
|
||||||
empty text when some text should be removed (see |
|
||||||
delete_surrounding_text) or when the input cursor should be moved (see |
|
||||||
cursor_position). |
|
||||||
|
|
||||||
Any previously set composing text will be removed. |
|
||||||
</description> |
|
||||||
<arg name="serial" type="uint" summary="serial of the latest known text input state"/> |
|
||||||
<arg name="text" type="string"/> |
|
||||||
</request> |
|
||||||
|
|
||||||
<request name="preedit_string"> |
|
||||||
<description summary="pre-edit string"> |
|
||||||
Send the pre-edit string text to the application text input. |
|
||||||
|
|
||||||
The commit text can be used to replace the preedit text on reset (for |
|
||||||
example on unfocus). |
|
||||||
|
|
||||||
Also previously sent preedit_style and preedit_cursor requests are |
|
||||||
processed bt the text_input also. |
|
||||||
</description> |
|
||||||
<arg name="serial" type="uint" summary="serial of the latest known text input state"/> |
|
||||||
<arg name="text" type="string"/> |
|
||||||
<arg name="commit" type="string"/> |
|
||||||
</request> |
|
||||||
|
|
||||||
<request name="preedit_styling"> |
|
||||||
<description summary="pre-edit styling"> |
|
||||||
Sets styling information on composing text. The style is applied for |
|
||||||
length in bytes from index relative to the beginning of |
|
||||||
the composing text (as byte offset). Multiple styles can |
|
||||||
be applied to a composing text. |
|
||||||
|
|
||||||
This request should be sent before sending preedit_string request. |
|
||||||
</description> |
|
||||||
<arg name="index" type="uint"/> |
|
||||||
<arg name="length" type="uint"/> |
|
||||||
<arg name="style" type="uint"/> |
|
||||||
</request> |
|
||||||
|
|
||||||
<request name="preedit_cursor"> |
|
||||||
<description summary="pre-edit cursor"> |
|
||||||
Sets the cursor position inside the composing text (as byte offset) |
|
||||||
relative to the start of the composing text. |
|
||||||
|
|
||||||
When index is negative no cursor should be displayed. |
|
||||||
|
|
||||||
This request should be sent before sending preedit_string request. |
|
||||||
</description> |
|
||||||
<arg name="index" type="int"/> |
|
||||||
</request> |
|
||||||
|
|
||||||
<request name="delete_surrounding_text"> |
|
||||||
<description summary="delete text"> |
|
||||||
This request will be handled on text_input side as part of a directly |
|
||||||
following commit_string request. |
|
||||||
</description> |
|
||||||
<arg name="index" type="int"/> |
|
||||||
<arg name="length" type="uint"/> |
|
||||||
</request> |
|
||||||
|
|
||||||
<request name="cursor_position"> |
|
||||||
<description summary="set cursor to a new position"> |
|
||||||
Sets the cursor and anchor to a new position. Index is the new cursor |
|
||||||
position in bytes (when >= 0 relative to the end of inserted text |
|
||||||
else relative to beginning of inserted text). Anchor is the new anchor |
|
||||||
position in bytes (when >= 0 relative to the end of inserted text, else |
|
||||||
relative to beginning of inserted text). When there should be no |
|
||||||
selected text anchor should be the same as index. |
|
||||||
|
|
||||||
This request will be handled on text_input side as part of a directly |
|
||||||
following commit_string request. |
|
||||||
</description> |
|
||||||
<arg name="index" type="int"/> |
|
||||||
<arg name="anchor" type="int"/> |
|
||||||
</request> |
|
||||||
|
|
||||||
<request name="modifiers_map"> |
|
||||||
<arg name="map" type="array"/> |
|
||||||
</request> |
|
||||||
|
|
||||||
<request name="keysym"> |
|
||||||
<description summary="keysym"> |
|
||||||
Notify when a key event was sent. Key events should not be used for |
|
||||||
normal text input operations, which should be done with commit_string, |
|
||||||
delete_surrounfing_text, etc. The key event follows the wl_keyboard key |
|
||||||
event convention. Sym is a XKB keysym, state a wl_keyboard key_state. |
|
||||||
</description> |
|
||||||
<arg name="serial" type="uint" summary="serial of the latest known text input state"/> |
|
||||||
<arg name="time" type="uint"/> |
|
||||||
<arg name="sym" type="uint"/> |
|
||||||
<arg name="state" type="uint"/> |
|
||||||
<arg name="modifiers" type="uint"/> |
|
||||||
</request> |
|
||||||
|
|
||||||
<request name="grab_keyboard"> |
|
||||||
<description summary="grab hardware keyboard"> |
|
||||||
Allows 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. |
|
||||||
</description> |
|
||||||
<arg name="keyboard" type="new_id" interface="wl_keyboard"/> |
|
||||||
</request> |
|
||||||
|
|
||||||
<request name="key"> |
|
||||||
<description summary="forward key event"> |
|
||||||
Should be used when filtering key events with grab_keyboard. |
|
||||||
|
|
||||||
When the wl_keyboard::key event is not processed by the input |
|
||||||
method itself and should be sent to the client instead, forward it |
|
||||||
with this request. The arguments should be the ones from the |
|
||||||
wl_keyboard::key event. |
|
||||||
|
|
||||||
For generating custom key events use the keysym request instead. |
|
||||||
</description> |
|
||||||
<arg name="serial" type="uint" summary="serial from wl_keyboard::key"/> |
|
||||||
<arg name="time" type="uint" summary="time from wl_keyboard::key"/> |
|
||||||
<arg name="key" type="uint" summary="key from wl_keyboard::key"/> |
|
||||||
<arg name="state" type="uint" summary="state from wl_keyboard::key"/> |
|
||||||
</request> |
|
||||||
|
|
||||||
<request name="modifiers"> |
|
||||||
<description summary="forward modifiers event"> |
|
||||||
Should be used when filtering key events with grab_keyboard. |
|
||||||
|
|
||||||
When the wl_keyboard::modifiers event should be also send to the |
|
||||||
client, forward it with this request. The arguments should be the ones |
|
||||||
from the wl_keyboard::modifiers event. |
|
||||||
</description> |
|
||||||
<arg name="serial" type="uint" summary="serial from wl_keyboard::modifiers"/> |
|
||||||
<arg name="mods_depressed" type="uint" summary="mods_depressed from wl_keyboard::modifiers"/> |
|
||||||
<arg name="mods_latched" type="uint" summary="mods_latched from wl_keyboard::modifiers"/> |
|
||||||
<arg name="mods_locked" type="uint" summary="mods_locked from wl_keyboard::modifiers"/> |
|
||||||
<arg name="group" type="uint" summary="group from wl_keyboard::modifiers"/> |
|
||||||
</request> |
|
||||||
|
|
||||||
<request name="language"> |
|
||||||
<arg name="serial" type="uint" summary="serial of the latest known text input state"/> |
|
||||||
<arg name="language" type="string"/> |
|
||||||
</request> |
|
||||||
<request name="text_direction"> |
|
||||||
<arg name="serial" type="uint" summary="serial of the latest known text input state"/> |
|
||||||
<arg name="direction" type="uint"/> |
|
||||||
</request> |
|
||||||
|
|
||||||
<event name="surrounding_text"> |
|
||||||
<description summary="surrounding text event"> |
|
||||||
The plain surrounding text around the input position. Cursor is the |
|
||||||
position in bytes within the surrounding text relative to the beginning |
|
||||||
of the text. Anchor is the position in bytes of the selection anchor |
|
||||||
within the surrounding text relative to the beginning of the text. If |
|
||||||
there is no selected text anchor is the same as cursor. |
|
||||||
</description> |
|
||||||
<arg name="text" type="string"/> |
|
||||||
<arg name="cursor" type="uint"/> |
|
||||||
<arg name="anchor" type="uint"/> |
|
||||||
</event> |
|
||||||
|
|
||||||
<event name="reset"> |
|
||||||
</event> |
|
||||||
|
|
||||||
<event name="content_type"> |
|
||||||
<arg name="hint" type="uint"/> |
|
||||||
<arg name="purpose" type="uint"/> |
|
||||||
</event> |
|
||||||
|
|
||||||
<event name="invoke_action"> |
|
||||||
<arg name="button" type="uint"/> |
|
||||||
<arg name="index" type="uint"/> |
|
||||||
</event> |
|
||||||
|
|
||||||
<event name="commit_state"> |
|
||||||
<arg name="serial" type="uint" summary="serial of text input state"/> |
|
||||||
</event> |
|
||||||
|
|
||||||
<event name="preferred_language"> |
|
||||||
<arg name="language" type="string"/> |
|
||||||
</event> |
|
||||||
</interface> |
|
||||||
|
|
||||||
<interface name="wl_input_method" version="1"> |
|
||||||
<description summary="input method"> |
|
||||||
An input method object is responsible to compose text in response to |
|
||||||
input from hardware or virtual keyboards. There is one input method |
|
||||||
object per seat. On activate there is a new input method context object |
|
||||||
created which allows the input method to communicate with the text input. |
|
||||||
</description> |
|
||||||
|
|
||||||
<event name="activate"> |
|
||||||
<description summary="activate event"> |
|
||||||
A text input was activated. Creates an input method context object |
|
||||||
which allows communication with the text input. |
|
||||||
</description> |
|
||||||
<arg name="id" type="new_id" interface="wl_input_method_context"/> |
|
||||||
</event> |
|
||||||
|
|
||||||
<event name="deactivate"> |
|
||||||
<description summary="deactivate event"> |
|
||||||
The text input corresponding to the context argument was deactivated. |
|
||||||
The input method context should be destroyed after deactivation is |
|
||||||
handled. |
|
||||||
</description> |
|
||||||
<arg name="context" type="object" interface="wl_input_method_context"/> |
|
||||||
</event> |
|
||||||
</interface> |
|
||||||
|
|
||||||
<interface name="wl_input_panel" version="1"> |
|
||||||
<description summary="interface for implementing keyboards"> |
|
||||||
Only one client can bind this interface at a time. |
|
||||||
</description> |
|
||||||
|
|
||||||
<request name="get_input_panel_surface"> |
|
||||||
<arg name="id" type="new_id" interface="wl_input_panel_surface"/> |
|
||||||
<arg name="surface" type="object" interface="wl_surface"/> |
|
||||||
</request> |
|
||||||
</interface> |
|
||||||
|
|
||||||
<interface name="wl_input_panel_surface" version="1"> |
|
||||||
<enum name="position"> |
|
||||||
<entry name="center_bottom" value="0"/> |
|
||||||
</enum> |
|
||||||
|
|
||||||
<request name="set_toplevel"> |
|
||||||
<description summary="set the surface type as a keyboard"> |
|
||||||
A keyboard surface is only shown when a text input is active. |
|
||||||
</description> |
|
||||||
<arg name="output" type="object" interface="wl_output"/> |
|
||||||
<arg name="position" type="uint"/> |
|
||||||
</request> |
|
||||||
|
|
||||||
<request name="set_overlay_panel"> |
|
||||||
<description summary="set the surface type as an overlay panel"> |
|
||||||
An overlay panel is shown near the input cursor above the application |
|
||||||
window when a text input is active. |
|
||||||
</description> |
|
||||||
</request> |
|
||||||
</interface> |
|
||||||
|
|
||||||
</protocol> |
|
Loading…
Reference in new issue