# Razer Tilt Mapper Razer Pro Click V2 (vendor 5426, product 209)의 휠 좌우 틸트를 각각 `Command+[` / `Command+]`로 보냅니다. 제공한 HID 보고서의 첫 바이트와 비트 마스크를 그대로 사용합니다. ## 설치 / 업데이트 ```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 ```