TL;DR
- macOS에서 Logitech의 레거시 키보드와 마우스를 함께 전환하는 로컬 도구로, Logi Options+의 두 기기 Easy-Switch 동작이 두 기기를 노출하는 경우 한 번의 동작으로 같은 호스트에 전환함.
- 호스트별 앱 세 개가 포함되며, 검증된 조합은 MX Keys S와 2015년형 1세대 MX Master임.
- macOS 12 이상, Logi Options+와 Plugin Service 실행, 정확히 두 기기 노출, 양쪽 기기의 호스트 슬롯 일치가 요구됨.
- 로컬 Plugin Service에 고정된 동작을 요청하며 네트워크 연결·텔레메트리·데몬 설치·펌웨어 수정은 없음.
- 명령은 순차 실행되므로 실패 시 한 기기만 전환될 수 있으며, 자동 재시도는 수행되지 않음.
The Mouse Is Coming Too
- macOS에서 레거시 Logitech Easy-Switch 키보드와 마우스를 함께 전환하는 도구임.
- 한 번의 동작으로 지원되는 두 기기를 같은 Easy-Switch 호스트로 전환함.
- Logitech의 기본 Enhanced Easy-Switch를 사용할 수 없는 구성에 적합한 소규모 로컬 대안임. 검증된 조합에는 MX Keys S와 2015년형 오리지널 MX Master가 포함됨.
- Logitech과 제휴·후원 관계가 없으며 Logitech의 보증을 받지 않음.
다운로드
- GitHub Releases에서 최신 macOS ZIP과 SHA256SUMS를 내려받을 수 있음.
- 압축 파일에는
Switch to Host 1.app,Switch to Host 2.app,Switch to Host 3.app이 포함됨. - 각 앱에 전환 코드가 각각 포함됨.
- 체크섬 확인, Gatekeeper, 최초 실행 안내는
INSTALL.md에 있음.
해결하는 문제
- 많은 Logitech 키보드와 마우스는 각각 여러 컴퓨터를 기억할 수 있지만, 보통 두 기기의 전환 버튼을 따로 눌러야 함.
- 포함된 앱은 Logi Options+에 이미 설치된 두 기기 Easy-Switch 동작을 호출함. 호스트를 한 번 선택하면 키보드와 마우스가 함께 전환됨.
- 관련 검색어는 Logitech 주변기기의 다중 기기 전환, MX 키보드와 MX Master 동시 전환, Bolt 및 Unifying Receiver 기기의 Easy-Switch, 키보드와 마우스의 동기화된 호스트 전환임.
호환성
- 요구 사항은 다음과 같음.
- macOS 12 이상
- Logi Options+ 설치 및 Plugin Service 실행
/usr/bin/python3설치. 여러 macOS 설치 환경과 Apple 명령줄 도구에 포함됨.- Options+의
Easy-Switch 2 Devices동작에 정확히 두 기기가 노출됨. - 두 기기의 호스트 슬롯 할당이 일치함.
- 종단 간 검증 항목은 다음과 같음.
- MX Keys S와 1세대 MX Master
- 두 기기 모두 Bluetooth 연결
- Logi Options+ 2.7.970334 및 Plugin Service 6.4.1.3246
- Bolt, Bluetooth, 레거시 Unifying Receiver 구성은 Options+가 두 기기를 해당 동작에 노출하는 경우 작동할 수 있지만, 리시버 종류만으로 호환성이 보장되지는 않음.
- 오리지널 MX Master는 레거시 기기로 검증됐지만, 해당 기기의 Unifying 연결 경로는 아직 테스트되지 않음.
- 변경을 가하지 않는 호환성 확인 명령은
/usr/bin/python3 ./switch_pair.py status임. - 의도한 기기 두 대가 정확히 표시되면 실행기 앱이 자동으로 기기를 선택할 수 있음. 명령줄 클라이언트는 명시적 선택자도 지원함.
설치 및 할당
- 앱 세 개를
/Applications에 복사함. - Logi Options+에서 사용자 지정 가능한 버튼이나 키에
Open Application을 할당한 다음 필요한 호스트에 해당하는 앱을 선택함. - 앱을 열면 창을 표시하지 않고 즉시 전환을 요청함.
- 양방향 전환을 사용하려면 각 Mac에 실행기 앱을 설치함.
- 초기 테스트 중에는 물리적 Easy-Switch 제어부, 내장 트랙패드 또는 여분의 입력 장치를 사용할 수 있도록 둠.
명령줄
- 호환 가능한 선택지를 확인하는 명령은
/usr/bin/python3 ./switch_pair.py status임. - 물리적 호스트 슬롯 2로 전환을 미리 확인한 뒤 실행하려면
/usr/bin/python3 ./switch_pair.py switch 2로 미리 보고,/usr/bin/python3 ./switch_pair.py switch 2 --execute로 실행함. - Options+가 두 개를 초과하는 선택지를 노출하는 경우 기기 쌍을 명시적으로 지정할 수 있음. 명령 형식은
/usr/bin/python3 ./switch_pair.py switch 2 --first "DEVICE NAME" --second "OTHER DEVICE" --execute임.
작동 방식
- 클라이언트는 Options+가 설치한 로컬 Plugin Service에만 연결함.
- 두 기기 Easy-Switch 동작의 선택지를 찾고, 호스트 슬롯을 지정해 고정된 동작을 호출함.
- Options+ 패치, 펌웨어 수정, 디버거 활성화, UI 자동화, 데몬 설치, 네트워크 연결은 수행하지 않음.
- 서비스 이벤트를 통해 두 명령이 모두 전송됐음을 확인함.
- 명령은 원자적이지 않고 순차적으로 실행되므로 실패하면 한 기기만 전환될 수 있음. 클라이언트는 실행 결과가 불확실할 때 자동 재시도하지 않음.
개인정보 보호 및 보안
- 일반 클라이언트의 특성은 다음과 같음.
- 네트워크 연결이나 수신 대기 기능 없음
- 텔레메트리 없음
- 기기·계정·사용 데이터 수집 없음
- 관리자, 손쉬운 사용, 자동화, 디버그 권한 불필요
- 기기 표시 이름과 모델 식별자를 메모리에서만 읽음
- Logitech 파일, 데이터베이스, 펌웨어, 소켓 권한을 수정하지 않음
빌드 및 테스트
make test,make audit,make dist명령으로 테스트·감사·배포 파일을 생성함.make dist는 자체 완결형 앱 번들 세 개를 만들고, 신원 정보가 없는 임시 서명을 적용하며,dist/아래에 ZIP과 SHA-256 체크섬을 기록함.
제한 사항
- 로컬 Plugin Service 프로토콜은 문서화되지 않았으며 변경될 수 있음.
- 내려받은 앱은 임시 서명 상태이며 Developer ID 서명이나 공증을 거치지 않음.
- 앱에는 동작과 호환되는 기기가 정확히 두 대 필요함.
- 동일한 모델 두 대는 해당 동작을 통해 서로 구별되지 않을 수 있음.
- 서비스 응답으로 기기 재연결 여부를 확인할 수 없음.
- 이번 릴리스는 macOS만 지원함.
라이선스 및 상표
- MIT 라이선스가 적용됨. 자세한 내용은
LICENSE에 있음.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요