마우스 설정
발표나 녹화 중에 지금 마우스가 어디에 있는지 시청자가 한눈에 알 수 있도록, 포인터 위치에 동그란 하이라이트를 띄워주는 기능입니다.
클릭할 때는 테두리가 나타나서 클릭 동작도 시각적으로 전달할 수 있습니다.
설정 항목 한눈에 보기
컨트롤러에서 아래 항목들을 자유롭게 조절할 수 있습니다.
| 설정 | 설명 | 기본값 |
|---|---|---|
| 커서 활성화 | 하이라이트를 켜고 끌 수 있습니다 | 켜짐 |
| 칠 색상 | 원 내부의 색상입니다 | #0064FF |
| 칠 투명도 | 원 내부의 투명도를 조절합니다 (0~1) | 0.5 |
| 획 색상 | 클릭할 때 나타나는 테두리 색입니다 | #202632 |
| 획 투명도 | 테두리의 투명도를 조절합니다 (0~1) | 0.5 |
| 칠 크기 | 하이라이트 원의 지름입니다 (px) | 30 |
| 획 크기 | 클릭 테두리의 굵기입니다 (px) | 3 |
처리 구조 (Tauri)
- Rust 백엔드(
src-tauri/src/lib.rs)의 입력 워커가 커서 좌표를 반복 수집합니다. - 활성 모니터를 판정해 해당 오버레이에만
mouse-move좌표를 전송합니다. - 비활성 모니터 오버레이에는
null을 보내 하이라이트를 즉시 숨깁니다. - 클릭 이벤트(
mouse-left-down등)는 오버레이 전체에 브로드캐스트합니다. - 오버레이(
src/components/overlay/CursorLayer.tsx)가 클릭 상태에 따라 테두리를 렌더링합니다.
현재 폴링/emit 기준
- 루프 sleep: 1ms
- 최소 emit 간격: 1ms
- keepalive emit: 100ms
실제 OS 스케줄러 특성상 체감 주기는 환경에 따라 달라질 수 있습니다.
다중 모니터 동작
- 커서는 현재 포인터가 올라간 모니터 오버레이에만 보입니다.
- 다른 모니터 오버레이에는 좌표가
null로 들어가므로 잔상처럼 남지 않습니다.
관련 코드
- 커서 좌표 emit:
src-tauri/src/lib.rs - 오버레이 이벤트 수신:
src/components/overlay/useOverlayEvents.ts - 커서 렌더링:
src/components/overlay/CursorLayer.tsx - 설정 반영:
src/components/controller/useControllerSettings.ts