首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
V2EX  ›  Python

用 Python 直接调节外接显示器亮度等参数

  •  6
     
  •   Osk · 2018-01-21 20:22:07 +08:00 · 7161 次点击
    这是一个创建于 686 天前的主题,其中的信息可能已经有所发展或是发生改变。

    主要是晚上想把显示器亮度调低一点,色温调低一些,但是显示器的操作面板简直难用到爆,按键还有点失灵了。而白天或者玩游戏看电影时又得使用 sRGB 颜色预设并提高亮度,按按钮操作比较纠结。

    地址: https://github.com/dot-osk/monitor_ctrl

    把我之前一直在用的一个 Python 脚本魔改了下,之前里面到处都是硬编码,没有 GUI。现在用 Tkinter 做了个简单的 GUI,也能继续使用 CLI 操作。

    支持的操作:

    - 调整亮度
    
    - 调整对比度
    
    - 设置色温 / 颜色预设
    
    - 设置 RGB 颜色的比例
    
    - OSD 语言
    
    - 开关机
    
    - 切换输入源
    
    - 自动调整图像 (VGA 输入需要)
    
    - 恢复出厂设置
    

    GUI:

    47 回复  |  直到 2019-01-26 14:10:09 +08:00
        1
    lScarlet   2018-01-21 20:46:29 +08:00 via Android
    看一看
        2
    chroming   2018-01-21 20:53:54 +08:00
    哇,正好需要这个,之前尝试自己写类似的程序遇到点问题没继续
        3
    Death   2018-01-21 21:00:52 +08:00
    原来还有 DDC/CI 这种协议呀,第一次知道
        4
    Applenice   2018-01-21 21:29:23 +08:00
    哇,看看
        5
    co3site   2018-01-21 21:33:33 +08:00 via Android
    还能这样控制,长见识了
        6
    wwqgtxx   2018-01-21 21:53:13 +08:00 via iPhone
    插一句,这个程序根本不用检查 python 版本是否是 py3,因为用了类型定义语法,根本就不支持 py2😂
        7
    lyztonny   2018-01-21 22:04:05 +08:00
    感谢拯救了一台按钮坏掉没办法调亮度的显示器!
        8
    zjb861107   2018-01-21 22:18:10 +08:00
    长见识了。
    不过,macOS 没有 api 可以控制吗
        9
    ysc3839   2018-01-21 22:35:33 +08:00
    同第一次知道!
        10
    yang2yang   2018-01-21 22:37:45 +08:00
    哇,很极客
        11
    conn4575   2018-01-22 07:26:58 +08:00 via Android
    不愧胶水语言,啥都能做…😂
        12
    Ehco1996   2018-01-22 07:54:41 +08:00 via iPhone
    这个真的厉害了 一会起床试一试
        13
    muziyue   2018-01-22 10:13:52 +08:00
    /* 可我记得这东西显卡设置里能调 */
        15
    Osk   2018-01-22 10:42:38 +08:00 via Android
    @wwqgtxx 类型定义语法?是指 type hints 吗?
        16
    Osk   2018-01-22 10:45:12 +08:00 via Android
    @zjb861107 osx 也有一个插件可以搜 ddc/ci osx 就有不少,其实三大平台都有不少类似功能的。只是 windows 不少是闭源的才自己撸一个。
        17
    Osk   2018-01-22 10:49:41 +08:00 via Android
    @muziyue Intel 核芯显卡控制面板能调,但用着相当别扭,响应慢。N 卡和 A 卡控制中心似乎没有调节入口。
        18
    jason19659   2018-01-22 10:56:34 +08:00
    跑不起来,嗯。
        19
    Osk   2018-01-22 11:05:26 +08:00 via Android
    @jason19659 python 版本多少呢?可以试试 -c 启动看看报的什么错
        20
    1ku   2018-01-22 11:26:26 +08:00 via iPhone
    刚学 python 自己看书,不想以后被笑话,各位前辈,这个 GUI 是读什么啊?“孤诣”、“鸡 U 唉”、“瑰”还是其他的?
        21
    leafleave   2018-01-22 11:27:53 +08:00 via iPhone
    支持什么显示器呢? VGA?HDMI?DP?
        22
    Osk   2018-01-22 11:44:29 +08:00 via Android
    @leafleave vga, dvi 已测试没问题,hdmi 和 dvi 信号兼容应该也没问题,dp 也应该不是问题
        23
    xwhxbg   2018-01-22 11:56:08 +08:00
    awesome,仿佛回到了 2000 年那会儿各路神仙各种 C 艹小程序的年代
        24
    580a388da131   2018-01-22 12:04:33 +08:00
    @1ku /ˈɡuːi/
        25
    ballshapesdsd   2018-01-22 12:08:31 +08:00
    star 了
        26
    yingfengi   2018-01-22 12:09:38 +08:00 via Android
    还有这种协议之类的?
    有着显示器带一个驱动盘(光盘上这么写的)
    那个软件就可以调,估计就是用这协议
        27
    wwqgtxx   2018-01-22 12:14:48 +08:00
    @Osk 恩,并找不到靠谱的中文翻译来解释 type hints
        28
    cy97cool   2018-01-22 13:01:19 +08:00 via Android
    居然还没人来提 f.lux

    不过还是谢谢 lz 又让 py 更好玩一点了
        29
    bestkayle   2018-01-22 13:24:56 +08:00
    开关机是什么意思?还能开机?
        30
    Osk   2018-01-22 13:29:20 +08:00 via Android
    @bestkayle 相当于按面板上的开关机按钮,能开能关,这个要看显示器支持得怎样
        31
    bestkayle   2018-01-22 13:30:50 +08:00
    @Osk #30 看不到屏幕怎么开呢,是定时开嘛。我这个公司配的飞利浦显示器找不到关的按钮,正好需要。
        32
    Osk   2018-01-22 13:34:45 +08:00 via Android
    @bestkayle 双屏无压力。或者创建计划任务等,在计算机开机 /唤醒时打开屏幕
        33
    Osk   2018-01-22 13:35:41 +08:00 via Android
    @bestkayle 不过小心本身没有关机按钮的关了会不会开不了。。。
        34
    aheadlead   2018-01-22 13:39:30 +08:00
    给楼主一个 idea
    根据日落日出调节亮度和色温(类似 Night Shift 和 f.lux)

    之前用 shell 写过一个 但是写的太丑了...
        35
    knva   2018-01-22 13:39:38 +08:00
    卧槽,还有这种操作,学到了
        36
    ysc3839   2018-01-22 13:52:23 +08:00 via Android
    @cy97cool f.lux 不能调亮度,只能调色温。
        37
    j717273419   2018-01-22 14:03:33 +08:00 via Android   ♥ 1
    可以改一下标题 [Python 有哪些让人眼前一亮的函数?]
        38
    laoyuan   2018-01-22 20:01:08 +08:00
    报告 LZ,如果关掉显示器再开开(没关机),设置就是失效了,这是怎么回事
        39
    xshwy   2018-01-23 00:02:03 +08:00
    @j717273419 哈哈哈哈哈 这个标题满分
        40
    NEETLEE   2018-01-23 15:16:21 +08:00
    很厉害呀,想从楼主的代码里扣一个快捷键切换信号源的脚本出来,这样就方便在 ps4 和 pc 之间的切换了...不过看了一天,进展缓慢...等弄出来了,再贴代码
        41
    Osk   2018-01-24 14:35:15 +08:00 via Android
    @laoyuan 试试测试分支里面的 “保存 nvram ” 按钮能不能解决问题。

    https://github.com/dot-osk/monitor_ctrl/tree/testing
        42
    Osk   2018-01-24 14:37:56 +08:00 via Android   ♥ 1
    @NEETLEE 可以直接 import vcp 模块单独使用的
        43
    laoyuan   2018-01-24 16:42:34 +08:00
    周末回家试试,谢谢 LZ
        44
    bitlaoyuan   2018-01-29 21:00:25 +08:00
    报告 LZ,“保存 nvram ” 按钮不能解决问题
        45
    Osk   2018-01-30 23:09:12 +08:00
    @bitlaoyuan 抱歉,这个我也没法了。。。 ☹
        46
    bitlaoyuan   2018-02-02 15:59:50 +08:00
    我打算改改脚本,每 30 秒提交一次
        47
    DuXing   316 天前
    厉害了,终于可以只动动鼠标就能设置亮度了。
    可以支持多显示器(扩展屏)吗?
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4398 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 30ms · UTC 01:55 · PVG 09:55 · LAX 17:55 · JFK 20:55
    ♥ Do have faith in what you're doing.