Contribute
Register

Controlling Your Monitor with OSX: DDC Panel

Status
Not open for further replies.
I've published my command line app to GitHub to better track changes. I don't plan to install Yosemite untill its released, but I'm curious if others could test this.

https://github.com/kfix/ddcctl
 
Hey Joey!

what would need to be done in order to also support internal laptop panels?

thank you!
 
This is a great App. Unfortunately the mute does not work and the audio is way too loud. I have set my Samsung S27C750 to Volume "1" and also DCC Panel to Volume 1 and it is very loud. It would be great, if i could chance the volume slider to work just between 0 and 1.
 
Thanks for a great app. Unfortunately it doesn't work on my OS/X Yosemite iMac. Do you have any idea if it's an OS/X issue or a H/W issue?
I'm getting request->result = 36 in DDCRead->DisplayRequest after IOI2CSendRequest.
The error code seems to be KERN_NOT_DEPRESSED. It might have been added on OS/X 10.10 as I can find it in OS/X API Diffs in Darwin Changes.

Thanks,
Yuval.
 
I've been getting the same request->result value (-536870206) as already posted earlier. I.e. all the sliders are inactive in the GUI.

I'm wondering if you have any idea how to debug this value? It doesn't seem to be defined in IOReturn.h, it's not random, and it is definitely the result of the call to IOI2CSendRequest. It looks as if some data is written to the result field that was intended for somewhere else, but then again I haven't read up on the specs that are used to create the IOI2CRequest. The creation of the request would take some time to understand well.

There doesn't seem to be any problem with timing between read and write since my breakpoints in AppDelegate::setValue never fire at all, i.e. no writing takes place.
 
On my hack with your current tool, I could neither set nor read any parameters.
By replacing part of your code from DDCWrite() with code from this post http://lists.apple.com/archives/colorsync-users/2011/Feb/msg00026.html, I manage to modify all the settings on my Dell U2715H (connected to a GTX 970 by display port, using Nvidia Web drivers).

Here's the code for the modified DDCwrite

Code:
bool DDCWrite(CGDirectDisplayID displayID, struct DDCWriteCommand *write) {

    
    IOI2CRequest    request;
    UInt8           data[128];
    
    bzero( &request, sizeof(request));
    
    request.commFlags                       = 0;
    
    request.sendAddress                     = 0x6E;
    request.sendTransactionType             = kIOI2CSimpleTransactionType;
    request.sendBuffer                      = (vm_address_t) &data[0];
    request.sendBytes                       = 7;
    
    data[0] = 0x51;
    data[1] = 0x84;
    data[2] = 0x03;
    data[3] = write->control_id;
    data[4] = 0x64 ;
    data[5] = write->new_value ;
    data[6] = 0x6E ^ data[0] ^ data[1] ^ data[2] ^ data[3]^ data[4]^
    data[5];
    
    
    request.replyTransactionType    = kIOI2CNoTransactionType;
    request.replyBytes                      = 0;


    bool result = DisplayRequest(displayID, &request);
    return result;
}

I basically replaced the code that fills the request structure... To me it looks like instead of setting request.sendSubAddress to 0x51, this value of 0x51 is set in the first element of request.data (which is one element bigger). I don't know what is the proper solution (looks like it could be depend on how this request structure is layed out in memory).
 
Hello there, your application is awesome..thanks for sharing sources.
I tried to make your app to change brightness with keystrokes (f1-f2 like real mac) but i cant find a working way to handle keystrokes when application is in background. Also im searching a way to trick osx built in brightness control to controlled by your application so when user change brightness the os will shows the brightness level on screen. (may need fake lpnf device and some kernel extension to work)
If you have free time and you can help with that i will appreciated.
Thanks!
 
I made this tool a while ago for my own use. maybe you guys like to use it too?
I'm trying to fix some issue's it has on different hardware. does anyone care to try and see if it works?

https://github.com/Floris497/Backlight-DDC
 

Attachments

  • Backlight-DDC.zip
    40 KB · Views: 197
Status
Not open for further replies.
Back
Top