[−][src]Enum zwp_input_method::input_method_unstable_v2::zwp_input_method_v2::Event
Variants (Non-exhaustive)
input method has been requested
Notification that a text input focused on this seat requested the input method to be activated.
This request must be issued every time a text input requests an input method.
This request resets all state associated with previous enable, disable, set_surrounding_text, set_text_change_cause, set_content_type, and set_cursor_rectangle requests, as well as the state associated with preedit_string, commit_string, and delete_surrounding_text events. In addition, it marks the input method object as active.
The set_surrounding_text, set_content_type and set_cursor_rectangle requests must follow before the next done event if the text input supports the respective functionality.
State set with this event is double-buffered. It will get applied on the next zwp_input_method_v2.done event, and stay valid until changed.
deactivate event
Notification that this seat's current text input requested the input method to be deactivated.
This event mrks the zwp_input_method_v2 object as inactive.
When the seat has the keyboard capability the text-input focus follows the keyboard focus.
State set with this event is double-buffered. It will get applied on the next zwp_input_method_v2.done event, and stay valid until changed.
surrounding text event
Sets the surrounding plain text around the cursor, excluding the preedit text.
If any preedit text is present, it is replaced with the cursor for the purpose of this event.
The argument text is a buffer containing the preedit string, and must include the cursor position, and the complete selection. It should contain additional characters before and after these. There is a maximum length of wayland messages, so text can not be longer than 4000 bytes.
cursor is the byte offset of the cursor within the text buffer.
anchor is the byte offset of the selection anchor within the text buffer. If there is no selected text, anchor must be the same as cursor.
If this request does not arrive before the first done event, the input method may assume that the text input does not support this functionality and ignore following surrounding_text events.
Values set with this event are double-buffered. They will get applied and set to initial values on the next zwp_input_method_v2.done event.
The initial state for affected fields is empty, meaning that the text input does not support sending surrounding text. If the empty values get applied, subsequent attempts to change them may have no effect.
indicates the cause of surrounding text change
Tells the input method why the text surrounding the cursor changed.
Whenever the client detects an external change in text, cursor, or anchor position, it must issue this request to the compositor. This request is intended to give the input method a chance to update the preedit text in an appropriate way, e.g. by removing it when the user starts typing with a keyboard.
cause describes the source of the change.
The value set with this event is double-buffered. It will get applied and set to its initial value on the next zwp_input_method_v2.done event.
The initial value of cause is input_method.
Fields of TextChangeCause
cause: ChangeCause
content purpose and hint
Indicates the content type and hint for the current input_method_context instance.
Values set with this event are double-buffered. They will get applied on the next zwp_input_method_v2.done event.
The initial value for hint is none, and the initial value for purpose is normal.
Fields of ContentType
hint: ContentHint
purpose: ContentPurpose
apply state
Atomically applies state changes recently sent to the client.
The done event establishes and updates the state of the client, and must be issued after any changes to apply them.
Text input state (content purpose, content hint, surrounding text, and change cause) is conceptually double-buffered within an input method context.
Events modify the pending state, as opposed to the current state in use by the input method. A done event atomically applies all pending state, replacing the current state. After done, the new pending state is as documented for each related request.
Events must be applied in the order of arrival.
Neither current nor pending state are modified unless noted otherwise.
input method unavailable
The input method ceased to be available.
The compositor must issue this event as the only event on the object if there was another input_method object associated with the same seat at the time of its creation.
The compositor must issue this request when the object is no longer useable, e.g. due to seat removal.
The input method context becomes inert and should be destroyed after deactivation is handled. Any further requests and events except for the destroy request must be ignored.
Trait Implementations
impl Debug for Event
[src]
impl MessageGroup for Event
[src]
const MESSAGES: &'static [MessageDesc]
[src]
type Map = ProxyMap
The wrapper type for ObjectMap allowing the mapping of Object and NewId arguments to the object map during parsing. Read more
fn is_destructor(&self) -> bool
[src]
fn opcode(&self) -> u16
[src]
fn since(&self) -> u32
[src]
fn child<Meta: ObjectMetadata>(
opcode: u16,
version: u32,
meta: &Meta
) -> Option<Object<Meta>>
[src]
opcode: u16,
version: u32,
meta: &Meta
) -> Option<Object<Meta>>
fn from_raw(msg: Message, map: &mut Self::Map) -> Result<Self, ()>
[src]
fn into_raw(self, sender_id: u32) -> Message
[src]
unsafe fn from_raw_c(
obj: *mut c_void,
opcode: u32,
args: *const wl_argument
) -> Result<Event, ()>
[src]
obj: *mut c_void,
opcode: u32,
args: *const wl_argument
) -> Result<Event, ()>
fn as_raw_c_in<F, T>(self, f: F) -> T where
F: FnOnce(u32, &mut [wl_argument]) -> T,
[src]
F: FnOnce(u32, &mut [wl_argument]) -> T,
Auto Trait Implementations
impl RefUnwindSafe for Event
impl Send for Event
impl Sync for Event
impl Unpin for Event
impl UnwindSafe for Event
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Downcast for T where
T: Any,
T: Any,
fn into_any(self: Box<T>) -> Box<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn as_any(&self) -> &(dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
impl<T> DowncastSync for T where
T: Send + Sync + Any,
T: Send + Sync + Any,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,