Giter VIP home page Giter VIP logo

ddcctl's Introduction

ddcctl: DDC monitor controls for the OSX command line

Adjust your external monitors' built-in controls from the OSX shell:

  • brightness
  • contrast

And possibly (if your monitor firmware is well implemented):

  • input source
  • built-in speaker volume
  • on/off/standby

Code adapted from DDC Panel and DDC-CI-Tools-for-OS-X.
Also see BrightnessMenulet, a nice StatusBar slider.

For more info on the DDC protocol, read HDMI – Hacking Displays Made Interesting

Install

make install

Usage

Run ddcctl -h for some options.
ddcctl.sh is a script I use to control two PC monitors plugged into my Mac Mini.
You can point Alfred, ControlPlane, or Karabiner at it to quickly switch presets.

Known Bugs / Caveats

ddcctl gets a lot of bug reports for stuff that can't be remotely debugged or fixed.
Here are the three main issues I will close out-of-hand:

YOUR PC MONITOR MAY SUCK AT DDC
The DDC standard is very loosely implemented by monitor manufacturers beyond sleeping the display.

  • This is because Windows doesn't use brightness sensors to dim screens like OSX does β€”via USB, not DDC!
  • Adjusting brightness, contrast, and super-awesome-multimedia-frobber-mode may not be possible.

YOUR MAC MIGHT CRASH when ddcctl changes monitor settings.
ddcctl makes blocking I2C ioctl's to the OSX kernel.

  • Don't file an issue if does, I can't debug OSX kernels and display drivers.
  • And don't test this out with a bunch of unsaved work open.

YOUR MONITOR MIGHT FREEZE when making settings, especially the non-brightness/contrast ones.

  • Again, don't file an issue. Power cycle the monitor.
  • You just have to trial-and-error what works for your hardware.

VGA cables seem to wreak havoc with DDC comms.
Use DVI/DisplayPort/Thunderbolt if you can.

ddcctl's People

Contributors

kfix avatar cmsj avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.