Share via


BacklightAutobrightnessManualOverrideLut

BacklightAutobrightnessManualOverrideLut defines a lookup table that specifies lower and upper thresholds for applying a temporary manual override of keyboard backlight auto-brightness.

Values

BacklightAutobrightnessManualOverrideLut

Defines a lookup table that specifies lower and upper thresholds for applying a temporary manual override of keyboard backlight auto-brightness, expressed as a percentage of the current ambient light reading. This setting is designed to honor user preference while promoting energy efficiency of the keyboard backlight.

Manual Override Activation Conditions

Keyboard backlight auto-brightness uses a bucketized ambient light response curve which can be customized using the BacklightAutobrightnessBucketMapping value. A temporary auto-brightness "manual override" is activated when either the Keyboard Backlight Next Level button or Keyboard Backlight Previous Level button is pressed. It is a single, additional bucket applied on top of the bucketized curve, originating at the current ambient light reading, with minimum and maximum lux values generated a given distance above or below the current reading based on a percentage of that reading. The corresponding backlight brightness percentage for this override is supplied by the system, optionally based on suggested brightness levels from the keyboard hardware.

Manual Override Dismissal Conditions

Once activated, the manual override brightness percentage is used until either:

  • the ambient light reading crosses the bounds of the override bucket, at which point the override is cancelled, the override range is dismissed, and auto-brightness control resumes using the bucketized curve, or
  • another Next Level Previous Level button press is received, which adjusts the brightness percentage and recalculates the manual override range according to the latest current ambient light reading.

Parameters

The lookup table is a string of one or more 4-tuples separated by commas. Each 4-tuple is an entry in the lookup table written in the format "X:Y:A:B" where, for any ambient light reading R (measured in lux):

  • X and Y are a minimum ambient light level and maximum ambient light level, respectively, that uniquely identify the lookup table entry. These values are measured in lux and expressed as non-negative numeric values in either integer or decimal format. A given lookup table entry will be used for generating the manual override range if X ≤ R ≤ Y.
  • All 4-tuples in the string must be declared in ascending order and be defined contiguously (without overlapping) such that, for tuples "X1:Y1:A1:B1,...,Xn:Yn:An:Bn", the value of Yi must equal the value of Xi+1.
  • A is the percentage of the current ambient light reading that should be used to calculate the lower boundary of the manual override range if R falls within the range from X to Y. Since negative lux values are not supported, this value must be expressed as an integer or decimal value in the range from 0.0 to 1.0.
    If X ≤ R ≤ Y, the lower threshold of the override range will be calculated as R(1 - A). For example, given a lookup table entry "50:150:0.3:0.25", the lower threshold of a manual override initiated at R=100 would be 100(1 - 0.3) = 70 lux.
  • B is the percentage of the current ambient light reading that should be used to calculate the upper boundary of the manual override range if R falls within the range from X to Y. This value is expressed as a non-negative numeric value in either integer or decimal format.
    If X ≤ R ≤ Y, the upper threshold of the override range will be calculated as R(1 + B). For example, given a lookup table entry "50:150:0.3:0.25", the upper threshold of a manual override initiated at R=100 would be 100(1 + 0.25) = 125 lux.

An example of a valid string is as follows: "0:20:1.0:1.0,20:40:0.7:0.6,40:150:0.6:0.6,150:600:0.5:0.5,600:1000:0.4:0.4,1000:4000:0.3:0.25"

Example

The following is an explanation of how the manual override range would be calculated using the above string.

  • For readability, we will show the lookup table split into its individual entries as follows:
    {0:20:1.0:1.0} {20:40:0.7:0.6} {40:150:0.6:0.6} {150:600:0.5:0.5} {600:1000:0.4:0.4} {1000:4000:0.3:0.25}
  • Imagine the ambient light reading is 120 lux when the user presses the Next Level button. The corresponding lookup table entry is "40:150:0.6:0.6", because 120 lux falls between 40 and 150 lux.
  • The bucket will be created using a lower threshold of 60% below the current reading. With R=120 and A=0.6, the lower threshold is 120(1 - 0.6) = 48 lux. The upper threshold is also 60% above the current reading. Again, with R=120 and B=0.6, the upper threshold is 120(1 + 0.6) = 192 lux. So the manual override will apply for ambient light levels in the range of [48, 192].
  • Now imagine the ambient light reading rises to 160 lux before the user presses the Next Level button again. The new lookup table entry is "150:600:0.5:0.5".
  • The manual override range will be recalculated with R=160, A=0.5, and B=0.5. This results in a manual override range of [80, 240].
  • Finally, imagine the ambient light reading falls to 75 lux. This exceeds the manual override range. The override bucket is dismissed, and autobrightness resumes.

Remarks

At low ambient light levels, upper threshold values will be boosted to ensure a distance of at least 10 lux above the current reading. This prevents backlight fluctuations that may occur from entering and exiting the manual override rapidly due to small changes in ambient light readings.

Ambient light readings that fall below the minimum lux value of the lowest table entry will use the lowest table entry, and ambient light readings that exceed the maximum lux value of the highest table entry will use the highest table entry.

If the EnableBucketedBacklightAutobrightness value is set to 0, keyboard backlight auto-brightness is not used, and this value is ignored.

Parent Hierarchy

Microsoft-Windows-Devices-Lights-Configuration | BacklightAutobrightnessManualOverrideLut

Valid Configuration Passes

offlineServicing

specialize

Applies To

For a list of the Windows editions and architectures that this component supports, see Microsoft-Windows-Devices-Lights-Configuration.

HID Keyboard Backlight Level Suggestions