/
Search

260722_2345_한 모니터에 PC/맥을 같이 꽂아 두고 입력 소스(DP/HDMI/USB-C)를 메뉴에서 찾는 고통을, DDC/CI CLI로 없애는 도구

출처

monitor-input-rs
kojiishi
한 모니터에 PC/맥을 같이 꽂아 두고 입력 소스(DP/HDMI/USB-C)를 메뉴에서 찾는 고통을, DDC/CI CLI로 없애는 도구입니다.
프로젝트명: monitor-input (Rust)
Windows / macOS / Linux 지원
CLI뿐 아니라 라이브러리로도 사용 가능 (cargo add monitor-input)

이게 왜 필요할까요??

KVM이 없거나, 모니터 OSD에 Input 핫키가 빈약한 경우:
Windows = DP1 Mac = USB-C1 매 전환마다 모니터 버튼 탐색...
Plain Text
복사
GeekNews 댓글에서도 "윈-맥 쉘에서 alias 하나로 교환" 사례가 바로 나왔습니다.

여기서 우리가 꼭 알아가야할 핵심 개념!!: DDC/CI

DDC/CI(Display Data Channel / Command Interface) 는 PC가 모니터에게
밝기·입력 소스 같은 설정을 케이블 너머로 명령할 수 있게 해주는 프로토콜입니다.
앱/CLI → OS/드라이버 백엔드 → DDC/CI → 모니터 펌웨어
Plain Text
복사
즉 HDMI 스위치를 사는 게 아니라, 모니터 자체의 Input Source VCP를 바꾸는 방식입니다.
모니터/케이블/OS 조합에 따라 목록이 안 잡히거나, 같은 모니터가 백엔드별로 두 번 보일 수 있습니다.

기본 사용법

목록 보기

monitor-input
Bash
복사
대략 이런 출력이 나옵니다:
0: Dell P2415Q Input Source: DisplayPort2 Backend: winapi 2: Dell U2723QE Input Source: DisplayPort1 Backend: winapi
Plain Text
복사

이름으로 / 인덱스로 지정

monitor-input Dell=dp1 # 이름에 Dell 포함 → DP1 monitor-input 0=usbc1 # 인덱스 0 → USB-C1 monitor-input Dell # 조회만 monitor-input 2 # 인덱스 2 조회
Bash
복사

벤더 전용 코드(숫자)

표준 이름 매핑이 안 되는 모니터:
monitor-input U2723=15 P3223=17
Bash
복사

토글 / 사이클

# HDMI1 ↔ USB-C2 monitor-input P3223=hdmi1,usbc2 # 3개 순환 monitor-input P3223=hdmi1,usbc2,dp1
Bash
복사

다중 모니터를 "같은 단계"로 맞추기

여러 모니터를 한 번에 토글할 때, 첫 모니터의 현재 소스를 기준으로
나머지 모니터도 각자 목록의 같은 번째 소스로 맞춥니다.
monitor-input U2723=dp1,usbc2 P3223=hdmi1,usbc2
Bash
복사
U2723가 지금 dp1 이면 → usbc2로 그러면 P3223도 목록의 2번째(usbc2)로
Plain Text
복사

설치 / 플랫폼 팁

cargo install monitor-input # 또는 cargo install --git <https://github.com/kojiishi/monitor-input-rs>
Bash
복사
환경
메모
Linux
libudev 필요. 그래도 못 잡으면 케이블/권한/백엔드 이슈일 수 있음
Windows
콘솔 깜빡임 싫으면 -F winappmonitor-inputw.exe (에러는 토스트)
macOS
권한/케이블에 따라 DDC 접근이 막힐 수 있음
실무 팁 (댓글 패턴):
# mac: 상대 PC(Windows) 화면으로 넘기기 alias mon='monitor-input 0=dp1' # windows PowerShell: 맥 화면으로 넘기기 function mon { monitor-input 0=usbc1 }
Bash
복사

자주 하는 실수들입니다!

실수 1. KVM이랑 같은 층위라고 생각한다

이 도구는 입력 장치(키보드/마우스) 전환이 아닙니다. 모니터 입력만 바꿉니다.
키마까지 같이 바꾸려면 별도 솔루션이 필요합니다.

실수 2. 모니터가 안 보이면 바로 포기한다

같은 물리적 모니터가 Backend 차이로 중복 노출될 수 있고,
Linux에서는 udev/권한, 일부 도킹/USB-C 경로에서는 DDC가 막히기도 합니다.

실수 3. 소스 이름을 추측만 한다

먼저 monitor-input으로 현재 소스를 보고, 안 되면 숫자 VCP 코드로 확인하는 편이 빠릅니다.

정리해봅시다!

1.
monitor-input은 DDC/CI로 모니터 입력 소스를 CLI에서 전환한다.
2.
이름/인덱스 지정, 토글, 다중 모니터 동기 전환이 핵심 UX다.
3.
Win/Mac 듀얼 머신 책상에서 alias 한 방 워크플로에 특히 잘 맞는다.
4.
실패 시 원인은 도구보다 모니터·케이블·OS DDC 지원인 경우가 많다.
5.
라이브러리로도 쓸 수 있어, 키마 전환 스크립트와 묶기 좋다.

이상!