On Wed, Aug 07, 2013 at 10:36:08AM +0000, Matthew Garrett wrote:
Not really. The ACPI driver is able to do this because the events and the backlight are associated with the same device.
Well, it doesn't work at least in my case.
I need to echo stuff into /sys/class/backlight/intel_backlight :(
We could potentially make something work with GPU backlight drivers since their PCI device should also be associated with the backlight device, but things get complicated quickly - once ddcci support is hooked up you'll also have kernel backlight devices for some external monitors, and now you need to make a policy decision about which display should be controlled in response to the keypress. One reasonable choice would be whichever display contains the currently focused window, which is obviously out of scope for the kernel.
So if we're going to do this then we need a generalised mechanism in-kernel for connecting input devices to backlight devices, and we need a mechanism for disabling it when userspace knows better. This sounds like a lot of work for something that should really just be handled by userspace already.
That's easy: single-monitor setups have it enabled by default. So every laptop out there will just work, without any userspace intervention.
More complicated situations are presented with the opportunity to disable the kernel-side control and do it themselves.