STRUCT INPUT_MT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ NAME πŸŽ€

okay so welcome to the struct input_mt(9) page bestie β€” this is the kernel API manual, and it's literally about the state of tracked contacts. multi-touch tracking, the whole vibe. no cap πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

struct input_mt {
    int trkid;
    int num_slots;
    int slot;
    unsigned int flags;
    unsigned int frame;
    int *red;
    struct input_mt_slot slots[];
 };

✨ Members ✨

okay so here's the whole cast, member by member, and yes they all ate πŸ‘‘

  • trkid β€” stores MT tracking ID for the next contact 🫢
  • num_slots β€” number of MT slots the device uses (so like, how many fingers it can handle at once, iconic)
  • slot β€” the MT slot currently being transmitted πŸ“‘
  • flags β€” input_mt operation flags
  • frame β€” increases every time input_mt_sync_frame is called (it just keeps going up, main character energy honestly)
  • red β€” reduced cost matrix for in-kernel tracking 🧠
  • slots β€” array of slots holding current values of tracked contacts 🌸

πŸ”₯ SEE ALSO πŸ”₯

go read these next, bestie, iykyk:

  • Kernel file ./include/linux/input/mt.h
  • struct input_mt_slot(9)
  • struct input_mt_pos(9)

and that's the whole page fr fr πŸ’– this one lives in ./include/linux/input, dated October 2026, and yes it's still struct input_mt(9) β€” slay, go track some contacts πŸ¦‹βœ¨

πŸ“¦ where this page comes from