-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to identify monitors #46
Comments
At the moment there is no way to identify unique monitors, this would be a good feature to have though. I'll accept a pull-request, but I will not be working on this for a long time, I made tons of commitments for other projects people are waiting on. |
Thanks, I understand. And thanks for this library. |
Looks promising! The "DeviceID: Not used" remark is a bit annoying, but since it is 128 bytes you're probably right to assume this is the EDID.
Yeah Linux is much easier in this regard, I have 3 identical monitors, and the EDID hexdump from |
Identification should be added. Currently --monitor 1 or --monitor 1 are constantly changing |
If your monitors are of different models or input types (dvi vs hdmi), it can be identified by the |
How can we identify monitors?
If the order of monitors is guaranteed to be the same across reboots, we can just use its index in the
get_monitors()
list.I'm not sure this is the case though. On Linux the i2c bus number could change across reboots (source). I think the same is the case with HMONITOR on Windows.
There is the EDID, which I believe can be parsed out into Manufacturer code, Model number and Serial number (ddcutil does this and you can use --mfg, --model and --sn flags resp. to target a specific monitor).
monitorcontrol
could extract either the raw EDID or some other identifying information similar to how ddcutil does it. Simply being able to sort the output ofget_monitors()
on some stable key and use the index should be enough for many uses (rather than trying to replicate all the features of ddcutil).The text was updated successfully, but these errors were encountered: