로컬 우선 Rust 기반 마우스 매핑 도구 OpenLogi
Logi Bolt, Bluetooth 또는 유선 연결로 HID++를 통해 DPI와 SmartShift 설정 및 버튼 리맵핑을 로컬에서 관리하는 Rust 기반 대안이다.
TL;DR
OpenLogi는 Logi Bolt 수신기, Bluetooth-direct, 유선 연결을 통해 HID++ 명령으로 DPI와 SmartShift, 버튼 리맵핑을 로컬에서 직접 수행하는 Rust 기반 도구이다. GUI는 GPUI로 장치 다이어그램과 액션 선택기를 제공하고 CLI는 장치 인벤토리와 HID++ 진단 자동화를 지원하므로 GUI와 헤드리스 환경을 모두 만족시킨다. 모든 설정은 단일 TOML 파일에 보관되어 계정과 텔레메트리가 불필요하며 Linux를 우선 지원해 evdev/uinput 훅과 배포 패키지로 프로덕션성 설치 흐름을 제공한다. 현재 개발이 활발하며 Windows는 조기 프리뷰 상태로 일부 기능이 검증되지 않았다는 점이 제약으로 존재한다.
주요 기능
- GUI에서 기기 다이어그램의 클릭 가능한 핫스팟을 통해 버튼별 액션을 선택할 수 있다.
- TOML 구성 파일로 모든 바인딩과 프로필을 텍스트로 유지해 버전관리와 복사가 가능하다.
- CLI로 장치 인벤토리 확인, 에셋 사전 가져오기, 장치 내 HID++ 진단을 자동화할 수 있다.
- DPI 프리셋과 SmartShift 바퀴 모드 및 감도, 영구 래칫 설정을 장치에 직접 기록할 수 있다.
어떻게 동작하는가
OpenLogi는 호스트와 마우스 간 통신을 HID++ 프로토콜로 직접 수행하며 Logi Bolt 수신기 또는 Bluetooth-direct와 유선 연결을 통해 명령을 전송한다. GUI는 GPUI로 구현되어 장치 다이어그램의 핫스팟과 액션 선택기를 제공하고, 내부적으로는 OS 이벤트 탭 또는 evdev/uinput 훅을 통해 버튼 입력을 가로채고 매핑된 동작을 주입한다. DPI 제어는 HID++ 명령 `0x2201`로, SmartShift 제어는 `0x2111`로 장치에 기록되며 모든 설정은 로컬의 단일 TOML 파일에 보관되어 네트워크 없이 동작한다.
해결 문제
공식 Logitech Options+가 macOS와 Windows에 제한되고 계정 및 텔레메트리를 요구하는 점에서 발생하는 제약을 해소한다. OpenLogi는 Linux를 우선 지원하고 Bluetooth-direct와 유선 연결까지 포함해 Logi Bolt 및 기존 수신기를 통해 장치를 제어하며 계정과 클라우드를 배제해 설정을 로컬에 보관한다. 또한 GUI와 CLI 쌍으로 데스크톱 상호작용과 자동화된 장치 진단을 동시에 제공해 전통적인 Options+ 사용 흐름에서 벗어난 운영을 가능하게 한다.
지금 주목받는 이유
프로젝트는 활발한 개발 상태이며 크로스플랫폼 대안으로서 Linux 우선 지원과 개인정보 보호 지향 설계 때문에 커뮤니티의 관심을 받고 있다.
차별점
- Linux를 1순위 플랫폼으로 취급해 evdev/uinput 훅, udev 규칙, systemd 유저 유닛 및 .deb/.rpm 패키지를 공식 지원한다.
- 모든 구성을 텍스트 기반 TOML 파일 하나에 보관해 diff와 버전관리가 가능하며 클라우드 계정이나 원격 텔레메트리가 존재하지 않는다.
- 네이티브 Rust 및 GPUI로 경량 바이너리를 제공해 Electron 기반 대안보다 런타임 오버헤드가 낮고 상주 업데이트 프로세스가 없다.
사용 사례
- 로그인 계정 없이 로컬에서만 마우스 설정을 관리해야 하는 환경에서 DPI와 버튼 매핑을 유지하는 용도로 사용할 수 있다.
- 서버나 헤드리스 워크스테이션에서 GUI 없이 CLI로 장치 인벤토리와 HID++ 기반 진단을 자동화해야 할 때 유용하다.
- 여러 대의 장치를 한 시스템에서 전환하는 상황에서 GUI의 디바이스 캐러셀과 프로필 자동 전환 기능으로 편의성을 높일 수 있다.
시작하기
macOS에서는 공식 릴리스의 서명된 .dmg를 내려받아 애플리케이션 폴더로 복사하거나 Homebrew cask로 설치하면 GUI 실행 준비가 완료된다. Linux에서는 릴리스로 배포된 .deb 또는 .rpm을 설치한 뒤 패키지에 포함된 udev 규칙과 systemd 유저 유닛을 통해 권한 부여와 에이전트 자동 실행을 구성해야 하며 에이전트 활성화 예시는 systemctl --user enable --now openlogi-agent.service이다. Windows용으로는 서명된 MSI와 포터블 ZIP이 릴리스에 첨부되어 있으며 GUI와 에이전트 실행 파일을 같은 폴더에 두어야 GUI가 에이전트에 연결될 수 있다.
요구사항
- macOS와 Linux가 공식적으로 지원되며 Windows는 조기 프리뷰로 제공되므로 Windows 환경에서는 일부 기능이 미검증 상태일 수 있다.
- 패키지는 x86_64/amd64와 arm64/aarch64 두 아키텍처로 배포되며 Linux 패키지 설치는 udev 규칙과 /dev/hidraw* 및 /dev/uinput 접근을 전제로 한다.
- Logi Options+와 HID++ 장치 접근권을 두 앱이 동시에 점유할 수 없으므로 설치 전에 Logi Options+를 종료해야 정상적으로 장치 소유권을 획득한다.
6.4k
Stars
151
Forks
+208
Trending
0
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.