STRUCT TOUCHPAD_INFO_PROTOCOL(9)
π struct touchpad_info_protocol(9) β the kernel API manual, bestie edition
okay so welcome to section 9 of the Kernel API Manual, and today's main character is struct touchpad_info_protocol π this is literally the touchpad info response β like, the reply you get back when you ask a touchpad "hey bestie who are you". and it comes with receipts: message.type = 0x1020 and message.length = 0x006e. no cap, those exact numbers, memorize them π
β¨ SYNOPSIS β¨
here's the whole glow-up, verbatim, don't @ me:
struct touchpad_info_protocol {
u8 unknown1[105];
u8 model_flags;
u8 model_no;
u8 unknown2[3];
__le16 crc16;
};
it's giving "mostly vibes, a little data" and honestly? iconic π¦
πΈ MEMBERS πΈ
unknown1β unknown π yeah that's it. that's the whole description. 105 bytes of beautiful mystery, we simply don't know, and that's okay.model_flagsβ the flags, which vary by model number, but whose significance is otherwise unknown π so like, they exist, they do something, but the meaning is a mystery bestie. we love an enigmatic king.model_noβ the touchpad model number π this one actually tells you something, slay.unknown2β unknown again π three more bytes of "we don't know her". not me pointing at unlabeled bytes like "she's mysterious".crc16β the crc over the whole message struct, and by whole we meanmessage header + this struct, minus thiscrc16field itself. so it checks everything except itself, which is lowkey the most relatable thing in this entire struct. check your friends, not yourself β¨
π¦ SEE ALSO π¦
go read these next, fr fr, they're all in the Kernel file ./drivers/input/keyboard/applespi.c:
struct keyboard_protocol(9)struct tp_finger(9)struct touchpad_protocol(9)struct command_protocol_tp_info(9)struct command_protocol_mt_init(9)struct command_protocol_capsl(9)struct command_protocol_bl(9)struct message(9)struct spi_packet(9)
a whole friend group honestly, they all hang out together π
ngl the theme here is "we documented the layout and left the semantics as an exercise for the reader" β that's not a bug, that's just what the original says, and we respect it π«Ά
okay that's the page!! π brought to you from ./drivers/input/keyboard, dated October 2026, and yes the header and footer both still say struct touc...nfo_protocol(9) because truncation is camp actually β¨ bye bestie, go read your structs π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms