Skip to main content

Python monitor controls using DDC-CI.

Project description

# monitorcontrol

[![Build Status](https://travis-ci.org/newAM/monitorcontrol.svg?branch=master)](https://travis-ci.org/newAM/monitorcontrol)
[![Coverage Status](https://coveralls.io/repos/github/newAM/monitorcontrol/badge.svg?branch=master)](https://coveralls.io/github/newAM/monitorcontrol?branch=master)

Python monitor control using the VESA Monitor Control Command Set (MCCS) over Display Data Channel Command Interface Standard (DDC-CI).

## Supported Platforms
* Linux
* Windows

The Virtual Control Panel (VCP) is re-implemented once per platform. The monitor class receives a VCP as an argument and uses the VCP for all monitor controls.

## Installation
Clone (or download) and install the package.
```
git clone https://github.com/newAM/monitorcontrol.git
python3 setup.py install
```

## Usage
Example using context manager:
```Python
from monitorcontrol import get_monitors

for monitor in get_monitors():
with monitor as m:
# set backlight luminance to 100%
m.luminance = 100
```

Example using open and close:
```Python
from monitorcontrol import get_monitors, VCPError

for monitor in get_monitors():
try:
monitor.open()
# put monitor in standby mode
monitor.power_mode = "standby"
except VCPError:
print("uh-oh")
raise
finally:
monitor.close()
```

## Known Problems
* Will not work on Windows if you have more than one physical monitor per handle.
* Limited MCCS commands implemented, only back-light and power modes are available. Please open an issue or pull request if you would like additional controls.

## References
* VESA Monitor Control Command Set Standard Version 2.2a
* Display Data Channel Command Interface Standard Version 1.1
* [Informatic/python-ddcci](https://github.com/Informatic/python-ddcci)
* [siemer/ddcci](https://github.com/siemer/ddcci/)
* [https://stackoverflow.com/a/18065609](https://stackoverflow.com/a/18065609)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

monitorcontrol-1.0-py3.7.egg (34.7 kB view details)

Uploaded Egg

File details

Details for the file monitorcontrol-1.0-py3.7.egg.

File metadata

  • Download URL: monitorcontrol-1.0-py3.7.egg
  • Upload date:
  • Size: 34.7 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for monitorcontrol-1.0-py3.7.egg
Algorithm Hash digest
SHA256 8270ca47cad32d2d849b6dc11d06a68f59af5e2e78766899fae8e926833470b4
MD5 e34bb903c025a55bc143484df81a43fb
BLAKE2b-256 7fe35e1687946526de9d1f00ec7495b524bd5523e79658d39951d29191f9a891

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page