I believe that the difficulty of controlling external monitor brightness is a significant factor in almost all people running external displays too bright (often much too bright). Because the standard software that comes out of the box doesn’t let you adjust the brightness of external monitors in any operating system I know of, and adjusting brightness by pressing buttons on the monitor’s on-screen display is invariably a pain.
Windows has two completely different APIs for adjusting screen brightness: one seems to only work on internal displays, the other seems to only work on external displays. I say “seems to” because they don’t document these facts, this is just what I observe by fiddling with the APIs. And only the first one is exposed anywhere in the UI: in Settings → System → Display (where you change the screen resolution and such) it lets you change the brightness of an internal display, but says something like “you can’t adjust the brightness of this device” for external monitors.
Laptop brightness keys (what Linux calls XF86BrightnessUp and XF86BrightnessDown) can’t be remapped by any means I know of. I don’t know of any way of being notified when the internal display brightness changes, either. I think you can poll the value, though it’s three years since I prodded this stuff and my memory is vague. Even so, it’d always be a delayed reaction. Kinda wish I were back on my last laptop where I used Arch Linux + i3 and handled XF86Brightness{Up,Down} myself.
(That brings me to my second major annoyance about built-in monitor brightness control software: stepping by a linear 10% the whole way is stupid; something like a logarithmic scale is much more sensible. The difference between 1% and 10% is at least as important in low lighting as the difference between 10% and 50%. I wrapped xbacklight to make it logarithmic on Arch, but I can’t do that on Windows, where the keys just jump by 10%. Similar deal with phone brightness, the difference two millimetres makes at the left end of the scale is more than the whole right hand half of the scale. Who on earth thought linear brightness was the right thing? Do they know nothing about human perception of brightness? Why is this obviously-badly-wrong practice universally adopted?)
What would be rather nice would be the ability to calibrate internal and external displays to match, so that the brightness of connected external displays could match my internal monitor immediately, following my chosen curve.
As it is, I use ScreenBright and script it so I can do both my external displays at once. (Now, I could reimplement the needed functionality from the relevant API in a short time, but ScreenBright does the job so I don’t bother.) I tend to type `b 20` in the mornings, sometimes `b 40` in the afternoons, and `b 0` in the evening. Seldom do I want to go past 40%. As I said, most people run their external monitors too bright, often much too bright.
Windows has two completely different APIs for adjusting screen brightness: one seems to only work on internal displays, the other seems to only work on external displays. I say “seems to” because they don’t document these facts, this is just what I observe by fiddling with the APIs. And only the first one is exposed anywhere in the UI: in Settings → System → Display (where you change the screen resolution and such) it lets you change the brightness of an internal display, but says something like “you can’t adjust the brightness of this device” for external monitors.
Laptop brightness keys (what Linux calls XF86BrightnessUp and XF86BrightnessDown) can’t be remapped by any means I know of. I don’t know of any way of being notified when the internal display brightness changes, either. I think you can poll the value, though it’s three years since I prodded this stuff and my memory is vague. Even so, it’d always be a delayed reaction. Kinda wish I were back on my last laptop where I used Arch Linux + i3 and handled XF86Brightness{Up,Down} myself.
(That brings me to my second major annoyance about built-in monitor brightness control software: stepping by a linear 10% the whole way is stupid; something like a logarithmic scale is much more sensible. The difference between 1% and 10% is at least as important in low lighting as the difference between 10% and 50%. I wrapped xbacklight to make it logarithmic on Arch, but I can’t do that on Windows, where the keys just jump by 10%. Similar deal with phone brightness, the difference two millimetres makes at the left end of the scale is more than the whole right hand half of the scale. Who on earth thought linear brightness was the right thing? Do they know nothing about human perception of brightness? Why is this obviously-badly-wrong practice universally adopted?)
What would be rather nice would be the ability to calibrate internal and external displays to match, so that the brightness of connected external displays could match my internal monitor immediately, following my chosen curve.
As it is, I use ScreenBright and script it so I can do both my external displays at once. (Now, I could reimplement the needed functionality from the relevant API in a short time, but ScreenBright does the job so I don’t bother.) I tend to type `b 20` in the mornings, sometimes `b 40` in the afternoons, and `b 0` in the evening. Seldom do I want to go past 40%. As I said, most people run their external monitors too bright, often much too bright.