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 |
속성
공개 함수
| 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
이 열거형 유형은 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 조합을 저장합니다.
속성 설명서
[read-only] drag : QWaylandDrag* const
이 속성은 드래그 앤 드롭 작업을 관리하며, 작업이 시작되고 끝날 때 신호를 보냅니다. 이 속성은 사용자가 마우스 커서를 드래그할 때 커서 아래에 어떤 이미지가 표시되어야 하는지 등의 세부 정보를 저장합니다.
액세스 함수:
| QWaylandDrag * | drag() const |
[read-only] keymap : QWaylandKeymap* const
이 속성은 키맵 객체를 저장합니다.
키맵은 실제 키 스캔 코드를 의미 있는 값으로 변환하는 방법을 제공합니다. 예를 들어, 노르웨이어 레이아웃의 키맵을 사용하면 L 글자 오른쪽에 있는 키를 누르면 Ø가 출력됩니다.
키맵을 사용하면 Control 키와 CAPS Lock 키의 위치를 바꾸는 등 키 기능을 사용자 정의할 수도 있습니다.
액세스 함수:
| 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`에 대한 드래그 객체를 반환합니다.
참고: drag 속성에 대한게터 함수입니다.
[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 keyboardFocusToGet(): 키보드 포커스를 받은 서페이스를 반환하며, 포커스를 받은 서페이스가 없는 경우에는 nullptr 를 반환합니다. keyboardFocusToGet(): 키보드 포커스를 잃은 서페이스를 반환하며, 포커스를 가진 서페이스가 없는 경우에는 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)
event 를 터치 기기의 지정된 surface 로 전송합니다.
경고: 이 API는 QEventPoint::id()를 클라이언트로 전송하기 전에 자동으로 순차적 ID로 매핑합니다. 따라서 ID 충돌이 발생할 수 있으므로, 명시적 ID를 사용하는 다른 API와 함께 사용해서는 안 됩니다.
[invokable] void QWaylandSeat::sendKeyEvent(int qtKey, bool pressed)
키 qtKey 에 대한 키 누름 이벤트( pressed 가 true 인 경우) 또는 키 놓음 이벤트( pressed 가 false 인 경우)를 키보드 장치로 전송합니다.
참고: 이 함수는 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 을 사용하여 터치 이벤트를 전달하는 기능과 함께 사용해서는 안 됩니다. 터치 ID 충돌이 발생할 수 있기 때문입니다.
터치 업(touch up) 또는 터치 다운(touch down) 이벤트의 일련번호를 반환합니다.
[invokable] uint QWaylandSeat::sendTouchPointMoved(QWaylandSurface *surface, int id, const QPointF &position)
surface 상의 위치 position 에 있는 터치 지점 id 에 대한 터치 이동 이벤트를 전송합니다.
참고: 터치 이벤트 전송을 모두 마친 후에는 터치 프레임 이벤트를 전송해야합니다 .
경고: 이 API는 터치 ID 충돌을 유발할 수 있으므로, QWaylandQuickItem::touchEventsEnabled 또는 sendFullTouchEvent 를 사용한 터치 이벤트 전달과 함께 사용해서는 안 됩니다.
터치 모션 이벤트의 시리얼을 반환합니다.
참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 를 참조하십시오.
[invokable] uint QWaylandSeat::sendTouchPointPressed(QWaylandSurface *surface, int id, const QPointF &position)
surface 의 위치 position 에 있는 터치 지점 id 에 대해 터치 누름 이벤트를 전송합니다.
참고: 터치 이벤트 전송을 모두 완료한 후에는 터치 프레임 이벤트를 전송해야합니다 .
경고: 이 API는 터치 ID 충돌을 유발할 수 있으므로, QWaylandQuickItem::touchEventsEnabled 또는 sendFullTouchEvent 을 사용한 터치 이벤트 전달과 함께 사용해서는 안 됩니다.
터치 다운 이벤트의 시리얼 번호를 반환합니다.
참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 를 참조하십시오.
[invokable] uint QWaylandSeat::sendTouchPointReleased(QWaylandSurface *surface, int id, const QPointF &position)
surface 의 위치 position 에 있는 터치 지점 id 에 대해 터치 해제 이벤트를 전송합니다.
참고: 터치 이벤트 전송을 모두 완료한 후에는 터치 프레임 이벤트를 전송해야합니다 .
경고: 이 API는 터치 ID 충돌을 유발할 수 있으므로, QWaylandQuickItem::touchEventsEnabled 또는 sendFullTouchEvent 을 사용한 터치 이벤트 전달과 함께 사용해서는 안 됩니다.
터치 업 이벤트의 일련번호를 반환합니다.
참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 를 참조하십시오.
[invokable, since 6.7] void QWaylandSeat::sendUnicodeKeyPressEvent(uint unicode)
텍스트 입력 프로토콜을 통해 UCS4 unicode 의 키 누름 이벤트를 전송합니다.
참고: 클라이언트가 컴포지터가 지원하는 텍스트 입력 프로토콜을 지원하지 않는 경우,이 함수는 제대로 작동하지 않습니다.
참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 를 참조하십시오.
이 함수는 Qt 6.7에서 도입되었습니다.
sendKeyEvent도 참조하십시오 .
[invokable, since 6.7] void QWaylandSeat::sendUnicodeKeyReleaseEvent(uint unicode)
텍스트 입력 프로토콜을 통해 UCS4 unicode 의 키 해제 이벤트를 전송합니다.
참고: 클라이언트가 컴포지터가 지원하는 텍스트 입력 프로토콜을 지원하지 않는 경우,이 함수는 제대로 작동하지 않습니다.
참고: 이 함수는 메타 객체 시스템과 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`에 해당하는 터치 장치를 반환합니다.
© 2026 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.