Page 3 of 4

Re: Class Monitor (Brightness, ColorTemperature)

Posted: 30 Sep 2017, 13:38
by AladinZ
Hello. I have recently acquired an HDMI to VGA adapter, and found that it breaks DDC/CI. I have been experimenting with Class monitor, and it does the job for me. However, I would really like to be able to Incrementally change brightness with only two keyboard shortcuts, where each shortcut iteration adds or subtracts predefined values from the RGB channels, i.e., CTRL + Up and CTRL + down. Could you please provide a substitute to the script below that does that ?

Code: Select all

down::Monitor.SetBrightness(128, 128, 128)    ; Red - Green - Blue
up::Monitor.SetBrightness(10,  10,  10)    ; Red - Green - Blue
Thank you for the Incredible script.

Re: Class Monitor (Brightness, ColorTemperature)

Posted: 04 Oct 2017, 02:33
by jNizM
@AladinZ

An example:

Code: Select all

; GLOBAL SETTINGS ===============================================================================================================

#NoEnv
#SingleInstance Force
#Persistent

SetBatchLines -1

; SCRIPT ========================================================================================================================

; Win + Numpad Add (+)    ->  Set Brightness incremental by 1
#NumpadAdd::
    CLR := Monitor.GetBrightness()
    Monitor.SetBrightness(CLR.Red + 1, CLR.Green + 1, CLR.Blue + 1)
return


; Win + Numpad Sub (-)    ->  Set Brightness decremental by 1
#NumpadSub::
    CLR := Monitor.GetBrightness()
    Monitor.SetBrightness(CLR.Red - 1, CLR.Green - 1, CLR.Blue - 1)
return


; Win + Numpad Mult (*)   ->  Set Brightness to default (128)
#NumpadMult::
    Monitor.SetBrightness(128, 128, 128)
return


; Win + Numpad Div (/)    -> Get Brightness
#NumpadDiv::
    GetBrightness := Monitor.GetBrightness()
    MsgBox % "Red:`t" GetBrightness.Red "`nGreen:`t" GetBrightness.Green "`nBlue:`t" GetBrightness.Blue
return


; INCLUDES ======================================================================================================================

#Include Class_Monitor.ahk

; ===============================================================================================================================
To set own Hotkeys see here -> docs/Hotkeys.htm

Re: Class Monitor (Brightness, ColorTemperature)

Posted: 14 Dec 2017, 12:11
by AISblu
jNizM

Thank you sooo much !!! I've been using transparent window to dimm screen for years.)
Are'nt you interested in monitor brightness auto ajustment according to current day light at local town (date, latitude, longitude, sunrise & sundown time) ?
I've been trying to port this funcs from .js and .cpp but no success.
Here is sample: http://suncalc.net/

Re: Class Monitor (Brightness, ColorTemperature)

Posted: 24 Dec 2018, 04:23
by ivill
Hi, Since the latest Windows 10 preview build 18305.rs_prerelease.181213-2133 installed, the script no longer works, anyone else who have the same issue?

Re: Class Monitor (Brightness, ColorTemperature)

Posted: 16 Dec 2019, 15:08
by hasantr
jNizM wrote:
04 Oct 2017, 02:33
Hi this class is great. But it doesn't turn off as much light as I'd like . Minimum brightness is not enough. Do you have a suggestion?
I thank you.

Re: Class Monitor (Brightness, ColorTemperature)

Posted: 16 Dec 2019, 15:16
by gregster
hasantr wrote:
16 Dec 2019, 15:08
Hi this class is great. But it doesn't turn off as much light as I'd like . Minimum brightness is not enough. Do you have a suggestion?
A black full-screen window perhaps ?

Re: Class Monitor (Brightness, ColorTemperature)

Posted: 16 Dec 2019, 17:22
by hasantr
gregster wrote:
16 Dec 2019, 15:16
hasantr wrote:
16 Dec 2019, 15:08
Hi this class is great. But it doesn't turn off as much light as I'd like . Minimum brightness is not enough. Do you have a suggestion?
A black full-screen window perhaps ?
Thanks. I blacked out the monitor settings.

Re: Class Monitor (Brightness, ColorTemperature)

Posted: 19 Jan 2020, 08:48
by hasantr
jNizM wrote:
26 May 2015, 06:02
Class Monitor
Set monitors brightness and color temperature


Source
Class_Monitor.ahk (GitHub)


Example
Image


References
* GetDeviceGammaRamp
* SetDeviceGammaRamp
* How to Convert Temperature (K) to RGB


Contributing
- thanks to AutoHotkey Community


Questions / Bugs / Issues
Please report any bugs or issues here. Same for any questions.


Copyright and License
The Unlicense
This class is great. I thank you. There is only one problem. When the low brightness is adjusted, the effect of the temperature decreases.
How can the temperature effect be maintained despite this low brightness.

Re: Class Monitor (Brightness, ColorTemperature)

Posted: 06 Mar 2020, 02:33
by PipeDreams
ivill wrote:
24 Dec 2018, 04:23
Hi, Since the latest Windows 10 preview build 18305.rs_prerelease.181213-2133 installed, the script no longer works, anyone else who have the same issue?
OMFG YES!!! I have been putting off this update for ever, but I can no longer do that if I want other things to work on my PC. So, now I'm forced to choose between which products I want to work or not based on this stupid MicorSoft update....

I can't figure out if it is just a setting that got changed in the update or if AHK it self just needs to be updated to compensate for this MS update. I mean, I've made zero changes to this script, all I know is that it worked just fine before the update, and every time I uninstall the update it works again...

For now I have resorted to dimming a semi-transparent black borderless window over my screen... and I hate it, because it causes other issues with scripts that use pixel search/find. :headwall: :cry:

windows 10 version 1909... AutoHotkey_1.1.32.00... Anyone know what is going on here?

Re: Class Monitor (Brightness, ColorTemperature)

Posted: 08 Mar 2020, 17:59
by hasantr
PipeDreams wrote:
06 Mar 2020, 02:33
ivill wrote:
24 Dec 2018, 04:23
Hi, Since the latest Windows 10 preview build 18305.rs_prerelease.181213-2133 installed, the script no longer works, anyone else who have the same issue?
OMFG YES!!! I have been putting off this update for ever, but I can no longer do that if I want other things to work on my PC. So, now I'm forced to choose between which products I want to work or not based on this stupid MicorSoft update....

I can't figure out if it is just a setting that got changed in the update or if AHK it self just needs to be updated to compensate for this MS update. I mean, I've made zero changes to this script, all I know is that it worked just fine before the update, and every time I uninstall the update it works again...

For now I have resorted to dimming a semi-transparent black borderless window over my screen... and I hate it, because it causes other issues with scripts that use pixel search/find. :headwall: :cry:

windows 10 version 1909... AutoHotkey_1.1.32.00... Anyone know what is going on here?

I am in Windows 10 2004 insider structure. It continues to work for me.

Re: Class Monitor (Brightness, ColorTemperature)

Posted: 28 May 2020, 15:48
by castorp
Such a pity that this script appears to be no longer working. A fantastic idea.

Re: Class Monitor (Brightness, ColorTemperature)

Posted: 28 May 2020, 15:57
by hasantr
castorp wrote:
28 May 2020, 15:48
Such a pity that this script appears to be no longer working. A fantastic idea.
It must be working. My work also uses this class and it works.

https://www.autohotkey.com/boards/viewtopic.php?f=6&t=70871

Re: Class Monitor (Brightness, ColorTemperature)

Posted: 28 May 2020, 16:46
by castorp
Nope, your script also generates an error for me.
brighttemp.png
brighttemp.png (36.72 KiB) Viewed 5403 times

Re: Class Monitor (Brightness, ColorTemperature)

Posted: 28 May 2020, 16:51
by gregster
castorp wrote:
28 May 2020, 16:46
Nope, your script also generates an error for me. brighttemp.png
Your error message shows HTML code, not AHK code.

So, I assume that you are doing something wrong downloading this class. Download the AHK code, not the HTML source of the github project page...

Re: Class Monitor (Brightness, ColorTemperature)

Posted: 28 May 2020, 16:58
by castorp
Oops! Correct, just downloaded the whole folder and ran it -- works like a charm! Thank you gregster and hasantr!

Re: Class Monitor (Brightness, ColorTemperature)

Posted: 26 Jun 2020, 06:23
by jNizM
Since GetDeviceGammaRamp and SetDeviceGammaRamp (limitations see msdn docu) are still not working for me since 1903 I'm working on the "Monitor Configuration API" from MSDN
You can use the monitor configuration functions to get information from a monitor and to change a monitor's settings. You can use these functions to :

- Change a monitor's geometry settings, such as the width and height of the display.
- Change image settings, such as brightness and contrast.
- Reset a monitor's settings to their factory defaults.
- Degauss the monitor.

Internally, the monitor configuration functions use the Display Data Channel Command Interface (DDC/CI) to send commands to the monitor.
First steps to the new class are done. Brightness, Contrast, Degauss and Resetting works so far. Changing "Color Temperature" and "RGB Settings" are not compatible with my monitor (can not test it), but will also be integrated.


Edit
Found a way to get GetDeviceGammaRamp and SetDeviceGammaRamp working again under Win 2004

Re: Class Monitor (Brightness, ColorTemperature)

Posted: 05 Jul 2020, 17:11
by Rafaews
jNizM wrote:
26 Jun 2020, 06:23
First steps to the new class are done. Brightness, Contrast, Degauss and Resetting works so far. Changing "Color Temperature" and "RGB Settings" are not compatible with my monitor (can not test it), but will also be integrated.

Edit
Found a way to get GetDeviceGammaRamp and SetDeviceGammaRamp working again under Win 2004
I hope I can replicate Windows 10's Night Mode with your new class. With your old one I'm not able to decrease the blue all the way down.

Good Luck!

Re: Class Monitor (Brightness, ColorTemperature)

Posted: 11 Jul 2020, 02:39
by hasantr
jNizM wrote:
26 Jun 2020, 06:23
Since GetDeviceGammaRamp and SetDeviceGammaRamp (limitations see msdn docu) are still not working for me since 1903 I'm working on the "Monitor Configuration API" from MSDN
You can use the monitor configuration functions to get information from a monitor and to change a monitor's settings. You can use these functions to :

- Change a monitor's geometry settings, such as the width and height of the display.
- Change image settings, such as brightness and contrast.
- Reset a monitor's settings to their factory defaults.
- Degauss the monitor.

Internally, the monitor configuration functions use the Display Data Channel Command Interface (DDC/CI) to send commands to the monitor.
First steps to the new class are done. Brightness, Contrast, Degauss and Resetting works so far. Changing "Color Temperature" and "RGB Settings" are not compatible with my monitor (can not test it), but will also be integrated.


Edit
Found a way to get GetDeviceGammaRamp and SetDeviceGammaRamp working again under Win 2004
Wonderful news. I'm looking forward to the new class.

Re: Class Monitor (Brightness, ColorTemperature)

Posted: 14 Jul 2020, 07:11
by jNizM
First (new test) release
code -> https://www.autohotkey.com/boards/viewtopic.php?p=343504#p343504


Display variable can be \\.\DISPLAY1 (or higher) or just the number behind DISPLAY (1 or 2...)
e.g.
Get Brightness -> MsgBox % Monitor.GetBrightness(1).Current
Set Brightness -> Monitor.SetBrightness("\\.\DISPLAY1", 80)
Set GammaRamp -> Monitor.SetGammaRamp(2, 128, 128, 95)

Please test and report bugs.

Re: Class Monitor (Brightness, ColorTemperature)

Posted: 15 Jul 2020, 11:12
by hasantr
I have tested. It works fine on my 24 inch BENQ monitor. I wish there was a way to adjust the blue light filter in a coordinated way to brightness.