모니터 옵션 조절 버튼을 여러번 눌러야 입력을 HDMI1 와 HDMI2 로 바꿀 수 있어 귀찮았다. 입력을 바꿀 수 있는 프로그램이 있나 싶어서 검색해봤다.

먼저 검색된 방법은 AutoHotKey 매크로로 SetVCPFeature, GetVCPFeatureAndVCPFeatureReply 를 호출하는 방식이었다. 내 PC에서는 동작하지 않았다.

https://www.clien.net/service/board/lecture/9611475

 

[미립자팁?] PC에서 단축키로 모니터의 입력소스(DVI/HDMI) 변경하기 : 클리앙

모니터에 DDC/CI라는 PC에서 모니터의 설정을 제어할 수 있는 규격이 있습니다. 보통 캘리브레이션을 할 때 많이 사용하는것 같더군요. 이제 이 인터페이스를 이용하여 간편하게 PC에서 Input Source

www.clien.net

https://kimsgomul.tistory.com/278

 

[펌] 모니터 입력소스(DVI/HDMI) 변경을 PC 단축키로 하기

모니터 한대에 PC 2대를 연결해서 사용하고 있는데 모니터 아래 메뉴 버튼을 눌러 입력소스를 바꾸는게 귀찮고 불편하다. 모니터 인풋소스를 변경하는 소프트웨어가 있는지 찾아봤는데 모니터

kimsgomul.tistory.com

https://www.entechtaiwan.com/util/moninfo.shtm

 

EnTech Taiwan | Utilities | Monitor Asset Manager

Monitor Asset Manager is a Plug and Play monitor information utility that works under all 32-bit and 64-bit versions of Windows. It is fully multi-monitor-capable, and unlike similar reporting utilities queries the monitor directly rather than relying on p

www.entechtaiwan.com

다음으로 걸린 프로그램이 ControlMyMonitor 이었다.

http://www.nirsoft.net/utils/control_my_monitor.html

 

View and modify the settings of your monitor (VCP Features)

View and modify the settings of your monitor (Also known as VCP Features), like brightness, contrast, sharpness, red/green/blue color balance, and more...

www.nirsoft.net

모니터 설정을 바꿀 수 있는 VCP Features 를 모니터마다 제공하는데 이를 이용하는 방식이다. 위 매크로와 같은 api 를 사용하는 것 같다.

실행하면 모니터와 통신을 통해 지원되는 VCP Code 와 현재, 최대, 지원되는 값을 보여준다.

오른쪽 마우스 메뉴나 F6 을 눌러 속성을 바꿀 수 있다. Current Value 값을 입력에 대응되는 값으로 바꾸면 입력이 변경된다.

모니터 입력이 변경되면 해당 모니터와 연결된 장비에서 제어해야 한다. 만약 DVI - PC, HDMI - 노트북 인 상태에서 입력을 HDMI 로 변경하면 PC에서는 더 이상 입력을 변경할 수 없고 노트북에서만 DVI 로 변경할 수 있다.

> ControlMyMonitor.exe /SetValue \\.\DISPLAY2\Monitor0 60 4

 /SetValue <Monitor String> <VCP Code> <Value> 같은 명령줄이 지원된다.

디스플레이 변경 바로 가기를 만들어서 작업표시줄에 연결시켜 사용하고 있다. 내 모니터의 경우 VCP Code 60 이 'Input Select' 에 대응되고 4 가 HDMI2 였다.

노트북에서 ControlMyMonitor 가 인식되지 않는 문제가 있었다. hdmi 2 포트 usb 케이블에 hdmi 가 연결되어 있었는데 사용하고 싶은 hdmi 케이블을 노트북에 직접 연결했더니 인식되었다.

> ControlMyMonitor.exe /SetValue Primary 60 4

<Monitor String> 이 환경에 따라 바뀌기도 한다. Primary, Secondary 같은 문자열을 지원하니 주모니터를 변경할 경우에는 Primary 를 사용하는 것이 오류 가능성을 줄일 수 있었다.

728x90

+ Recent posts