1*6c119a46SAndroid Build Coastguard Worker<?xml version="1.0" encoding="UTF-8"?> 2*6c119a46SAndroid Build Coastguard Worker<protocol name="text_input_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_text_input_v1" version="1"> 28*6c119a46SAndroid Build Coastguard Worker <description summary="text input"> 29*6c119a46SAndroid Build Coastguard Worker An object used for text input. Adds support for text input and input 30*6c119a46SAndroid Build Coastguard Worker methods to applications. A text_input object is created from a 31*6c119a46SAndroid Build Coastguard Worker wl_text_input_manager and corresponds typically to a text entry in an 32*6c119a46SAndroid Build Coastguard Worker application. 33*6c119a46SAndroid Build Coastguard Worker 34*6c119a46SAndroid Build Coastguard Worker Requests are used to activate/deactivate the text_input object and set 35*6c119a46SAndroid Build Coastguard Worker state information like surrounding and selected text or the content type. 36*6c119a46SAndroid Build Coastguard Worker The information about entered text is sent to the text_input object via 37*6c119a46SAndroid Build Coastguard Worker the pre-edit and commit events. Using this interface removes the need 38*6c119a46SAndroid Build Coastguard Worker for applications to directly process hardware key events and compose text 39*6c119a46SAndroid Build Coastguard Worker out of them. 40*6c119a46SAndroid Build Coastguard Worker 41*6c119a46SAndroid Build Coastguard Worker Text is generally UTF-8 encoded, indices and lengths are in bytes. 42*6c119a46SAndroid Build Coastguard Worker 43*6c119a46SAndroid Build Coastguard Worker Serials are used to synchronize the state between the text input and 44*6c119a46SAndroid Build Coastguard Worker an input method. New serials are sent by the text input in the 45*6c119a46SAndroid Build Coastguard Worker commit_state request and are used by the input method to indicate 46*6c119a46SAndroid Build Coastguard Worker the known text input state in events like preedit_string, commit_string, 47*6c119a46SAndroid Build Coastguard Worker and keysym. The text input can then ignore events from the input method 48*6c119a46SAndroid Build Coastguard Worker which are based on an outdated state (for example after a reset). 49*6c119a46SAndroid Build Coastguard Worker 50*6c119a46SAndroid Build Coastguard Worker Warning! The protocol described in this file is experimental and 51*6c119a46SAndroid Build Coastguard Worker backward incompatible changes may be made. Backward compatible changes 52*6c119a46SAndroid Build Coastguard Worker may be added together with the corresponding interface version bump. 53*6c119a46SAndroid Build Coastguard Worker Backward incompatible changes are done by bumping the version number in 54*6c119a46SAndroid Build Coastguard Worker the protocol and interface names and resetting the interface version. 55*6c119a46SAndroid Build Coastguard Worker Once the protocol is to be declared stable, the 'z' prefix and the 56*6c119a46SAndroid Build Coastguard Worker version number in the protocol and interface names are removed and the 57*6c119a46SAndroid Build Coastguard Worker interface version number is reset. 58*6c119a46SAndroid Build Coastguard Worker </description> 59*6c119a46SAndroid Build Coastguard Worker 60*6c119a46SAndroid Build Coastguard Worker <request name="activate"> 61*6c119a46SAndroid Build Coastguard Worker <description summary="request activation"> 62*6c119a46SAndroid Build Coastguard Worker Requests the text_input object to be activated (typically when the 63*6c119a46SAndroid Build Coastguard Worker text entry gets focus). 64*6c119a46SAndroid Build Coastguard Worker 65*6c119a46SAndroid Build Coastguard Worker The seat argument is a wl_seat which maintains the focus for this 66*6c119a46SAndroid Build Coastguard Worker activation. The surface argument is a wl_surface assigned to the 67*6c119a46SAndroid Build Coastguard Worker text_input object and tracked for focus lost. The enter event 68*6c119a46SAndroid Build Coastguard Worker is emitted on successful activation. 69*6c119a46SAndroid Build Coastguard Worker </description> 70*6c119a46SAndroid Build Coastguard Worker <arg name="seat" type="object" interface="wl_seat"/> 71*6c119a46SAndroid Build Coastguard Worker <arg name="surface" type="object" interface="wl_surface"/> 72*6c119a46SAndroid Build Coastguard Worker </request> 73*6c119a46SAndroid Build Coastguard Worker 74*6c119a46SAndroid Build Coastguard Worker <request name="deactivate"> 75*6c119a46SAndroid Build Coastguard Worker <description summary="request deactivation"> 76*6c119a46SAndroid Build Coastguard Worker Requests the text_input object to be deactivated (typically when the 77*6c119a46SAndroid Build Coastguard Worker text entry lost focus). The seat argument is a wl_seat which was used 78*6c119a46SAndroid Build Coastguard Worker for activation. 79*6c119a46SAndroid Build Coastguard Worker </description> 80*6c119a46SAndroid Build Coastguard Worker <arg name="seat" type="object" interface="wl_seat"/> 81*6c119a46SAndroid Build Coastguard Worker </request> 82*6c119a46SAndroid Build Coastguard Worker 83*6c119a46SAndroid Build Coastguard Worker <request name="show_input_panel"> 84*6c119a46SAndroid Build Coastguard Worker <description summary="show input panels"> 85*6c119a46SAndroid Build Coastguard Worker Requests input panels (virtual keyboard) to show. 86*6c119a46SAndroid Build Coastguard Worker </description> 87*6c119a46SAndroid Build Coastguard Worker </request> 88*6c119a46SAndroid Build Coastguard Worker 89*6c119a46SAndroid Build Coastguard Worker <request name="hide_input_panel"> 90*6c119a46SAndroid Build Coastguard Worker <description summary="hide input panels"> 91*6c119a46SAndroid Build Coastguard Worker Requests input panels (virtual keyboard) to hide. 92*6c119a46SAndroid Build Coastguard Worker </description> 93*6c119a46SAndroid Build Coastguard Worker </request> 94*6c119a46SAndroid Build Coastguard Worker 95*6c119a46SAndroid Build Coastguard Worker <request name="reset"> 96*6c119a46SAndroid Build Coastguard Worker <description summary="reset"> 97*6c119a46SAndroid Build Coastguard Worker Should be called by an editor widget when the input state should be 98*6c119a46SAndroid Build Coastguard Worker reset, for example after the text was changed outside of the normal 99*6c119a46SAndroid Build Coastguard Worker input method flow. 100*6c119a46SAndroid Build Coastguard Worker </description> 101*6c119a46SAndroid Build Coastguard Worker </request> 102*6c119a46SAndroid Build Coastguard Worker 103*6c119a46SAndroid Build Coastguard Worker <request name="set_surrounding_text"> 104*6c119a46SAndroid Build Coastguard Worker <description summary="sets the surrounding text"> 105*6c119a46SAndroid Build Coastguard Worker Sets the plain surrounding text around the input position. Text is 106*6c119a46SAndroid Build Coastguard Worker UTF-8 encoded. Cursor is the byte offset within the 107*6c119a46SAndroid Build Coastguard Worker surrounding text. Anchor is the byte offset of the 108*6c119a46SAndroid Build Coastguard Worker selection anchor within the surrounding text. If there is no selected 109*6c119a46SAndroid Build Coastguard Worker text anchor, then it is the same as cursor. 110*6c119a46SAndroid Build Coastguard Worker </description> 111*6c119a46SAndroid Build Coastguard Worker <arg name="text" type="string"/> 112*6c119a46SAndroid Build Coastguard Worker <arg name="cursor" type="uint"/> 113*6c119a46SAndroid Build Coastguard Worker <arg name="anchor" type="uint"/> 114*6c119a46SAndroid Build Coastguard Worker </request> 115*6c119a46SAndroid Build Coastguard Worker 116*6c119a46SAndroid Build Coastguard Worker <enum name="content_hint" bitfield="true"> 117*6c119a46SAndroid Build Coastguard Worker <description summary="content hint"> 118*6c119a46SAndroid Build Coastguard Worker Content hint is a bitmask to allow to modify the behavior of the text 119*6c119a46SAndroid Build Coastguard Worker input. 120*6c119a46SAndroid Build Coastguard Worker </description> 121*6c119a46SAndroid Build Coastguard Worker <entry name="none" value="0x0" summary="no special behaviour"/> 122*6c119a46SAndroid Build Coastguard Worker <entry name="default" value="0x7" summary="auto completion, correction and capitalization"/> 123*6c119a46SAndroid Build Coastguard Worker <entry name="password" value="0xc0" summary="hidden and sensitive text"/> 124*6c119a46SAndroid Build Coastguard Worker <entry name="auto_completion" value="0x1" summary="suggest word completions"/> 125*6c119a46SAndroid Build Coastguard Worker <entry name="auto_correction" value="0x2" summary="suggest word corrections"/> 126*6c119a46SAndroid Build Coastguard Worker <entry name="auto_capitalization" value="0x4" summary="switch to uppercase letters at the start of a sentence"/> 127*6c119a46SAndroid Build Coastguard Worker <entry name="lowercase" value="0x8" summary="prefer lowercase letters"/> 128*6c119a46SAndroid Build Coastguard Worker <entry name="uppercase" value="0x10" summary="prefer uppercase letters"/> 129*6c119a46SAndroid Build Coastguard Worker <entry name="titlecase" value="0x20" summary="prefer casing for titles and headings (can be language dependent)"/> 130*6c119a46SAndroid Build Coastguard Worker <entry name="hidden_text" value="0x40" summary="characters should be hidden"/> 131*6c119a46SAndroid Build Coastguard Worker <entry name="sensitive_data" value="0x80" summary="typed text should not be stored"/> 132*6c119a46SAndroid Build Coastguard Worker <entry name="latin" value="0x100" summary="just latin characters should be entered"/> 133*6c119a46SAndroid Build Coastguard Worker <entry name="multiline" value="0x200" summary="the text input is multiline"/> 134*6c119a46SAndroid Build Coastguard Worker </enum> 135*6c119a46SAndroid Build Coastguard Worker 136*6c119a46SAndroid Build Coastguard Worker <enum name="content_purpose"> 137*6c119a46SAndroid Build Coastguard Worker <description summary="content purpose"> 138*6c119a46SAndroid Build Coastguard Worker The content purpose allows to specify the primary purpose of a text 139*6c119a46SAndroid Build Coastguard Worker input. 140*6c119a46SAndroid Build Coastguard Worker 141*6c119a46SAndroid Build Coastguard Worker This allows an input method to show special purpose input panels with 142*6c119a46SAndroid Build Coastguard Worker extra characters or to disallow some characters. 143*6c119a46SAndroid Build Coastguard Worker </description> 144*6c119a46SAndroid Build Coastguard Worker <entry name="normal" value="0" summary="default input, allowing all characters"/> 145*6c119a46SAndroid Build Coastguard Worker <entry name="alpha" value="1" summary="allow only alphabetic characters"/> 146*6c119a46SAndroid Build Coastguard Worker <entry name="digits" value="2" summary="allow only digits"/> 147*6c119a46SAndroid Build Coastguard Worker <entry name="number" value="3" summary="input a number (including decimal separator and sign)"/> 148*6c119a46SAndroid Build Coastguard Worker <entry name="phone" value="4" summary="input a phone number"/> 149*6c119a46SAndroid Build Coastguard Worker <entry name="url" value="5" summary="input an URL"/> 150*6c119a46SAndroid Build Coastguard Worker <entry name="email" value="6" summary="input an email address"/> 151*6c119a46SAndroid Build Coastguard Worker <entry name="name" value="7" summary="input a name of a person"/> 152*6c119a46SAndroid Build Coastguard Worker <entry name="password" value="8" summary="input a password (combine with password or sensitive_data hint)"/> 153*6c119a46SAndroid Build Coastguard Worker <entry name="date" value="9" summary="input a date"/> 154*6c119a46SAndroid Build Coastguard Worker <entry name="time" value="10" summary="input a time"/> 155*6c119a46SAndroid Build Coastguard Worker <entry name="datetime" value="11" summary="input a date and time"/> 156*6c119a46SAndroid Build Coastguard Worker <entry name="terminal" value="12" summary="input for a terminal"/> 157*6c119a46SAndroid Build Coastguard Worker </enum> 158*6c119a46SAndroid Build Coastguard Worker 159*6c119a46SAndroid Build Coastguard Worker <request name="set_content_type"> 160*6c119a46SAndroid Build Coastguard Worker <description summary="set content purpose and hint"> 161*6c119a46SAndroid Build Coastguard Worker Sets the content purpose and content hint. While the purpose is the 162*6c119a46SAndroid Build Coastguard Worker basic purpose of an input field, the hint flags allow to modify some 163*6c119a46SAndroid Build Coastguard Worker of the behavior. 164*6c119a46SAndroid Build Coastguard Worker 165*6c119a46SAndroid Build Coastguard Worker When no content type is explicitly set, a normal content purpose with 166*6c119a46SAndroid Build Coastguard Worker default hints (auto completion, auto correction, auto capitalization) 167*6c119a46SAndroid Build Coastguard Worker should be assumed. 168*6c119a46SAndroid Build Coastguard Worker </description> 169*6c119a46SAndroid Build Coastguard Worker <arg name="hint" type="uint" enum="content_hint" /> 170*6c119a46SAndroid Build Coastguard Worker <arg name="purpose" type="uint" enum="content_purpose" /> 171*6c119a46SAndroid Build Coastguard Worker </request> 172*6c119a46SAndroid Build Coastguard Worker 173*6c119a46SAndroid Build Coastguard Worker <request name="set_cursor_rectangle"> 174*6c119a46SAndroid Build Coastguard Worker <arg name="x" type="int"/> 175*6c119a46SAndroid Build Coastguard Worker <arg name="y" type="int"/> 176*6c119a46SAndroid Build Coastguard Worker <arg name="width" type="int"/> 177*6c119a46SAndroid Build Coastguard Worker <arg name="height" type="int"/> 178*6c119a46SAndroid Build Coastguard Worker </request> 179*6c119a46SAndroid Build Coastguard Worker 180*6c119a46SAndroid Build Coastguard Worker <request name="set_preferred_language"> 181*6c119a46SAndroid Build Coastguard Worker <description summary="sets preferred language"> 182*6c119a46SAndroid Build Coastguard Worker Sets a specific language. This allows for example a virtual keyboard to 183*6c119a46SAndroid Build Coastguard Worker show a language specific layout. The "language" argument is an RFC-3066 184*6c119a46SAndroid Build Coastguard Worker format language tag. 185*6c119a46SAndroid Build Coastguard Worker 186*6c119a46SAndroid Build Coastguard Worker It could be used for example in a word processor to indicate the 187*6c119a46SAndroid Build Coastguard Worker language of the currently edited document or in an instant message 188*6c119a46SAndroid Build Coastguard Worker application which tracks languages of contacts. 189*6c119a46SAndroid Build Coastguard Worker </description> 190*6c119a46SAndroid Build Coastguard Worker <arg name="language" type="string"/> 191*6c119a46SAndroid Build Coastguard Worker </request> 192*6c119a46SAndroid Build Coastguard Worker 193*6c119a46SAndroid Build Coastguard Worker <request name="commit_state"> 194*6c119a46SAndroid Build Coastguard Worker <arg name="serial" type="uint" summary="used to identify the known state"/> 195*6c119a46SAndroid Build Coastguard Worker </request> 196*6c119a46SAndroid Build Coastguard Worker 197*6c119a46SAndroid Build Coastguard Worker <request name="invoke_action"> 198*6c119a46SAndroid Build Coastguard Worker <arg name="button" type="uint"/> 199*6c119a46SAndroid Build Coastguard Worker <arg name="index" type="uint"/> 200*6c119a46SAndroid Build Coastguard Worker </request> 201*6c119a46SAndroid Build Coastguard Worker 202*6c119a46SAndroid Build Coastguard Worker <event name="enter"> 203*6c119a46SAndroid Build Coastguard Worker <description summary="enter event"> 204*6c119a46SAndroid Build Coastguard Worker Notify the text_input object when it received focus. Typically in 205*6c119a46SAndroid Build Coastguard Worker response to an activate request. 206*6c119a46SAndroid Build Coastguard Worker </description> 207*6c119a46SAndroid Build Coastguard Worker <arg name="surface" type="object" interface="wl_surface"/> 208*6c119a46SAndroid Build Coastguard Worker </event> 209*6c119a46SAndroid Build Coastguard Worker 210*6c119a46SAndroid Build Coastguard Worker <event name="leave"> 211*6c119a46SAndroid Build Coastguard Worker <description summary="leave event"> 212*6c119a46SAndroid Build Coastguard Worker Notify the text_input object when it lost focus. Either in response 213*6c119a46SAndroid Build Coastguard Worker to a deactivate request or when the assigned surface lost focus or was 214*6c119a46SAndroid Build Coastguard Worker destroyed. 215*6c119a46SAndroid Build Coastguard Worker </description> 216*6c119a46SAndroid Build Coastguard Worker </event> 217*6c119a46SAndroid Build Coastguard Worker 218*6c119a46SAndroid Build Coastguard Worker <event name="modifiers_map"> 219*6c119a46SAndroid Build Coastguard Worker <description summary="modifiers map"> 220*6c119a46SAndroid Build Coastguard Worker Transfer an array of 0-terminated modifier names. The position in 221*6c119a46SAndroid Build Coastguard Worker the array is the index of the modifier as used in the modifiers 222*6c119a46SAndroid Build Coastguard Worker bitmask in the keysym event. 223*6c119a46SAndroid Build Coastguard Worker </description> 224*6c119a46SAndroid Build Coastguard Worker <arg name="map" type="array"/> 225*6c119a46SAndroid Build Coastguard Worker </event> 226*6c119a46SAndroid Build Coastguard Worker 227*6c119a46SAndroid Build Coastguard Worker <event name="input_panel_state"> 228*6c119a46SAndroid Build Coastguard Worker <description summary="state of the input panel"> 229*6c119a46SAndroid Build Coastguard Worker Notify when the visibility state of the input panel changed. 230*6c119a46SAndroid Build Coastguard Worker </description> 231*6c119a46SAndroid Build Coastguard Worker <arg name="state" type="uint"/> 232*6c119a46SAndroid Build Coastguard Worker </event> 233*6c119a46SAndroid Build Coastguard Worker 234*6c119a46SAndroid Build Coastguard Worker <event name="preedit_string"> 235*6c119a46SAndroid Build Coastguard Worker <description summary="pre-edit"> 236*6c119a46SAndroid Build Coastguard Worker Notify when a new composing text (pre-edit) should be set around the 237*6c119a46SAndroid Build Coastguard Worker current cursor position. Any previously set composing text should 238*6c119a46SAndroid Build Coastguard Worker be removed. 239*6c119a46SAndroid Build Coastguard Worker 240*6c119a46SAndroid Build Coastguard Worker The commit text can be used to replace the preedit text on reset 241*6c119a46SAndroid Build Coastguard Worker (for example on unfocus). 242*6c119a46SAndroid Build Coastguard Worker 243*6c119a46SAndroid Build Coastguard Worker The text input should also handle all preedit_style and preedit_cursor 244*6c119a46SAndroid Build Coastguard Worker events occurring directly before preedit_string. 245*6c119a46SAndroid Build Coastguard Worker </description> 246*6c119a46SAndroid Build Coastguard Worker <arg name="serial" type="uint" summary="serial of the latest known text input state"/> 247*6c119a46SAndroid Build Coastguard Worker <arg name="text" type="string"/> 248*6c119a46SAndroid Build Coastguard Worker <arg name="commit" type="string"/> 249*6c119a46SAndroid Build Coastguard Worker </event> 250*6c119a46SAndroid Build Coastguard Worker 251*6c119a46SAndroid Build Coastguard Worker <enum name="preedit_style"> 252*6c119a46SAndroid Build Coastguard Worker <entry name="default" value="0" summary="default style for composing text"/> 253*6c119a46SAndroid Build Coastguard Worker <entry name="none" value="1" summary="style should be the same as in non-composing text"/> 254*6c119a46SAndroid Build Coastguard Worker <entry name="active" value="2"/> 255*6c119a46SAndroid Build Coastguard Worker <entry name="inactive" value="3"/> 256*6c119a46SAndroid Build Coastguard Worker <entry name="highlight" value="4"/> 257*6c119a46SAndroid Build Coastguard Worker <entry name="underline" value="5"/> 258*6c119a46SAndroid Build Coastguard Worker <entry name="selection" value="6"/> 259*6c119a46SAndroid Build Coastguard Worker <entry name="incorrect" value="7"/> 260*6c119a46SAndroid Build Coastguard Worker </enum> 261*6c119a46SAndroid Build Coastguard Worker 262*6c119a46SAndroid Build Coastguard Worker <event name="preedit_styling"> 263*6c119a46SAndroid Build Coastguard Worker <description summary="pre-edit styling"> 264*6c119a46SAndroid Build Coastguard Worker Sets styling information on composing text. The style is applied for 265*6c119a46SAndroid Build Coastguard Worker length bytes from index relative to the beginning of the composing 266*6c119a46SAndroid Build Coastguard Worker text (as byte offset). Multiple styles can 267*6c119a46SAndroid Build Coastguard Worker be applied to a composing text by sending multiple preedit_styling 268*6c119a46SAndroid Build Coastguard Worker events. 269*6c119a46SAndroid Build Coastguard Worker 270*6c119a46SAndroid Build Coastguard Worker This event is handled as part of a following preedit_string event. 271*6c119a46SAndroid Build Coastguard Worker </description> 272*6c119a46SAndroid Build Coastguard Worker <arg name="index" type="uint"/> 273*6c119a46SAndroid Build Coastguard Worker <arg name="length" type="uint"/> 274*6c119a46SAndroid Build Coastguard Worker <arg name="style" type="uint" enum="preedit_style" /> 275*6c119a46SAndroid Build Coastguard Worker </event> 276*6c119a46SAndroid Build Coastguard Worker 277*6c119a46SAndroid Build Coastguard Worker <event name="preedit_cursor"> 278*6c119a46SAndroid Build Coastguard Worker <description summary="pre-edit cursor"> 279*6c119a46SAndroid Build Coastguard Worker Sets the cursor position inside the composing text (as byte 280*6c119a46SAndroid Build Coastguard Worker offset) relative to the start of the composing text. When index is a 281*6c119a46SAndroid Build Coastguard Worker negative number no cursor is shown. 282*6c119a46SAndroid Build Coastguard Worker 283*6c119a46SAndroid Build Coastguard Worker This event is handled as part of a following preedit_string event. 284*6c119a46SAndroid Build Coastguard Worker </description> 285*6c119a46SAndroid Build Coastguard Worker <arg name="index" type="int"/> 286*6c119a46SAndroid Build Coastguard Worker </event> 287*6c119a46SAndroid Build Coastguard Worker 288*6c119a46SAndroid Build Coastguard Worker <event name="commit_string"> 289*6c119a46SAndroid Build Coastguard Worker <description summary="commit"> 290*6c119a46SAndroid Build Coastguard Worker Notify when text should be inserted into the editor widget. The text to 291*6c119a46SAndroid Build Coastguard Worker commit could be either just a single character after a key press or the 292*6c119a46SAndroid Build Coastguard Worker result of some composing (pre-edit). It could also be an empty text 293*6c119a46SAndroid Build Coastguard Worker when some text should be removed (see delete_surrounding_text) or when 294*6c119a46SAndroid Build Coastguard Worker the input cursor should be moved (see cursor_position). 295*6c119a46SAndroid Build Coastguard Worker 296*6c119a46SAndroid Build Coastguard Worker Any previously set composing text should be removed. 297*6c119a46SAndroid Build Coastguard Worker </description> 298*6c119a46SAndroid Build Coastguard Worker <arg name="serial" type="uint" summary="serial of the latest known text input state"/> 299*6c119a46SAndroid Build Coastguard Worker <arg name="text" type="string"/> 300*6c119a46SAndroid Build Coastguard Worker </event> 301*6c119a46SAndroid Build Coastguard Worker 302*6c119a46SAndroid Build Coastguard Worker <event name="cursor_position"> 303*6c119a46SAndroid Build Coastguard Worker <description summary="set cursor to new position"> 304*6c119a46SAndroid Build Coastguard Worker Notify when the cursor or anchor position should be modified. 305*6c119a46SAndroid Build Coastguard Worker 306*6c119a46SAndroid Build Coastguard Worker This event should be handled as part of a following commit_string 307*6c119a46SAndroid Build Coastguard Worker event. 308*6c119a46SAndroid Build Coastguard Worker </description> 309*6c119a46SAndroid Build Coastguard Worker <arg name="index" type="int"/> 310*6c119a46SAndroid Build Coastguard Worker <arg name="anchor" type="int"/> 311*6c119a46SAndroid Build Coastguard Worker </event> 312*6c119a46SAndroid Build Coastguard Worker 313*6c119a46SAndroid Build Coastguard Worker <event name="delete_surrounding_text"> 314*6c119a46SAndroid Build Coastguard Worker <description summary="delete surrounding text"> 315*6c119a46SAndroid Build Coastguard Worker Notify when the text around the current cursor position should be 316*6c119a46SAndroid Build Coastguard Worker deleted. 317*6c119a46SAndroid Build Coastguard Worker 318*6c119a46SAndroid Build Coastguard Worker Index is relative to the current cursor (in bytes). 319*6c119a46SAndroid Build Coastguard Worker Length is the length of deleted text (in bytes). 320*6c119a46SAndroid Build Coastguard Worker 321*6c119a46SAndroid Build Coastguard Worker This event should be handled as part of a following commit_string 322*6c119a46SAndroid Build Coastguard Worker event. 323*6c119a46SAndroid Build Coastguard Worker </description> 324*6c119a46SAndroid Build Coastguard Worker <arg name="index" type="int"/> 325*6c119a46SAndroid Build Coastguard Worker <arg name="length" type="uint"/> 326*6c119a46SAndroid Build Coastguard Worker </event> 327*6c119a46SAndroid Build Coastguard Worker 328*6c119a46SAndroid Build Coastguard Worker <event name="keysym"> 329*6c119a46SAndroid Build Coastguard Worker <description summary="keysym"> 330*6c119a46SAndroid Build Coastguard Worker Notify when a key event was sent. Key events should not be used 331*6c119a46SAndroid Build Coastguard Worker for normal text input operations, which should be done with 332*6c119a46SAndroid Build Coastguard Worker commit_string, delete_surrounding_text, etc. The key event follows 333*6c119a46SAndroid Build Coastguard Worker the wl_keyboard key event convention. Sym is an XKB keysym, state a 334*6c119a46SAndroid Build Coastguard Worker wl_keyboard key_state. Modifiers are a mask for effective modifiers 335*6c119a46SAndroid Build Coastguard Worker (where the modifier indices are set by the modifiers_map event) 336*6c119a46SAndroid Build Coastguard Worker </description> 337*6c119a46SAndroid Build Coastguard Worker <arg name="serial" type="uint" summary="serial of the latest known text input state"/> 338*6c119a46SAndroid Build Coastguard Worker <arg name="time" type="uint"/> 339*6c119a46SAndroid Build Coastguard Worker <arg name="sym" type="uint"/> 340*6c119a46SAndroid Build Coastguard Worker <arg name="state" type="uint"/> 341*6c119a46SAndroid Build Coastguard Worker <arg name="modifiers" type="uint"/> 342*6c119a46SAndroid Build Coastguard Worker </event> 343*6c119a46SAndroid Build Coastguard Worker 344*6c119a46SAndroid Build Coastguard Worker <event name="language"> 345*6c119a46SAndroid Build Coastguard Worker <description summary="language"> 346*6c119a46SAndroid Build Coastguard Worker Sets the language of the input text. The "language" argument is an 347*6c119a46SAndroid Build Coastguard Worker RFC-3066 format language tag. 348*6c119a46SAndroid Build Coastguard Worker </description> 349*6c119a46SAndroid Build Coastguard Worker <arg name="serial" type="uint" summary="serial of the latest known text input state"/> 350*6c119a46SAndroid Build Coastguard Worker <arg name="language" type="string"/> 351*6c119a46SAndroid Build Coastguard Worker </event> 352*6c119a46SAndroid Build Coastguard Worker 353*6c119a46SAndroid Build Coastguard Worker <enum name="text_direction"> 354*6c119a46SAndroid Build Coastguard Worker <entry name="auto" value="0" summary="automatic text direction based on text and language"/> 355*6c119a46SAndroid Build Coastguard Worker <entry name="ltr" value="1" summary="left-to-right"/> 356*6c119a46SAndroid Build Coastguard Worker <entry name="rtl" value="2" summary="right-to-left"/> 357*6c119a46SAndroid Build Coastguard Worker </enum> 358*6c119a46SAndroid Build Coastguard Worker 359*6c119a46SAndroid Build Coastguard Worker <event name="text_direction"> 360*6c119a46SAndroid Build Coastguard Worker <description summary="text direction"> 361*6c119a46SAndroid Build Coastguard Worker Sets the text direction of input text. 362*6c119a46SAndroid Build Coastguard Worker 363*6c119a46SAndroid Build Coastguard Worker It is mainly needed for showing an input cursor on the correct side of 364*6c119a46SAndroid Build Coastguard Worker the editor when there is no input done yet and making sure neutral 365*6c119a46SAndroid Build Coastguard Worker direction text is laid out properly. 366*6c119a46SAndroid Build Coastguard Worker </description> 367*6c119a46SAndroid Build Coastguard Worker <arg name="serial" type="uint" summary="serial of the latest known text input state"/> 368*6c119a46SAndroid Build Coastguard Worker <arg name="direction" type="uint" enum="text_direction" /> 369*6c119a46SAndroid Build Coastguard Worker </event> 370*6c119a46SAndroid Build Coastguard Worker </interface> 371*6c119a46SAndroid Build Coastguard Worker 372*6c119a46SAndroid Build Coastguard Worker <interface name="zwp_text_input_manager_v1" version="1"> 373*6c119a46SAndroid Build Coastguard Worker <description summary="text input manager"> 374*6c119a46SAndroid Build Coastguard Worker A factory for text_input objects. This object is a global singleton. 375*6c119a46SAndroid Build Coastguard Worker </description> 376*6c119a46SAndroid Build Coastguard Worker 377*6c119a46SAndroid Build Coastguard Worker <request name="create_text_input"> 378*6c119a46SAndroid Build Coastguard Worker <description summary="create text input"> 379*6c119a46SAndroid Build Coastguard Worker Creates a new text_input object. 380*6c119a46SAndroid Build Coastguard Worker </description> 381*6c119a46SAndroid Build Coastguard Worker <arg name="id" type="new_id" interface="zwp_text_input_v1"/> 382*6c119a46SAndroid Build Coastguard Worker </request> 383*6c119a46SAndroid Build Coastguard Worker </interface> 384*6c119a46SAndroid Build Coastguard Worker 385*6c119a46SAndroid Build Coastguard Worker</protocol> 386