STRUCT WILCO_KEYBOARD_LEDS_MSG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct wilco_keyboard_leds_msg(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual ✨ today we're looking at struct wilco_keyboard_leds_msg and honestly? it's giving "little struct that could" πŸŽ€


🌸 NAME 🌸

struct wilco_keyboard_leds_msg β€” the message that goes to (and comes back from) the EC for controlling your keyboard LEDs πŸ’‘βœ¨ literally the little note you pass the embedded controller so your keyboard can glow.


✨ SYNOPSIS ✨

struct wilco_keyboard_leds_msg {
    u8 command;
    u8 status;
    u8 subcmd;
    u8 reserved3;
    u8 mode;
    u8 reserved5to8[4];
    u8 percent;
    u8 reserved10to15[6];
 };

no cap, that's the whole shape of it 🫢


πŸ¦‹ Members πŸ¦‹

let me walk you through every single field, because we do NOT skip members in this house πŸ’…

  • command β€” always WILCO_EC_COMMAND_KBBL. like, always. every time. don't be creative with it πŸ™ˆ
  • status β€” the EC sets this one for you: 0 on success, 0xFF on failure. so when it says 0xFF it's lowkey telling you something went wrong 😭
  • subcmd β€” one of enum wilco_kbbl_subcommand. pick from the menu, bestie πŸ“
  • reserved3 β€” should be 0. that's it. that's the whole job πŸŽ€
  • mode β€” bit flags for the used mode, and we want to use WILCO_KBBL_MODE_FLAG_PWM. that's the vibe we're going for πŸ’«
  • reserved5to8 β€” should be 0. four whole bytes of "please leave me alone" 🌸
  • percent β€” brightness in 0-100. only meaningful in PWM mode, so don't come at it expecting magic in other modes ⚑
  • reserved10to15 β€” should be 0. six bytes of pure "nothing to see here" energy πŸ’œ
omg quick vibe check: those reserved* fields are not optional decoration β€” the manpage says should be 0, so zero them out, okay? πŸ”₯

πŸ‘‘ SEE ALSO πŸ‘‘

  • Kernel file ./drivers/platform/chrome/wilco_ec/keyboard_leds.c πŸ“
  • kbbl_init(9) 🧚

and that's the tea β˜• bestie, go make those LEDs behave πŸ’–

sign-off szn: this page came from ./drivers/platform/chrome/wilc... and the date on it is October 2026, filed under struct wilco...ard_leds_msg(9) β€” so like, screenshot it before the header truncates even harder 😭🫢 slay, bye! πŸ’…βœ¨

πŸ“¦ where this page comes from