Wayland 1.26, 새로운 Pointer Warp 이벤트와 함께 출시
요약
Wayland 1.26 버전에서는 wl_pointer.warp 이벤트를 추가하여, 기존에 포인터의 정확한 위치 정보를 얻기 어려웠던 문제를 해결했습니다. 이 이벤트는 표면 이동/크기 조정 시에도 포인터의 로컬 좌표를 안정적으로 전달합니다. 또한, 글로벌 제거 관련 경쟁 조건 해결 및 디버깅 경험 개선 등의 업데이트가 포함되었습니다.
핵심 포인트
- wl_pointer.warp 추가: 포인터 위치 정보 획득 정확도 향상
- 표면 변경 시에도 안정적인 포인터 로컬 좌표 제공
- 글로벌 제거 이벤트의 경쟁 조건(race condition) 해결
- 디버깅 로그 타임스탬프 형식 개선으로 가독성 증대
Wayland 1.26, 새로운 Pointer Warp 이벤트 추가

Wayland 1.26에서 가장 중요한 변경 사항은 wl_pointer.warp 이벤트입니다. wl_pointer.warp 이벤트는 현재 Wayland의 일부 상황에서 클라이언트가 포인터에 대한 정확한 위치 정보를 얻을 수 없었던 단점을 해결하기 위해 추가되었습니다. wl_pointer.warp를 사용하면 최종 사용자(end-user)가 시작하지 않은 포인터 움직임 이벤트 없이도 새로운 포인터 위치를 알릴 수 있습니다. 병합 요청(merge request)에는 다음과 같은 예시가 설명되어 있었습니다:
"원래의 wl_pointer.button 이벤트는 위치 정보를 포함하고 있지 않습니다. 일부 시나리오에서 클라이언트는 정확한 위치 정보를 얻을 수 없습니다. 예를 들어, 마우스 포커스가 버튼에 있고 마우스가 움직이지 않지만 창 크기가 변경될 때, 클라이언트는 모션 이벤트를 통해 위치 정보를 업데이트할 수 없어 잘못된 마우스 위치가 발생합니다.
따라서, 이 이벤트는 표면(surface)이 이동/크기 조정/전체 화면으로 설정됨에 따라 포인터의 로컬 좌표가 변경될 때 전송되어야 합니다."
Wayland 1.26은 또한 글로벌 제거 이벤트 주변의 경쟁 조건(race conditions)을 해결하기 위해 새로운 wl_fixes.ack_global_remove 요청을 추가합니다. 또한, 이전에 wl_display_add_socket_fd()를 통해 추가된 소켓을 제거하는 새로운 wl_display_remove_socket_fd() 함수도 있습니다. 마지막으로, WAYLAND_DEBUG 타임스탬프가 HH:MM:ss.xxx 형식을 사용하여 더 읽기 쉽고 로그 간 비교하기 쉽게 개선되어 디버깅 경험이 향상되었습니다.
Wayland 1.26 출시의 자세한 내용은 메일링 리스트 공지사항을 참조하십시오.
AI 자동 생성 콘텐츠
본 콘텐츠는 Phoronix의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기