#pragma once #include namespace moon { enum MouseButton { Left = (1 << 0), Middle = (1 << 1), Right = (1 << 2), }; struct [[gnu::packed]] MousePacket { i16 xdelta; i16 ydelta; u8 buttons; u8 _padding[3]; }; static_assert(sizeof(MousePacket) == 8); }