QWaylandSeat Class
QWaylandSeatクラスは、キーボード、マウス、タッチ入力へのアクセスを提供します。詳細...
Header: | #include <QWaylandSeat> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor) target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor) |
qmake: | QT += waylandcompositor |
In QML: | WaylandSeat |
Inherits: | QWaylandObject |
パブリックタイプ
enum | CapabilityFlag { Pointer, Keyboard, Touch, DefaultCapabilities } |
flags | CapabilityFlags |
プロパティ
パブリック関数
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::Pointer | 0x01 | QWaylandSeat はポインタ入力をサポートします。 |
QWaylandSeat::Keyboard | 0x02 | QWaylandSeat はキーボード入力をサポートする。 |
QWaylandSeat::Touch | 0x04 | QWaylandSeat はタッチ入力をサポートしています。 |
QWaylandSeat::DefaultCapabilities | Pointer | Keyboard | Touch | QWaylandSeat はデフォルトの能力を持つ。 |
CapabilityFlags型はQFlags<CapabilityFlag>のtypedefである。これは、CapabilityFlag値のORの組み合わせを格納する。
プロパティ Documentation
[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)
与えられたcompositor とcapabilityFlags に対して 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 をマウスカーソルにするよう要求したときに発せられます。例えば、ユーザーが特定のサーフェスの上にカーソルを置いたときに、カーソルをリサイズ矢印に変更したい場合などです。
hotspotX とhotspotY はどちらも、クリックが起こるべきポインタ面の左上からのオフセットです。例えば、要求されたカーソル面が矢印の場合、パラメータは矢印の先端がその面のどこにあるかを示します。
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)
タッチデバイスの指定されたsurface にevent を送信します。
警告 このAPIはクライアントに送信する前に、自動的にQEventPoint::id()をシーケンシャルIDにマッピングする。したがって、衝突が発生する可能性があるため、明示的なidを使用する他のAPIと組み合わせて使用しないでください。
[invokable]
void QWaylandSeat::sendKeyEvent(int qtKey, bool pressed)
キーの押下(pressed がtrue
の場合)または離鍵(pressed がfalse
の場合)イベントを、キーボード・デバイスにqtKey 送信する。
注意: この関数は、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)
button に対するマウス押下イベントをQWaylandSeat のポインタデバイスに送信する。
void QWaylandSeat::sendMouseReleaseEvent(Qt::MouseButton button)
button のマウスリリースイベントをQWaylandSeat のポインタデバイスに送る。
void QWaylandSeat::sendMouseWheelEvent(Qt::Orientation orientation, int delta)
orientation とdelta を指定して、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)
指定されたid 、point 、state のタッチデバイスのsurface にタッチポイントイベントを送信します。
警告 このAPIはQWaylandQuickItem::touchEventsEnabled やsendFullTouchEvent を使ったタッチイベントの転送と併用しないでください。
touch upまたはtouch downイベントのシリアルを返します。
[invokable]
uint QWaylandSeat::sendTouchPointMoved(QWaylandSurface *surface, int id, const QPointF &position)
surface 上のタッチポイントid のタッチ移動イベントをposition の位置で送信します。
注意: タッチイベントを送信し終わったら、タッチフレームイベントを送信する必要があります。
警告 この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)
surface 上のタッチポイントid に対して、position の位置で touch released イベントを送信します。
注意: タッチイベントを送信し終わったら、タッチフレームイベントを送信する必要があります。
警告 この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 のタッチデバイスを返します。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。