QWaylandSeat Class

QWaylandSeatクラスは、キーボード、マウス、タッチ入力へのアクセスを提供します。さらに...

ヘッダー #include <QWaylandSeat>
CMake: find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)
target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor)
qmake QT += waylandcompositor
QML で WaylandSeat
継承: QWaylandObject

パブリックな型

enum CapabilityFlag { Pointer, Keyboard, Touch, DefaultCapabilities }
flags CapabilityFlags

プロパティ

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

パブリック機能

QWaylandSeat(QWaylandCompositor *compositor, QWaylandSeat::CapabilityFlags capabilityFlags = DefaultCapabilities)
virtual ~QWaylandSeat() override
QWaylandSeat::CapabilityFlags capabilities() const
QWaylandCompositor *compositor() const
QWaylandDrag *drag() const
virtual 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)
(since 6.7) void sendUnicodeKeyPressEvent(uint unicode)
(since 6.7) void sendUnicodeKeyReleaseEvent(uint unicode)
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はさまざまなタイプのユーザー入力へのアクセスを提供し、キーボード・フォーカスとマウス・ポインターを維持します。これは Wayland プロトコルの wl_seat インターフェースに対応する。

メンバー型ドキュメント

enum QWaylandSeat::CapabilityFlag
flags QWaylandSeat::CapabilityFlags

この enum 型はQWaylandSeat の能力を記述します。

定数説明
QWaylandSeat::Pointer0x01QWaylandSeat はポインタ入力をサポートします。
QWaylandSeat::Keyboard0x02QWaylandSeat はキーボード入力をサポートする。
QWaylandSeat::Touch0x04QWaylandSeat はタッチ入力をサポートしています。
QWaylandSeat::DefaultCapabilitiesPointer | Keyboard | TouchQWaylandSeat はデフォルトの能力を持つ。

CapabilityFlags型はQFlags<CapabilityFlag>のtypedefである。これは、CapabilityFlag値のORの組み合わせを格納する。

プロパティ・ドキュメント

[read-only] drag : QWaylandDrag* const

このプロパティはドラッグ&ドロップ操作を保持し、その開始と終了時にシグナルを送信します。このプロパティには、ユーザがドラッグしたときにマウスカーソルの下にあるべき画像などの詳細が格納されます。

アクセス関数です:

QWaylandDrag *drag() const

[read-only] keymap : QWaylandKeymap* const

このプロパティはキーマップ・オブジェクトを保持する。

キーマップは、実際のキースキャンコードを意味のある値に変換する方法を提供します。例えば、ノルウェー語レイアウトのキーマップを使用する場合、文字Lの右側のキーはØを生成します。

キーマップは、ControlロックとCAPSロックを入れ替えるかどうかを指定するなど、キーの機能をカスタマイズするためにも使用できます。

関数にアクセスする:

QWaylandKeymap *keymap()

メンバー関数ドキュメント

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

与えられたcompositorcapabilityFlags に対して QWaylandSeat を構築する。

[override virtual noexcept] QWaylandSeat::~QWaylandSeat()

を破壊する。QWaylandSeat

QWaylandSeat::CapabilityFlags QWaylandSeat::capabilities() const

このQWaylandSeat のケイパビリティフラグを返します。

QWaylandCompositor *QWaylandSeat::compositor() const

このQWaylandSeat のコンポジターを返します。

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

このシグナルは、クライアントがマウスカーソルを特定のsurface 。例えば、ユーザーが特定のサーフェスの上にカーソルを置いたときに、カーソルをリサイズ矢印に変更したい場合などです。

hotspotXhotspotY はどちらも、クリックが起こるべきポインタ面の左上からのオフセットです。例えば、要求されたカーソル面が矢印の場合、パラメータは矢印の先端がその面のどこにあるかを示します。

QWaylandDrag *QWaylandSeat::drag() const

このQWaylandSeat のドラッグオブジェクトを返します。

注意: プロパティドラッグのゲッター関数です。

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

resource に対応するQWaylandSeat を返す。resource は wl_seat 型であることが期待される。

[virtual] void QWaylandSeat::initialize()

コンストラクタまたは setCapabilities() で設定された能力に対応するシートの部分を初期化します。

注意: 通常、この関数はシートとコンポジターが作成された後に自動的に呼び出されるため、手動で呼び出す必要はありません。

bool QWaylandSeat::isInitialized() const

QWaylandSeat が初期化されていればtrueを返し、そうでなければfalseを返す。

true は、クライアントがシートの使用を開始できるようになったことを示します。

QWaylandKeyboard *QWaylandSeat::keyboard() const

この入力デバイスのキーボードを返します。

QWaylandSurface *QWaylandSeat::keyboardFocus() const

キーボード入力用に現在フォーカスされている面を返す。

setKeyboardFocus()も参照してください

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

このシグナルはsetKeyboardFocus ()が呼ばれたときに発せられる。

newFocus nullptr oldFocus はキーボード・フォーカスを失ったサーフェスで、フォーカスを持つサーフェスがない場合は となります。nullptr

QWaylandKeymap *QWaylandSeat::keymap()

このQWaylandSeat のキーマップ・オブジェクトを返します。

注: プロパティ keymap のゲッター関数です。

QWaylandView *QWaylandSeat::mouseFocus() const

現在マウスフォーカスが当たっているビューを返します。

setMouseFocus()も参照してください

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

このシグナルは、マウスのフォーカスがoldFocus からnewFocus に変わったときに発せられる。

QWaylandPointer *QWaylandSeat::pointer() const

このQWaylandSeat のポインターデバイスを返します。

void QWaylandSeat::sendFullKeyEvent(QKeyEvent *event)

event をキーボード・デバイスに送信する。

注: event は、現在のマッピングにおける実際のキーボード・キーに対応していなければならない。例えば、Qt::Key_Exclam は通常独立したキーではありません。ほとんどのキーボードでは、感嘆符は Shift + 1 で生成されます。その場合、感嘆符キー押下イベントを送信するには、QKeyEvent(QEvent::KeyPress, Qt::Key_1, Qt::ShiftModifier) を使用します。

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

タッチデバイスの指定されたsurfaceevent を送信する。

警告 このAPIはクライアントに送信する前に、自動的にQEventPoint::id() をシーケンシャルidにマッピングする。したがって、衝突が発生する可能性があるため、明示的な ID を使用する他の API と組み合わせて使用しないでください。

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

qtKey キーの押下(pressedtrue の場合)または放 置(pressedfalse の場合)イベントをキーボード・デバイスに送 信します。

注意: この関数は、Qt::Key_Exclam のような修飾子を必要とするキーイベントには対応していません。代わりにsendFullKeyEvent を使用してください。

注意 :この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

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)

QWaylandSeat のポインターデバイスに、button のマウス押下イベントを送信する。

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

QWaylandSeat のポインターデバイスに、button のマウスリリースイベントを送信する。

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

与えられたorientationdelta で、QWaylandSeat のポインタデバイスにマウスホイールイベントを送信する。

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

client のタッチデバイスにキャンセルイベントを送信する。

注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

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

client のタッチデバイスにフレームイベントを送信し、一連のタッチアップ、ダウン、モーションイ ベントの終了を示す。

注: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

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

タッチデバイスのsurface に、指定されたidpointstate でタッチポイントイベントを送信します。

警告 このAPIは、QWaylandQuickItem::touchEventsEnabled またはsendFullTouchEvent を使用したタッチイベントの転送と組み合わせて使用しないでください。

タッチアップまたはタッチダウンイベントのシリアルを返します。

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

position の位置で、surface 上のタッチポイントid のタッチ移動イベントを送信します。

注意: タッチイベントを送信し終わったら、タッチフレームイベントを送信する必要があります。

警告 このAPIは、QWaylandQuickItem::touchEventsEnabled またはsendFullTouchEvent を使用したタッチイベントの転送と組み合わせて使用しないでください。

タッチモーションイベントのシリアルを返します。

注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

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

surface 上のタッチポイントid の押されたタッチイベントをposition の位置で送信します。

注意: タッチイベントを送信し終わったら、タッチフレームイベントを送信する必要があります。

警告 このAPIは、QWaylandQuickItem::touchEventsEnabled またはsendFullTouchEvent を使用したタッチイベントの転送と組み合わせて使用しないでください。

タッチダウンイベントのシリアルを返す。

注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

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

position の位置で、surface のタッチポイントid に対してタッチ解除イベントを送信します。

注意: タッチイベントを送信し終わったら、タッチフレームイベントを送信する必要があります。

警告 このAPIは、QWaylandQuickItem::touchEventsEnabled またはsendFullTouchEvent を使用したタッチイベントの転送と組み合わせて使用しないでください。

touch upイベントのシリアルを返す。

注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

[invokable, since 6.7] void QWaylandSeat::sendUnicodeKeyPressEvent(uint unicode)

テキスト入力プロトコルで UCS4unicode のキー押下イベントを送信する。

注意: この関数は、コンポジターがサポートしているテキスト入力プロトコルをクライアントがサポートしていない場合、正しく動作しません。

Note: この関数は、メタオブジェクトシステムおよび QML から呼び出すことができます。Q_INVOKABLE を参照してください。

この関数は Qt 6.7 で導入されました。

sendKeyEventも参照してください

[invokable, since 6.7] void QWaylandSeat::sendUnicodeKeyReleaseEvent(uint unicode)

テキスト入力プロトコルで UCS4unicode のキーリリースイベントを送信する。

注意 : この関数は、コンポジターがサポートしているテキスト入力プロトコルをクライアントがサポートしていない場合、正しく動作しません。

注意 :この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

この関数は Qt 6.7 で導入されました。

sendKeyEventも参照してください

bool QWaylandSeat::setKeyboardFocus(QWaylandSurface *surface)

現在のキーボードフォーカスをsurface に設定する。操作が成功したかどうかを示すブール値を返す。

keyboardFocus()も参照してください

void QWaylandSeat::setMouseFocus(QWaylandView *view)

現在のマウス・フォーカスをview に設定する。

mouseFocus()も参照

QWaylandTouch *QWaylandSeat::touch() const

このQWaylandSeat のタッチデバイスを返します。

© 2025 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.