DELL U2417H有没有办法实现输入源快速切换?-外设

njzhx86 16天前 26

U2417有三个输入源分别是DP、mDP和HDMI
我三个输入源上都插了设备,并且同时处于开机状态
有什么办法能实现三个输入源之间的快速切换?显示器上的小圆点物理按键感觉太难按而且不方便。
之前有人通过Dell Display Manager+AutoHotkey 实现键盘快捷键切换输入源,但前提是当前输入源上要装了DDM才能通过键盘切换,比如说当前是DP接的电脑,我可以通过键盘快捷键切到PS3(HDMI),但我想从PS3再切回DP就只能通过显示器上的物理按键切换,或者把PS3关了让显示器自动选择。
有没有可能简单改造通过遥控器或者线控器等方式切换?
最新回复 (14)
  • zhengechao 16天前
    引用 2
    KVM..........
  • litel 16天前
    引用 3
    ddc/ci是可以切过去,虽然当前的黑屏了,但按快捷键是可以切回来的。曾经研究过。
  • litel 16天前
    引用 4
    最后的几个快捷键win+z获取那个输入源的id号
    先用显示器按钮切换,然后盲按一下快捷键,再显示器按钮切回来,就知道id是多少了。
    win+x win+c切换,id号要改成上面获取的id
    要切别的再继续添加快捷键。
    现在这个里面的id是aoc u2879vf的id
    纯ahk脚本,不需要其他软件。
    1. ; Finds monitor handle based on MousePosition
    2. getMonitorHandle()
    3. {
    4.   ; Initialize Monitor handle
    5.   hMon := DllCall("MonitorFromPoint"
    6.     , "int64", 0 ; point on monitor
    7.     , "uint", 1) ; flag to return primary monitor on failure

    8.    
    9.   ; Get Physical Monitor from handle
    10.   VarSetCapacity(Physical_Monitor, 8 + 256, 0)

    11.   DllCall("dxva2\GetPhysicalMonitorsFromHMONITOR"
    12.     , "int", hMon   ; monitor handle
    13.     , "uint", 1   ; monitor array size
    14.     , "int", &Physical_Monitor)   ; point to array with monitor

    15.   return hPhysMon := NumGet(Physical_Monitor)
    16. }

    17. destroyMonitorHandle(handle)
    18. {
    19.   DllCall("dxva2\DestroyPhysicalMonitor", "int", handle)
    20. }

    21. ; Used to change the monitor source
    22. ; DVI = 3
    23. ; HDMI = 4
    24. ; YPbPr = 12
    25. setMonitorInputSource(source)
    26. {
    27.   handle := getMonitorHandle()
    28.   DllCall("dxva2\SetVCPFeature"
    29.     , "int", handle
    30.     , "char", 0x60 ;VCP code for Input Source Select
    31.     , "uint", source)
    32.   destroyMonitorHandle(handle)
    33. }

    34. ; Gets Monitor source
    35. getMonitorInputSource()
    36. {
    37.   handle := getMonitorHandle()
    38.   DllCall("dxva2\GetVCPFeatureAndVCPFeatureReply"
    39.     , "int", handle
    40.     , "char", 0x60 ;VCP code for Input Source Select
    41.     , "Ptr", 0
    42.     , "uint*", currentValue
    43.     , "uint*", maximumValue)
    44.   destroyMonitorHandle(handle)
    45.   return currentValue
    46. }
    47. ; DP = 0x0f
    48. ; DVI = 3
    49. ; HDMI = 4


    50. ; Switching sources~
    51. #z::
    52. ;to dp
    53. ; setMonitorInputSource(0x0f)
    54. MsgBox, % getMonitorInputSource()
    55. return

    56. ; Switching sources~
    57. #x::
    58. ;to dp
    59. setMonitorInputSource(0x0f)
    60. return

    61. ; Switching sources~
    62. #c::
    63. ;to hdmi
    64. setMonitorInputSource(0x03)
    65. return
  • 楼主 njzhx86 16天前
    引用 5
    litel 发表于 2020-7-29 16:43
    最后的几个快捷键win+z获取那个输入源的id号
    先用显示器按钮切换,然后盲按一下快捷键,再显示器按钮切回来 ...
    实测可用,感谢!自古CHH出大神啊!
    不知如何加分,是我的等级不够吗?
  • 楼主 njzhx86 16天前
    引用 6
    litel 发表于 2020-7-29 16:43
    最后的几个快捷键win+z获取那个输入源的id号
    先用显示器按钮切换,然后盲按一下快捷键,再显示器按钮切回来 ...
    再请教下,我目前DP接的是PC1、mDP接的是PC2、HDMI接的是一个盒子现在从PC1切到mDP和HDMI画面正常
    在HDMI(盒子)画面下,用PC1的键盘快捷键切回来也正常
    但在mDP(PC2)画面下,用PC1的键盘快捷键就无法切回PC1
    这时如果把ahk文件拷到PC2上,用PC2的键盘是可以切回PC1的
    是否一旦切到另一个电脑输入的信号源上,原主机就不能控制显示器了?
    PC1和PC2角色互换,即在PC2上通过快捷键把画面切到PC1上后,也无法通过PC2的快捷键再切回
  • litel 16天前
    引用 7
    njzhx86 发表于 2020-7-29 20:33
    再请教下,我目前DP接的是PC1、mDP接的是PC2、HDMI接的是一个盒子现在从PC1切到mDP和HDMI画面正常
    在HDMI( ...
    无法切的时候,能读取id吗
    如果读不到那就说明已经失去ddc/ci的连接了,那就没办法了
  • 楼主 njzhx86 16天前
    引用 8
    litel 发表于 2020-7-29 21:17
    无法切的时候,能读取id吗
    如果读不到那就说明已经失去ddc/ci的连接了,那就没办法了
    这时读到的是ID 0
    0代表的是当前屏幕吧?应该就是读不到了。
  • jameszjq 16天前
    引用 9
    把DP和mDP都转接成HDMI然后连到HDMI切换器。
  • Harmattan 16天前
    引用 10
    小恶魔开始才能加分,,
    你这等级还差得远。。
  • 拉侧旋 15天前
    引用 11
    换个思路,分辨率不是特别高的话用采集卡,在系统里面一个画面就是一个任务窗口
  • litel 15天前
    引用 12
    njzhx86 发表于 2020-7-29 22:35
    这时读到的是ID 0
    0代表的是当前屏幕吧?应该就是读不到了。
    试了下,拔了所有的显示器读取的是0
    那应该就是失去ddc/ci的连接了
    应该就只能2个电脑都装这个脚本
    也还可以了,至少不用按显示器按钮了。。。
  • litel 15天前
    引用 13
    如果显示器是2 hdmi+1 dp 这种组合
    https://item.jd.com/100001071956.html
    https://item.jd.com/100000671311.html
    感觉可能可以实现pc上切3个
    dci/ci跟显示器的芯片有关,能不能用只能实际测试才知道
  • wxlg1117 15天前
    引用 14
    干嘛非得切?三显示器不是更香么
  • 楼主 njzhx86 15天前
    引用 15
    litel 发表于 2020-7-30 09:38
    试了下,拔了所有的显示器读取的是0
    那应该就是失去ddc/ci的连接了
    确实解决了大问题,比之前的DDM+AutoHotkey要好用
    能不能切,确实和显示器也有关系。刚在办公室试了下,一台笔记本VGA连的一台联想显示器,另一台PC通过DVI也连的这台显示器。
    当笔记本把联想显示器作为仅第二屏幕显示时,可以来回切。作为扩展屏幕时是不能切的。
  • 游客
    16
返回