Spec-Zone.ru › Qt

Класс QWaylandSeat

Класс QWaylandSeat предоставляет доступ к вводу с клавиатуры, мыши и сенсорного экрана. Подробнее...

Заголовок: #include <QWaylandSeat>
CMake: find_package(Qt6 COMPONENTS Waylandcompositor REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Waylandcompositor)
qmake: QT += waylandcompositor
С момента: Qt 5.8
Инициализируется: WaylandSeat
Наследует: QWaylandObject
  • Список всех членов, включая унаследованные

Открытые типы

перечисление CapabilityFlag { Pointer, Keyboard, Touch, DefaultCapabilities }
флаги CapabilityFlags

Свойства

  • drag : QWaylandDrag* const
  • keymap : QWaylandKeymap* const

Открытые функции

QWaylandSeat(QWaylandCompositor *compositor, QWaylandSeat::CapabilityFlags capabilityFlags = DefaultCapabilities)
виртуальный ~QWaylandSeat() override
QWaylandSeat::CapabilityFlags capabilities() const
QWaylandCompositor * compositor() const
QWaylandDrag * drag() const
виртуальный void initialize()
bool isInitialized() const
QWaylandKeyboard * keyboard() const
QWaylandSurface * keyboardFocus() const
QWaylandKeymap * keymap()
QWaylandView * mouseFocus() const
QWaylandPointer * pointer() const
void sendFullKeyEvent(QKeyEvent *event)
void sendFullTouchEvent(QWaylandSurface *surface, QTouchEvent *event)
void sendKeyEvent(int qtKey, bool pressed)
void sendKeyPressEvent(uint code)
void sendKeyReleaseEvent(uint code)
void sendMouseMoveEvent(QWaylandView *view, const QPointF &localPos, const QPointF &outputSpacePos = QPointF())
void sendMousePressEvent(Qt::MouseButton button)
void sendMouseReleaseEvent(Qt::MouseButton button)
void sendMouseWheelEvent(Qt::Orientation orientation, int delta)
void sendTouchCancelEvent(QWaylandClient *client)
void sendTouchFrameEvent(QWaylandClient *client)
uint sendTouchPointEvent(QWaylandSurface *surface, int id, const QPointF &point, Qt::TouchPointState state)
uint sendTouchPointMoved(QWaylandSurface *surface, int id, const QPointF &position)
uint sendTouchPointPressed(QWaylandSurface *surface, int id, const QPointF &position)
uint sendTouchPointReleased(QWaylandSurface *surface, int id, const QPointF &position)
bool setKeyboardFocus(QWaylandSurface *surface)
void setMouseFocus(QWaylandView *view)
QWaylandTouch * touch() const

Сигналы

void cursorSurfaceRequest(QWaylandSurface *surface, int hotspotX, int hotspotY)
void keyboardFocusChanged(QWaylandSurface *newFocus, QWaylandSurface *oldFocus)
void mouseFocusChanged(QWaylandView *newFocus, QWaylandView *oldFocus)

Статические публичные члены

QWaylandSeat * fromSeatResource(struct ::wl_resource *resource)

Подробное описание

QWaylandSeat предоставляет доступ к различным типам пользовательского ввода и поддерживает фокус клавиатуры и указатель мыши. Он соответствует интерфейсу wl_seat в протоколе Wayland.

Документация типов членов

enum QWaylandSeat::CapabilityFlagflags QWaylandSeat::CapabilityFlags

Этот перечислимый тип описывает возможности QWaylandSeat.

Константа Значение Описание
QWaylandSeat::Pointer 0x01 У QWaylandSeat поддерживается ввод указателя.
QWaylandSeat::Keyboard 0x02 У QWaylandSeat поддерживается ввод с клавиатуры.
QWaylandSeat::Touch 0x04 У QWaylandSeat поддерживается сенсорный ввод.
QWaylandSeat::DefaultCapabilities Pointer | Keyboard | Touch У QWaylandSeat есть стандартные возможности.

Тип CapabilityFlags является псевдонимом для QFlags<CapabilityFlag>. Он хранит результат побитового ИЛИ объединения значений CapabilityFlag.

Документация свойств

[read-only] drag : QWaylandDrag* const

Это свойство хранит операции перетаскивания и отправляет сигналы при их начале и завершении. Свойство хранит подробности, например, какой образ должен находиться под курсором мыши при перетаскивании.

Функции доступа:

QWaylandDrag * drag() const

[read-only] keymap : QWaylandKeymap* const

Это свойство хранит объект keymap.

Keymap предоставляет способ перевода фактических кодов сканирования клавиш в осмысленное значение. Например, если вы используете keymap с норвежской раскладкой, клавиша справа от буквы L создает символ Ø.

Keymap также можно использовать для настройки функций клавиш, например, для указания, должны ли быть переставлены Control и CAPS lock, и так далее.

Функции доступа:

QWaylandKeymap * keymap()

Документация функций-членов

QWaylandSeat::QWaylandSeat(QWaylandCompositor *compositor, QWaylandSeat::CapabilityFlags capabilityFlags = DefaultCapabilities)

Создает QWaylandSeat для заданного compositor и capabilityFlags.

[signal] void QWaylandSeat::cursorSurfaceRequest(QWaylandSurface *surface, int hotspotX, int hotspotY)

Этот сигнал испускается, когда клиент запросил, чтобы определённая surface стала курсором мыши. Например, когда пользователь наводит указатель мыши на определённую surface, и вы хотите, чтобы курсор изменился на стрелку изменения размера.

И hotspotX, и hotspotY — смещения от верхнего левого угла поверхности указателя, где должен произойти щелчок. Например, если запрошенная поверхность курсора — стрелка, эти параметры указывают, где находится наконечник стрелки на этой поверхности.

[signal] void QWaylandSeat::keyboardFocusChanged(QWaylandSurface *newFocus, QWaylandSurface *oldFocus)

Этот сигнал испускается, когда вызывается setKeyboardFocus().

newFocus содержит surface, получившую фокус клавиатуры; или nullptr если ни одна surface не имеет фокуса. oldFocus содержит surface, потерявшую фокус клавиатуры; или nullptr если ни одна surface не имела фокуса.

[signal] void QWaylandSeat::mouseFocusChanged(QWaylandView *newFocus, QWaylandView *oldFocus)

Этот сигнал испускается при изменении фокуса мыши с oldFocus на newFocus.

[override virtual] QWaylandSeat::~QWaylandSeat()

Уничтожает QWaylandSeat

QWaylandSeat::CapabilityFlags QWaylandSeat::capabilities() const

Возвращает флаги возможностей для этого QWaylandSeat.

QWaylandCompositor *QWaylandSeat::compositor() const

Возвращает компоновщик для этого QWaylandSeat.

QWaylandDrag *QWaylandSeat::drag() const

Возвращает объект перетаскивания для этого QWaylandSeat.

Примечание: Функция-геттер для свойства drag.

[static] QWaylandSeat *QWaylandSeat::fromSeatResource(struct ::wl_resource *resource)

Возвращает QWaylandSeat, соответствующий resource. Ожидается, что resource имеет тип wl_seat.

[virtual] void QWaylandSeat::initialize()

Инициализирует части сиденья, соответствующие возможностям, установленным в конструкторе или через setCapabilities().

Примечание: Обычно эта функция вызывается автоматически после создания сиденья и компоновщика, поэтому вызов её вручную обычно не требуется.

bool QWaylandSeat::isInitialized() const

Возвращает true, если QWaylandSeat инициализирован; в противном случае — false.

Значение true указывает, что клиенты теперь могут начать использовать сиденье.

QWaylandKeyboard *QWaylandSeat::keyboard() const

Возвращает клавиатуру для этого устройства ввода.

QWaylandSurface *QWaylandSeat::keyboardFocus() const

Возвращает текущую сфокусированную surface для ввода с клавиатуры.

См. также setKeyboardFocus().

QWaylandKeymap *QWaylandSeat::keymap()

Возвращает объект keymap для этого QWaylandSeat.

Примечание: Функция-геттер для свойства keymap.

QWaylandView *QWaylandSeat::mouseFocus() const

Возвращает view, который в настоящее время имеет фокус мыши.

См. также setMouseFocus().

QWaylandPointer *QWaylandSeat::pointer() const

Возвращает устройство указателя для этого QWaylandSeat.

void QWaylandSeat::sendFullKeyEvent(QKeyEvent *event)

Отправляет event устройству клавиатуры.

void QWaylandSeat::sendFullTouchEvent(QWaylandSurface *surface, QTouchEvent *event)

Отправляет event на указанную surface на сенсорном устройстве.

Предупреждение: Этот API автоматически сопоставит QEventPoint::id() с последовательным id перед отправкой клиенту. Поэтому его не следует использовать совместно с другими API, использующими явные id, так как могут возникнуть коллизии.

[invokable, since 5.12] void QWaylandSeat::sendKeyEvent(int qtKey, bool pressed)

Отправляет событие нажатия клавиши (если pressed — true) или отпуска клавиши (если pressed — false) клавиши qtKey на устройство клавиатуры.

Примечание: Эта функция может вызываться через систему метаобъектов и из QML. См. Q_INVOKABLE.

Эта функция была добавлена в Qt 5.12.

void QWaylandSeat::sendKeyPressEvent(uint code)

Отправляет событие нажатия клавиши с кодом code на устройство клавиатуры.

void QWaylandSeat::sendKeyReleaseEvent(uint code)

Отправляет событие отпуска клавиши с кодом code на устройство клавиатуры.

void QWaylandSeat::sendMouseMoveEvent(QWaylandView *view, const QPointF &localPos, const QPointF &outputSpacePos = QPointF())

Устанавливает фокус мыши на view и отправляет событие перемещения мыши на устройство указателя с локальным положением localPos и положением в пространстве вывода outputSpacePos.

void QWaylandSeat::sendMousePressEvent(Qt::MouseButton button)

Отправляет событие нажатия кнопки мыши button на устройство указателя QWaylandSeat.

void QWaylandSeat::sendMouseReleaseEvent(Qt::MouseButton button)

Отправляет событие отпускания кнопки мыши button на устройство указателя QWaylandSeat.

void QWaylandSeat::sendMouseWheelEvent(Qt::Orientation orientation, int delta)

Отправляет событие колеса мыши на устройство указателя QWaylandSeat с заданным orientation и delta.

[invokable] void QWaylandSeat::sendTouchCancelEvent(QWaylandClient *client)

Отправляет событие отмены на сенсорное устройство client.

Примечание: Эта функция может вызываться через систему метаобъектов и из QML. См. Q_INVOKABLE.

[invokable] void QWaylandSeat::sendTouchFrameEvent(QWaylandClient *client)

Отправляет событие кадра для сенсорного устройства клиента, чтобы указать конец серии событий касания: поднятия, нажатия и перемещения.

Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.

uint QWaylandSeat::sendTouchPointEvent(QWaylandSurface *surface, int id, const QPointF &point, Qt::TouchPointState state)

Отправляет событие касания для точки на поверхности surface с заданным id, point и state.

Предупреждение: Этот API не следует использовать в сочетании с пересылкой событий касания с помощью QWaylandQuickItem::touchEventsEnabled или sendFullTouchEvent, так как это может привести к конфликту идентификаторов касаний.

Возвращает серийный номер для события поднятия или нажатия касания.

[invokable] uint QWaylandSeat::sendTouchPointMoved(QWaylandSurface *surface, int id, const QPointF &position)

Отправляет событие перемещения точки касания с id по поверхности surface с позицией position.

Примечание: Необходимо отправить событие кадра касания, когда отправка событий касания завершена.

Предупреждение: Этот API не следует использовать в сочетании с пересылкой событий касания с помощью QWaylandQuickItem::touchEventsEnabled или sendFullTouchEvent, так как это может привести к конфликту идентификаторов касаний.

Возвращает серийный номер для события перемещения касания.

Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.

[invokable] uint QWaylandSeat::sendTouchPointPressed(QWaylandSurface *surface, int id, const QPointF &position)

Отправляет событие нажатия точки касания с id по поверхности surface с позицией position.

Примечание: Необходимо отправить событие кадра касания, когда отправка событий касания завершена.

Предупреждение: Этот API не следует использовать в сочетании с пересылкой событий касания с помощью QWaylandQuickItem::touchEventsEnabled или sendFullTouchEvent, так как это может привести к конфликту идентификаторов касаний.

Возвращает серийный номер для события нажатия касания.

Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.

[invokable] uint QWaylandSeat::sendTouchPointReleased(QWaylandSurface *surface, int id, const QPointF &position)

Отправляет событие отпускания точки касания с id по поверхности surface с позицией position.

Примечание: Необходимо отправить событие кадра касания, когда отправка событий касания завершена.

Предупреждение: Этот API не следует использовать в сочетании с пересылкой событий касания с помощью QWaylandQuickItem::touchEventsEnabled или sendFullTouchEvent, так как это может привести к конфликту идентификаторов касаний.

Возвращает серийный номер для события отпускания касания.

Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.

bool QWaylandSeat::setKeyboardFocus(QWaylandSurface *surface)

Устанавливает текущий фокус клавиатуры на surface. Возвращает булево значение, указывающее, был ли успешно выполнен операция.

См. также keyboardFocus().

void QWaylandSeat::setMouseFocus(QWaylandView *view)

Устанавливает текущий фокус мыши на view.

См. также mouseFocus().

QWaylandTouch *QWaylandSeat::touch() const

Возвращает устройство касания для этого QWaylandSeat.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qwaylandseat.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API