From 45983f3e934fe531cf81a79fc62ca69d2b625023 Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Fri, 5 Nov 2021 19:42:44 +0900 Subject: [PATCH] Update input-method as latest opensource Change-Id: Iebf9a941b302acdd9e7815847034ad0a3121076c Signed-off-by: Jihoon Kim --- protocol/tizen/input-method.xml | 267 ++++++++++++++++++++++++++-------------- 1 file changed, 173 insertions(+), 94 deletions(-) diff --git a/protocol/tizen/input-method.xml b/protocol/tizen/input-method.xml index 50ab60c..2e0507b 100644 --- a/protocol/tizen/input-method.xml +++ b/protocol/tizen/input-method.xml @@ -1,35 +1,34 @@ - + + Copyright © 2012, 2013 Intel Corporation - Permission to use, copy, modify, distribute, and sell this - software and its documentation for any purpose is hereby granted - without fee, provided that the above copyright notice appear in - all copies and that both that copyright notice and this permission - notice appear in supporting documentation, and that the name of - the copyright holders not be used in advertising or publicity - pertaining to distribution of the software without specific, - written prior permission. The copyright holders make no - representations about the suitability of this software for any - purpose. It is provided "as is" without express or implied - warranty. - - THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS - SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND - FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY - SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN - AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, - ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF - THIS SOFTWARE. + 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. - + - 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. + Corresponds to a text input on the input method side. An input method context + is created on text input activation on the input method side. It allows + receiving 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. @@ -41,93 +40,114 @@ 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). + + Warning! The protocol described in this file is experimental and + backward incompatible changes may be made. Backward compatible changes + may be added together with the corresponding interface version bump. + Backward incompatible changes are done by bumping the version number in + the protocol and interface names and resetting the interface version. + Once the protocol is to be declared stable, the 'z' prefix and the + version number in the protocol and interface names are removed and the + interface version number is reset. + + - Send the commit string text for insertion to the application. + 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). + 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. + Any previously set composing text will be removed. + - Send the pre-edit string text to the application text input. + 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). + The commit text can be used to replace the pre-edit text on reset (for + example on unfocus). - Also previously sent preedit_style and preedit_cursor requests are - processed bt the text_input also. + Previously sent preedit_style and preedit_cursor requests are also + processed by the text_input. + - Set 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. + Set the 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. + This request should be sent before sending a preedit_string request. + - Set the cursor position inside the composing text (as byte offset) - relative to the start of the composing text. + Set 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. + When index is negative no cursor should be displayed. - This request should be sent before sending preedit_string request. + This request should be sent before sending a preedit_string request. + - This request will be handled on text_input side as part of a directly - following commit_string request. + Remove the surrounding text. + + This request will be handled on the text_input side directly following + a commit_string request. + - Set 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. + Set the cursor and anchor to a new position. Index is the new cursor + position in bytes (when >= 0 this is relative to the end of the inserted text, + otherwise it is relative to the beginning of the inserted text). Anchor is + the new anchor position in bytes (when >= 0 this is relative to the end of the + inserted text, otherwise it is relative to the beginning of the inserted + text). When there should be no selected text, anchor should be the same + as index. + + This request will be handled on the text_input side directly following + a commit_string request. + + - 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_surrounding_text, etc. The key event follows the wl_keyboard key - event convention. Sym is an XKB keysym, state is a wl_keyboard key_state. + 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_surrounding_text, etc. The key event follows the wl_keyboard key + event convention. Sym is an XKB keysym, state is a wl_keyboard key_state. @@ -135,38 +155,38 @@ + - 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. + 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. - + + - Should be used when filtering key events with grab_keyboard. + Forward a wl_keyboard::key event to the client that was not processed + by the input method itself. Should be used when filtering key events + with grab_keyboard. The arguments should be the ones from the + wl_keyboard::key event. - 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. + For generating custom key events use the keysym request instead. + - 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. + Forward a wl_keyboard::modifiers event to the client that was not + processed by the input method itself. Should be used when filtering + key events with grab_keyboard. The arguments should be the ones + from the wl_keyboard::modifiers event. @@ -174,43 +194,53 @@ + + + + + + + + + + @@ -218,6 +248,7 @@ + Send the recapture string text to the application text input. @@ -229,6 +260,7 @@ + Send the input panel event. @@ -237,64 +269,93 @@ + + + This is a request to send show event after IME is restarted. + A Keyboard surface is shown as a floating panel type. + Set the permission to move floating panel. + + + + 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 then anchor is the same as cursor. + + + + + + + + + + + + + + + + Deliver unconventional input device events that need to be processed by input panel @@ -303,6 +364,7 @@ + Request to filter key event via input method @@ -317,93 +379,108 @@ + + + + + + - + An input method object is responsible for composing 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. + - A text input was activated. Creates an input method context object - which allows communication with the text input. + A text input was activated. Creates an input method context object + which allows communication with the text input. - + + - The text input corresponding to the context argument was deactivated. + The text input corresponding to the context argument was deactivated. + The input method context should be destroyed after deactivation is + handled. - + + The text input corresponding to the context argument was destroyed. The input method context should be destroyed after deactivation is handled. - + + Input panel (virtual keyboard) was requested to show. - + + Input panel (virtual keyboard) was requested to hide. - + - + Only one client can bind this interface at a time. - + - + - A keyboard surface is only shown, when a text input is active. + Set the input_panel_surface type to keyboard. + + A keyboard surface is only shown when a text input is active. @@ -411,8 +488,10 @@ - An overlay panel is shown near the input cursor above the application - window when a text input is active. + Set the input_panel_surface to be an overlay panel. + + This is shown near the input cursor above the application window when + a text input is active. @@ -425,7 +504,7 @@ - + Set transient for between caller window and IME option window. -- 2.7.4