Spec-Zone.ru › Qt 6.0

Класс QWaylandSeat

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

Заголовок: #include <QWaylandSeat>
CMake: find_package(Qt6 COMPONENTS Waylandcompositor REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Waylandcompositor)
qmake: QT += waylandcompositor
С версии: Qt 5.8
Наследует: 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 стала курсором мыши. Например, когда пользователь наводит указатель на определённую поверхность, и вы хотите, чтобы курсор изменился на стрелку изменения размера.

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

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

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

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

[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

Возвращает объект drag для этого 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

Возвращает текущую поверхность, имеющую фокус для ввода с клавиатуры.

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

QWaylandKeymap *QWaylandSeat::keymap()

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

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

QWaylandView *QWaylandSeat::mouseFocus() const

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

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

QWaylandPointer *QWaylandSeat::pointer() const

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

void QWaylandSeat::sendFullKeyEvent(QKeyEvent *event)

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

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

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

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

[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.

void QWaylandSeat::sendTouchCancelEvent(QWaylandClient *client)

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

Примечание: К этой функции можно обратиться через систему метаобъектов и из QML. См. Q_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, так как это может привести к конфликту идентификаторов касания.

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

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

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

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

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

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

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

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

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

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

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

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

Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_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.0/qwaylandseat.html

Spec-Zone.ru

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