1*6c119a46SAndroid Build Coastguard Worker<?xml version="1.0" encoding="UTF-8"?>
2*6c119a46SAndroid Build Coastguard Worker<protocol name="input_method_unstable_v1">
3*6c119a46SAndroid Build Coastguard Worker
4*6c119a46SAndroid Build Coastguard Worker  <copyright>
5*6c119a46SAndroid Build Coastguard Worker    Copyright © 2012, 2013 Intel Corporation
6*6c119a46SAndroid Build Coastguard Worker
7*6c119a46SAndroid Build Coastguard Worker    Permission is hereby granted, free of charge, to any person obtaining a
8*6c119a46SAndroid Build Coastguard Worker    copy of this software and associated documentation files (the "Software"),
9*6c119a46SAndroid Build Coastguard Worker    to deal in the Software without restriction, including without limitation
10*6c119a46SAndroid Build Coastguard Worker    the rights to use, copy, modify, merge, publish, distribute, sublicense,
11*6c119a46SAndroid Build Coastguard Worker    and/or sell copies of the Software, and to permit persons to whom the
12*6c119a46SAndroid Build Coastguard Worker    Software is furnished to do so, subject to the following conditions:
13*6c119a46SAndroid Build Coastguard Worker
14*6c119a46SAndroid Build Coastguard Worker    The above copyright notice and this permission notice (including the next
15*6c119a46SAndroid Build Coastguard Worker    paragraph) shall be included in all copies or substantial portions of the
16*6c119a46SAndroid Build Coastguard Worker    Software.
17*6c119a46SAndroid Build Coastguard Worker
18*6c119a46SAndroid Build Coastguard Worker    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19*6c119a46SAndroid Build Coastguard Worker    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20*6c119a46SAndroid Build Coastguard Worker    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
21*6c119a46SAndroid Build Coastguard Worker    THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22*6c119a46SAndroid Build Coastguard Worker    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23*6c119a46SAndroid Build Coastguard Worker    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24*6c119a46SAndroid Build Coastguard Worker    DEALINGS IN THE SOFTWARE.
25*6c119a46SAndroid Build Coastguard Worker  </copyright>
26*6c119a46SAndroid Build Coastguard Worker
27*6c119a46SAndroid Build Coastguard Worker  <interface name="zwp_input_method_context_v1" version="1">
28*6c119a46SAndroid Build Coastguard Worker    <description summary="input method context">
29*6c119a46SAndroid Build Coastguard Worker      Corresponds to a text input on the input method side. An input method context
30*6c119a46SAndroid Build Coastguard Worker      is created on text input activation on the input method side. It allows
31*6c119a46SAndroid Build Coastguard Worker      receiving information about the text input from the application via events.
32*6c119a46SAndroid Build Coastguard Worker      Input method contexts do not keep state after deactivation and should be
33*6c119a46SAndroid Build Coastguard Worker      destroyed after deactivation is handled.
34*6c119a46SAndroid Build Coastguard Worker
35*6c119a46SAndroid Build Coastguard Worker      Text is generally UTF-8 encoded, indices and lengths are in bytes.
36*6c119a46SAndroid Build Coastguard Worker
37*6c119a46SAndroid Build Coastguard Worker      Serials are used to synchronize the state between the text input and
38*6c119a46SAndroid Build Coastguard Worker      an input method. New serials are sent by the text input in the
39*6c119a46SAndroid Build Coastguard Worker      commit_state request and are used by the input method to indicate
40*6c119a46SAndroid Build Coastguard Worker      the known text input state in events like preedit_string, commit_string,
41*6c119a46SAndroid Build Coastguard Worker      and keysym. The text input can then ignore events from the input method
42*6c119a46SAndroid Build Coastguard Worker      which are based on an outdated state (for example after a reset).
43*6c119a46SAndroid Build Coastguard Worker
44*6c119a46SAndroid Build Coastguard Worker      Warning! The protocol described in this file is experimental and
45*6c119a46SAndroid Build Coastguard Worker      backward incompatible changes may be made. Backward compatible changes
46*6c119a46SAndroid Build Coastguard Worker      may be added together with the corresponding interface version bump.
47*6c119a46SAndroid Build Coastguard Worker      Backward incompatible changes are done by bumping the version number in
48*6c119a46SAndroid Build Coastguard Worker      the protocol and interface names and resetting the interface version.
49*6c119a46SAndroid Build Coastguard Worker      Once the protocol is to be declared stable, the 'z' prefix and the
50*6c119a46SAndroid Build Coastguard Worker      version number in the protocol and interface names are removed and the
51*6c119a46SAndroid Build Coastguard Worker      interface version number is reset.
52*6c119a46SAndroid Build Coastguard Worker    </description>
53*6c119a46SAndroid Build Coastguard Worker
54*6c119a46SAndroid Build Coastguard Worker    <request name="destroy" type="destructor"/>
55*6c119a46SAndroid Build Coastguard Worker
56*6c119a46SAndroid Build Coastguard Worker    <request name="commit_string">
57*6c119a46SAndroid Build Coastguard Worker      <description summary="commit string">
58*6c119a46SAndroid Build Coastguard Worker	Send the commit string text for insertion to the application.
59*6c119a46SAndroid Build Coastguard Worker
60*6c119a46SAndroid Build Coastguard Worker	The text to commit could be either just a single character after a key
61*6c119a46SAndroid Build Coastguard Worker	press or the result of some composing (pre-edit). It could be also an
62*6c119a46SAndroid Build Coastguard Worker	empty text when some text should be removed (see
63*6c119a46SAndroid Build Coastguard Worker	delete_surrounding_text) or when the input cursor should be moved (see
64*6c119a46SAndroid Build Coastguard Worker	cursor_position).
65*6c119a46SAndroid Build Coastguard Worker
66*6c119a46SAndroid Build Coastguard Worker	Any previously set composing text will be removed.
67*6c119a46SAndroid Build Coastguard Worker      </description>
68*6c119a46SAndroid Build Coastguard Worker      <arg name="serial" type="uint" summary="serial of the latest known text input state"/>
69*6c119a46SAndroid Build Coastguard Worker      <arg name="text" type="string"/>
70*6c119a46SAndroid Build Coastguard Worker    </request>
71*6c119a46SAndroid Build Coastguard Worker
72*6c119a46SAndroid Build Coastguard Worker    <request name="preedit_string">
73*6c119a46SAndroid Build Coastguard Worker      <description summary="pre-edit string">
74*6c119a46SAndroid Build Coastguard Worker	Send the pre-edit string text to the application text input.
75*6c119a46SAndroid Build Coastguard Worker
76*6c119a46SAndroid Build Coastguard Worker	The commit text can be used to replace the pre-edit text on reset (for
77*6c119a46SAndroid Build Coastguard Worker	example on unfocus).
78*6c119a46SAndroid Build Coastguard Worker
79*6c119a46SAndroid Build Coastguard Worker	Previously sent preedit_style and preedit_cursor requests are also
80*6c119a46SAndroid Build Coastguard Worker	processed by the text_input.
81*6c119a46SAndroid Build Coastguard Worker      </description>
82*6c119a46SAndroid Build Coastguard Worker      <arg name="serial" type="uint" summary="serial of the latest known text input state"/>
83*6c119a46SAndroid Build Coastguard Worker      <arg name="text" type="string"/>
84*6c119a46SAndroid Build Coastguard Worker      <arg name="commit" type="string"/>
85*6c119a46SAndroid Build Coastguard Worker    </request>
86*6c119a46SAndroid Build Coastguard Worker
87*6c119a46SAndroid Build Coastguard Worker    <request name="preedit_styling">
88*6c119a46SAndroid Build Coastguard Worker      <description summary="pre-edit styling">
89*6c119a46SAndroid Build Coastguard Worker	Set the styling information on composing text. The style is applied for
90*6c119a46SAndroid Build Coastguard Worker	length in bytes from index relative to the beginning of
91*6c119a46SAndroid Build Coastguard Worker	the composing text (as byte offset). Multiple styles can
92*6c119a46SAndroid Build Coastguard Worker	be applied to a composing text.
93*6c119a46SAndroid Build Coastguard Worker
94*6c119a46SAndroid Build Coastguard Worker	This request should be sent before sending a preedit_string request.
95*6c119a46SAndroid Build Coastguard Worker      </description>
96*6c119a46SAndroid Build Coastguard Worker      <arg name="index" type="uint"/>
97*6c119a46SAndroid Build Coastguard Worker      <arg name="length" type="uint"/>
98*6c119a46SAndroid Build Coastguard Worker      <arg name="style" type="uint"/>
99*6c119a46SAndroid Build Coastguard Worker    </request>
100*6c119a46SAndroid Build Coastguard Worker
101*6c119a46SAndroid Build Coastguard Worker    <request name="preedit_cursor">
102*6c119a46SAndroid Build Coastguard Worker      <description summary="pre-edit cursor">
103*6c119a46SAndroid Build Coastguard Worker	Set the cursor position inside the composing text (as byte offset)
104*6c119a46SAndroid Build Coastguard Worker	relative to the start of the composing text.
105*6c119a46SAndroid Build Coastguard Worker
106*6c119a46SAndroid Build Coastguard Worker	When index is negative no cursor should be displayed.
107*6c119a46SAndroid Build Coastguard Worker
108*6c119a46SAndroid Build Coastguard Worker	This request should be sent before sending a preedit_string request.
109*6c119a46SAndroid Build Coastguard Worker      </description>
110*6c119a46SAndroid Build Coastguard Worker      <arg name="index" type="int"/>
111*6c119a46SAndroid Build Coastguard Worker    </request>
112*6c119a46SAndroid Build Coastguard Worker
113*6c119a46SAndroid Build Coastguard Worker    <request name="delete_surrounding_text">
114*6c119a46SAndroid Build Coastguard Worker      <description summary="delete text">
115*6c119a46SAndroid Build Coastguard Worker	Remove the surrounding text.
116*6c119a46SAndroid Build Coastguard Worker
117*6c119a46SAndroid Build Coastguard Worker	This request will be handled on the text_input side directly following
118*6c119a46SAndroid Build Coastguard Worker	a commit_string request.
119*6c119a46SAndroid Build Coastguard Worker      </description>
120*6c119a46SAndroid Build Coastguard Worker      <arg name="index" type="int"/>
121*6c119a46SAndroid Build Coastguard Worker      <arg name="length" type="uint"/>
122*6c119a46SAndroid Build Coastguard Worker    </request>
123*6c119a46SAndroid Build Coastguard Worker
124*6c119a46SAndroid Build Coastguard Worker    <request name="cursor_position">
125*6c119a46SAndroid Build Coastguard Worker      <description summary="set cursor to a new position">
126*6c119a46SAndroid Build Coastguard Worker	Set the cursor and anchor to a new position. Index is the new cursor
127*6c119a46SAndroid Build Coastguard Worker	position in bytes (when >= 0 this is relative to the end of the inserted text,
128*6c119a46SAndroid Build Coastguard Worker	otherwise it is relative to the beginning of the inserted text). Anchor is
129*6c119a46SAndroid Build Coastguard Worker	the new anchor position in bytes (when >= 0 this is relative to the end of the
130*6c119a46SAndroid Build Coastguard Worker	inserted text, otherwise it is relative to the beginning of the inserted
131*6c119a46SAndroid Build Coastguard Worker	text). When there should be no selected text, anchor should be the same
132*6c119a46SAndroid Build Coastguard Worker	as index.
133*6c119a46SAndroid Build Coastguard Worker
134*6c119a46SAndroid Build Coastguard Worker	This request will be handled on the text_input side directly following
135*6c119a46SAndroid Build Coastguard Worker	a commit_string request.
136*6c119a46SAndroid Build Coastguard Worker      </description>
137*6c119a46SAndroid Build Coastguard Worker      <arg name="index" type="int"/>
138*6c119a46SAndroid Build Coastguard Worker      <arg name="anchor" type="int"/>
139*6c119a46SAndroid Build Coastguard Worker    </request>
140*6c119a46SAndroid Build Coastguard Worker
141*6c119a46SAndroid Build Coastguard Worker    <request name="modifiers_map">
142*6c119a46SAndroid Build Coastguard Worker      <arg name="map" type="array"/>
143*6c119a46SAndroid Build Coastguard Worker    </request>
144*6c119a46SAndroid Build Coastguard Worker
145*6c119a46SAndroid Build Coastguard Worker    <request name="keysym">
146*6c119a46SAndroid Build Coastguard Worker      <description summary="keysym">
147*6c119a46SAndroid Build Coastguard Worker	Notify when a key event was sent. Key events should not be used for
148*6c119a46SAndroid Build Coastguard Worker	normal text input operations, which should be done with commit_string,
149*6c119a46SAndroid Build Coastguard Worker	delete_surrounding_text, etc. The key event follows the wl_keyboard key
150*6c119a46SAndroid Build Coastguard Worker	event convention. Sym is an XKB keysym, state is a wl_keyboard key_state.
151*6c119a46SAndroid Build Coastguard Worker      </description>
152*6c119a46SAndroid Build Coastguard Worker      <arg name="serial" type="uint" summary="serial of the latest known text input state"/>
153*6c119a46SAndroid Build Coastguard Worker      <arg name="time" type="uint"/>
154*6c119a46SAndroid Build Coastguard Worker      <arg name="sym" type="uint"/>
155*6c119a46SAndroid Build Coastguard Worker      <arg name="state" type="uint"/>
156*6c119a46SAndroid Build Coastguard Worker      <arg name="modifiers" type="uint"/>
157*6c119a46SAndroid Build Coastguard Worker    </request>
158*6c119a46SAndroid Build Coastguard Worker
159*6c119a46SAndroid Build Coastguard Worker    <request name="grab_keyboard">
160*6c119a46SAndroid Build Coastguard Worker      <description summary="grab hardware keyboard">
161*6c119a46SAndroid Build Coastguard Worker	Allow an input method to receive hardware keyboard input and process
162*6c119a46SAndroid Build Coastguard Worker	key events to generate text events (with pre-edit) over the wire. This
163*6c119a46SAndroid Build Coastguard Worker	allows input methods which compose multiple key events for inputting
164*6c119a46SAndroid Build Coastguard Worker	text like it is done for CJK languages.
165*6c119a46SAndroid Build Coastguard Worker      </description>
166*6c119a46SAndroid Build Coastguard Worker      <arg name="keyboard" type="new_id" interface="wl_keyboard"/>
167*6c119a46SAndroid Build Coastguard Worker    </request>
168*6c119a46SAndroid Build Coastguard Worker
169*6c119a46SAndroid Build Coastguard Worker    <request name="key">
170*6c119a46SAndroid Build Coastguard Worker      <description summary="forward key event">
171*6c119a46SAndroid Build Coastguard Worker	Forward a wl_keyboard::key event to the client that was not processed
172*6c119a46SAndroid Build Coastguard Worker	by the input method itself. Should be used when filtering key events
173*6c119a46SAndroid Build Coastguard Worker	with grab_keyboard.  The arguments should be the ones from the
174*6c119a46SAndroid Build Coastguard Worker	wl_keyboard::key event.
175*6c119a46SAndroid Build Coastguard Worker
176*6c119a46SAndroid Build Coastguard Worker	For generating custom key events use the keysym request instead.
177*6c119a46SAndroid Build Coastguard Worker      </description>
178*6c119a46SAndroid Build Coastguard Worker      <arg name="serial" type="uint" summary="serial from wl_keyboard::key"/>
179*6c119a46SAndroid Build Coastguard Worker      <arg name="time" type="uint" summary="time from wl_keyboard::key"/>
180*6c119a46SAndroid Build Coastguard Worker      <arg name="key" type="uint" summary="key from wl_keyboard::key"/>
181*6c119a46SAndroid Build Coastguard Worker      <arg name="state" type="uint" summary="state from wl_keyboard::key"/>
182*6c119a46SAndroid Build Coastguard Worker    </request>
183*6c119a46SAndroid Build Coastguard Worker
184*6c119a46SAndroid Build Coastguard Worker    <request name="modifiers">
185*6c119a46SAndroid Build Coastguard Worker      <description summary="forward modifiers event">
186*6c119a46SAndroid Build Coastguard Worker	Forward a wl_keyboard::modifiers event to the client that was not
187*6c119a46SAndroid Build Coastguard Worker	processed by the input method itself.  Should be used when filtering
188*6c119a46SAndroid Build Coastguard Worker	key events with grab_keyboard. The arguments should be the ones
189*6c119a46SAndroid Build Coastguard Worker	from the wl_keyboard::modifiers event.
190*6c119a46SAndroid Build Coastguard Worker      </description>
191*6c119a46SAndroid Build Coastguard Worker      <arg name="serial" type="uint" summary="serial from wl_keyboard::modifiers"/>
192*6c119a46SAndroid Build Coastguard Worker      <arg name="mods_depressed" type="uint" summary="mods_depressed from wl_keyboard::modifiers"/>
193*6c119a46SAndroid Build Coastguard Worker      <arg name="mods_latched" type="uint" summary="mods_latched from wl_keyboard::modifiers"/>
194*6c119a46SAndroid Build Coastguard Worker      <arg name="mods_locked" type="uint" summary="mods_locked from wl_keyboard::modifiers"/>
195*6c119a46SAndroid Build Coastguard Worker      <arg name="group" type="uint" summary="group from wl_keyboard::modifiers"/>
196*6c119a46SAndroid Build Coastguard Worker    </request>
197*6c119a46SAndroid Build Coastguard Worker
198*6c119a46SAndroid Build Coastguard Worker    <request name="language">
199*6c119a46SAndroid Build Coastguard Worker      <arg name="serial" type="uint" summary="serial of the latest known text input state"/>
200*6c119a46SAndroid Build Coastguard Worker      <arg name="language" type="string"/>
201*6c119a46SAndroid Build Coastguard Worker    </request>
202*6c119a46SAndroid Build Coastguard Worker
203*6c119a46SAndroid Build Coastguard Worker    <request name="text_direction">
204*6c119a46SAndroid Build Coastguard Worker      <arg name="serial" type="uint" summary="serial of the latest known text input state"/>
205*6c119a46SAndroid Build Coastguard Worker      <arg name="direction" type="uint"/>
206*6c119a46SAndroid Build Coastguard Worker    </request>
207*6c119a46SAndroid Build Coastguard Worker
208*6c119a46SAndroid Build Coastguard Worker    <event name="surrounding_text">
209*6c119a46SAndroid Build Coastguard Worker      <description summary="surrounding text event">
210*6c119a46SAndroid Build Coastguard Worker	The plain surrounding text around the input position. Cursor is the
211*6c119a46SAndroid Build Coastguard Worker	position in bytes within the surrounding text relative to the beginning
212*6c119a46SAndroid Build Coastguard Worker	of the text. Anchor is the position in bytes of the selection anchor
213*6c119a46SAndroid Build Coastguard Worker	within the surrounding text relative to the beginning of the text. If
214*6c119a46SAndroid Build Coastguard Worker	there is no selected text then anchor is the same as cursor.
215*6c119a46SAndroid Build Coastguard Worker      </description>
216*6c119a46SAndroid Build Coastguard Worker      <arg name="text" type="string"/>
217*6c119a46SAndroid Build Coastguard Worker      <arg name="cursor" type="uint"/>
218*6c119a46SAndroid Build Coastguard Worker      <arg name="anchor" type="uint"/>
219*6c119a46SAndroid Build Coastguard Worker    </event>
220*6c119a46SAndroid Build Coastguard Worker
221*6c119a46SAndroid Build Coastguard Worker    <event name="reset">
222*6c119a46SAndroid Build Coastguard Worker    </event>
223*6c119a46SAndroid Build Coastguard Worker
224*6c119a46SAndroid Build Coastguard Worker    <event name="content_type">
225*6c119a46SAndroid Build Coastguard Worker      <arg name="hint" type="uint"/>
226*6c119a46SAndroid Build Coastguard Worker      <arg name="purpose" type="uint"/>
227*6c119a46SAndroid Build Coastguard Worker    </event>
228*6c119a46SAndroid Build Coastguard Worker
229*6c119a46SAndroid Build Coastguard Worker    <event name="invoke_action">
230*6c119a46SAndroid Build Coastguard Worker      <arg name="button" type="uint"/>
231*6c119a46SAndroid Build Coastguard Worker      <arg name="index" type="uint"/>
232*6c119a46SAndroid Build Coastguard Worker    </event>
233*6c119a46SAndroid Build Coastguard Worker
234*6c119a46SAndroid Build Coastguard Worker    <event name="commit_state">
235*6c119a46SAndroid Build Coastguard Worker      <arg name="serial" type="uint" summary="serial of text input state"/>
236*6c119a46SAndroid Build Coastguard Worker    </event>
237*6c119a46SAndroid Build Coastguard Worker
238*6c119a46SAndroid Build Coastguard Worker    <event name="preferred_language">
239*6c119a46SAndroid Build Coastguard Worker      <arg name="language" type="string"/>
240*6c119a46SAndroid Build Coastguard Worker    </event>
241*6c119a46SAndroid Build Coastguard Worker  </interface>
242*6c119a46SAndroid Build Coastguard Worker
243*6c119a46SAndroid Build Coastguard Worker  <interface name="zwp_input_method_v1" version="1">
244*6c119a46SAndroid Build Coastguard Worker    <description summary="input method">
245*6c119a46SAndroid Build Coastguard Worker      An input method object is responsible for composing text in response to
246*6c119a46SAndroid Build Coastguard Worker      input from hardware or virtual keyboards. There is one input method
247*6c119a46SAndroid Build Coastguard Worker      object per seat. On activate there is a new input method context object
248*6c119a46SAndroid Build Coastguard Worker      created which allows the input method to communicate with the text input.
249*6c119a46SAndroid Build Coastguard Worker    </description>
250*6c119a46SAndroid Build Coastguard Worker
251*6c119a46SAndroid Build Coastguard Worker    <event name="activate">
252*6c119a46SAndroid Build Coastguard Worker      <description summary="activate event">
253*6c119a46SAndroid Build Coastguard Worker	A text input was activated. Creates an input method context object
254*6c119a46SAndroid Build Coastguard Worker	which allows communication with the text input.
255*6c119a46SAndroid Build Coastguard Worker      </description>
256*6c119a46SAndroid Build Coastguard Worker      <arg name="id" type="new_id" interface="zwp_input_method_context_v1"/>
257*6c119a46SAndroid Build Coastguard Worker    </event>
258*6c119a46SAndroid Build Coastguard Worker
259*6c119a46SAndroid Build Coastguard Worker    <event name="deactivate">
260*6c119a46SAndroid Build Coastguard Worker      <description summary="deactivate event">
261*6c119a46SAndroid Build Coastguard Worker	The text input corresponding to the context argument was deactivated.
262*6c119a46SAndroid Build Coastguard Worker	The input method context should be destroyed after deactivation is
263*6c119a46SAndroid Build Coastguard Worker	handled.
264*6c119a46SAndroid Build Coastguard Worker      </description>
265*6c119a46SAndroid Build Coastguard Worker      <arg name="context" type="object" interface="zwp_input_method_context_v1"/>
266*6c119a46SAndroid Build Coastguard Worker    </event>
267*6c119a46SAndroid Build Coastguard Worker  </interface>
268*6c119a46SAndroid Build Coastguard Worker
269*6c119a46SAndroid Build Coastguard Worker  <interface name="zwp_input_panel_v1" version="1">
270*6c119a46SAndroid Build Coastguard Worker    <description summary="interface for implementing keyboards">
271*6c119a46SAndroid Build Coastguard Worker      Only one client can bind this interface at a time.
272*6c119a46SAndroid Build Coastguard Worker    </description>
273*6c119a46SAndroid Build Coastguard Worker
274*6c119a46SAndroid Build Coastguard Worker    <request name="get_input_panel_surface">
275*6c119a46SAndroid Build Coastguard Worker      <arg name="id" type="new_id" interface="zwp_input_panel_surface_v1"/>
276*6c119a46SAndroid Build Coastguard Worker      <arg name="surface" type="object" interface="wl_surface"/>
277*6c119a46SAndroid Build Coastguard Worker    </request>
278*6c119a46SAndroid Build Coastguard Worker  </interface>
279*6c119a46SAndroid Build Coastguard Worker
280*6c119a46SAndroid Build Coastguard Worker  <interface name="zwp_input_panel_surface_v1" version="1">
281*6c119a46SAndroid Build Coastguard Worker    <enum name="position">
282*6c119a46SAndroid Build Coastguard Worker      <entry name="center_bottom" value="0"/>
283*6c119a46SAndroid Build Coastguard Worker    </enum>
284*6c119a46SAndroid Build Coastguard Worker
285*6c119a46SAndroid Build Coastguard Worker    <request name="set_toplevel">
286*6c119a46SAndroid Build Coastguard Worker      <description summary="set the surface type as a keyboard">
287*6c119a46SAndroid Build Coastguard Worker	Set the input_panel_surface type to keyboard.
288*6c119a46SAndroid Build Coastguard Worker
289*6c119a46SAndroid Build Coastguard Worker	A keyboard surface is only shown when a text input is active.
290*6c119a46SAndroid Build Coastguard Worker      </description>
291*6c119a46SAndroid Build Coastguard Worker      <arg name="output" type="object" interface="wl_output"/>
292*6c119a46SAndroid Build Coastguard Worker      <arg name="position" type="uint"/>
293*6c119a46SAndroid Build Coastguard Worker    </request>
294*6c119a46SAndroid Build Coastguard Worker
295*6c119a46SAndroid Build Coastguard Worker    <request name="set_overlay_panel">
296*6c119a46SAndroid Build Coastguard Worker      <description summary="set the surface type as an overlay panel">
297*6c119a46SAndroid Build Coastguard Worker	Set the input_panel_surface to be an overlay panel.
298*6c119a46SAndroid Build Coastguard Worker
299*6c119a46SAndroid Build Coastguard Worker	This is shown near the input cursor above the application window when
300*6c119a46SAndroid Build Coastguard Worker	a text input is active.
301*6c119a46SAndroid Build Coastguard Worker      </description>
302*6c119a46SAndroid Build Coastguard Worker    </request>
303*6c119a46SAndroid Build Coastguard Worker  </interface>
304*6c119a46SAndroid Build Coastguard Worker
305*6c119a46SAndroid Build Coastguard Worker</protocol>
306