On Wed, Jul 15, 2015 at 12:21:02PM -0400, Adam Van Ymeren wrote: > > > On 15 July 2015 12:18:16 GMT-04:00, Paul Irofti <p...@irofti.net> wrote: > >> After a cold boot the output is as follows. > >> > >> 1) Pressing brightness up > >> > >> acpithinkpad0: handling event 0x1011 > >> acpithinkpad0: handling event 0x000 > >> > >> 2) Pressing brightess down > >> > >> acpithinkpad0: handling event 0x1011 > >> acpithinkpad0: handling event 0x000 > >> > >> > >> Then I suspend zzz, and resume and the output changes slightly to. > >> > >> 1) Pressing brightness up > >> > >> acpithinkpad0: handling event 0x1010 > >> acpithinkpad0: handling event 0x000 > >> > >> 2) Pressing brightness down > >> > >> acpithinkpad0: handling event 0x1011 > >> acpithinkpad0: handling event 0x000 > >> > >> For some reason pressing the brightness up command gives the > >brightness > >> down event, but doesn't actually change the brightness until a > >> suspend/resume cycle is done. > > > >Interesting, so the brightness does not change even if you press > >brightness down. Right? > > Right. Not until I've done a suspend resume cycle does the brightness change > in any direction. Which is really bizarre. > > Could this maybe be a BIOS/firmware issue? I will try updating my BIOS if > there is a newer version available.
Sure, you can try updating the BIOS. Another question: what is the display.brightness value on cold boot? # wsconsctl display.brightness Can you also tell me what happens when you press the brightness down button on cold boot with this diff? Index: acpithinkpad.c =================================================================== RCS file: /cvs/src/sys/dev/acpi/acpithinkpad.c,v retrieving revision 1.44 diff -u -p -r1.44 acpithinkpad.c --- acpithinkpad.c 24 Apr 2015 14:44:17 -0000 1.44 +++ acpithinkpad.c 15 Jul 2015 17:15:02 -0000 @@ -304,6 +304,8 @@ thinkpad_hotkey(struct aml_node *node, i if (aml_evalinteger(sc->sc_acpi, sc->sc_devnode, "MHKP", 0, NULL, &event)) break; + printf("%s: handling event 0x%03llx\n", + DEVNAME(sc), event); if (event == 0) break; @@ -313,6 +315,8 @@ thinkpad_hotkey(struct aml_node *node, i handled = 1; break; case THINKPAD_BUTTON_BRIGHTNESS_DOWN: + thinkpad_brightness_down(sc); + thinkpad_brightness_down(sc); thinkpad_brightness_down(sc); handled = 1; break;