WaylandSeat QML Type

Provides access to keyboard, mouse, and touch input. More...

Import Statement: import QtWayland.Compositor
Instantiates: QWaylandSeat

Signals

Methods

Detailed Description

The WaylandSeat type provides access to different types of user input and maintains a keyboard focus and a mouse pointer. It corresponds to the wl_seat interface in the Wayland protocol.

Signal Documentation

void cursorSurfaceRequest(QWaylandSurface surface, int hotspotX, int hotspotY)

This signal is emitted when the client has requested for a specific surface to be the mouse cursor. For example, when the user hovers over a particular surface, and you want the cursor to change into a resize arrow.

Both hotspotX and hotspotY are offsets from the top-left of a pointer surface, where a click should happen. For example, if the requested cursor surface is an arrow, the parameters indicate where the arrow's tip is, on that surface.

Note: The corresponding handler is onCursorSurfaceRequest.


void keyboardFocusChanged(QWaylandSurface newFocus, QWaylandSurface oldFocus)

This signal is emitted when setKeyboardFocus() is called or when a WaylandQuickItem has focus and the user starts pressing keys.

newFocus has the surface that received keyboard focus; or nullptr if no surface has focus. oldFocus has the surface that lost keyboard focus; or nullptr if no surface had focus.

Note: The corresponding handler is onKeyboardFocusChanged.


Method Documentation

void sendKeyEvent(int qtKey, bool pressed)

Sends a key press (if pressed is true) or release (if pressed is false) event of a key qtKey to the keyboard device.


void sendTouchCancelEvent(WaylandClient client)

Sends a cancel event to the touch device of a client.


void sendTouchFrameEvent(WaylandClient client)

Sends a frame event to the touch device of a client to indicate the end of a series of touch up, down, and motion events.


void sendTouchPointMoved(WaylandSurface surface, int id, point position)

Sends a touch moved event for the touch point id on surface with position position.

Note: You need to send a touch frame event when you are done sending touch events.

Warning: This API should not be used in combination with forwarding of touch events using WaylandQuickItem::touchEventsEnabled, as it might lead to conflicting touch ids.

Returns the serial for the touch motion event.


uint sendTouchPointPressed(WaylandSurface surface, int id, point position)

Sends a touch pressed event for the touch point id on surface with position position.

Note: You need to send a touch frame event when you are done sending touch events.

Warning: This API should not be used in combination with forwarding of touch events using WaylandQuickItem::touchEventsEnabled, as it might lead to conflicting touch ids.

Returns the serial for the touch down event.


void sendTouchPointReleased(WaylandSurface surface, int id, point position)

Sends a touch released event for the touch point id on surface with position position.

Note: You need to send a touch frame event when you are done sending touch events.

Warning: This API should not be used in combination with forwarding of touch events using WaylandQuickItem::touchEventsEnabled, as it might lead to conflicting touch ids.

Returns the serial for the touch up event.


[since 6.7] void sendUnicodeKeyPressEvent(uint unicode)

Sends a key press event of a UCS4 unicode through a text-input protocol.

Note: This function will not work properly if the client does not support the text-input protocol that the compositor supports.

This method was introduced in Qt 6.7.


[since 6.7] void sendUnicodeKeyReleaseEvent(uint unicode)

Sends a key release event of a UCS4 unicode through a text-input protocol.

Note: This function will not work properly if the client does not support the text-input protocol that the compositor supports.

This method was introduced in Qt 6.7.


© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.