Files
jsahnandClaude Opus 5.5 1af177f30d 틸트할 때 함께 들어오는 클릭 막기
틸트 비트는 macOS에 4~7번 버튼으로도 전달되어 앱이 휠 클릭처럼 처리하거나,
휠을 옆으로 밀 때 휠 버튼이 같이 눌리는 경우가 있었다. 이벤트 탭에서 4~7번
버튼과 틸트 직후 0.15초 안의 휠 클릭을 버리고, 버린 버튼의 드래그·떼기도
함께 버린다.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-03 12:23:33 +09:00

53 lines
2.8 KiB
Markdown

# Razer Tilt Mapper
Razer Pro Click V2 (vendor 5426, product 209)의 휠 좌우 틸트를 각각 `Command+[` / `Command+]`로 보냅니다. 제공한 HID 보고서의 첫 바이트와 비트 마스크를 그대로 사용합니다.
마우스 휠의 세로 스크롤 방향도 반전합니다. 트랙패드와 Magic Mouse처럼 제스처로 스크롤하는 장치와 가로 스크롤은 바꾸지 않습니다.
틸트할 때 함께 들어오는 원래 버튼 이벤트(4~7번 버튼, 틸트 직후의 휠 클릭)는 막습니다. 측면 버튼도 4·5번 버튼이라 원래 동작 대신 뒤로/앞으로 가기로 동작합니다.
## 설치 / 업데이트
```sh
cd /Users/jsahn/Personal_works/Razer_Tilt_Mapper
zsh build.sh
zsh install.sh
```
설치된 앱: `~/Library/Application Support/RazerTilt/Razer Tilt Mapper.app`
자동 실행 설정: `~/Library/LaunchAgents/local.razer-tilt.plist`
Mac에 로그인할 때 실행되며, 종료되면 launchd가 다시 실행합니다. 마우스를 나중에 연결해도 감지합니다. `/tmp`나 Swift 인터프리터에 의존하지 않습니다.
## 최초 권한 설정
시스템 설정 → 개인정보 보호 및 보안에서 **Razer Tilt Mapper**의 **입력 모니터링**, **손쉬운 사용**을 허용합니다. macOS가 종료 및 다시 열기를 요청하면 허용합니다. 자동 실행 서비스가 앱을 다시 실행합니다. 권한이 없는 동안 앱은 약 30초마다 스스로 재시작하며 권한을 다시 확인하므로, 허용한 뒤 직접 재시작할 필요가 없습니다.
`install.sh`가 끝나면 Finder에서 설치된 앱이 선택된 채로 열리고, 입력 모니터링 설정 화면도 함께 열립니다. 목록에 없으면 Finder에 선택된 **Razer Tilt Mapper**를 목록으로 끌어다 놓습니다. `+` 버튼을 쓸 때는 파일 선택 창에서 `Command+Shift+G`를 누르고 위 앱 경로를 입력합니다. 손쉬운 사용도 같은 방법으로 추가합니다.
`install.sh`는 설치할 때마다 기존 입력 모니터링·손쉬운 사용 등록을 자동으로 지웁니다. 빌드할 때마다 서명이 바뀌어 이전 허용이 더 이상 적용되지 않기 때문입니다. 설치 후에는 두 권한을 다시 허용합니다.
권한 상태와 장치 감지는 아래 로그에서 확인합니다. 실제 동작은 브라우저에서 페이지를 이동한 다음 휠 좌우 틸트로 확인합니다.
```sh
tail -n 30 ~/Library/Logs/RazerTiltMapper.log
launchctl print gui/$(id -u)/local.razer-tilt
```
## 자동 실행 끄기 / 다시 켜기
끄기:
```sh
launchctl disable gui/$(id -u)/local.razer-tilt
launchctl bootout gui/$(id -u)/local.razer-tilt
```
다시 켜기:
```sh
launchctl enable gui/$(id -u)/local.razer-tilt
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/local.razer-tilt.plist
```