The space_mouse module was Windows-only (hidapi). On Linux it now finds the multi-axis HID interface through /sys/class/hidraw and reads /dev/hidrawN with plain std I/O, so there is no new dependency and no libudev needed. A small report descriptor parser tells devices apart: a top-level Multi-Axis Controller collection marks the 3D mouse, and report 1 declaring all six axes selects the combined layout (X Y Z Rx Ry Rz in one report) that some homemade devices use. Real split devices (report 1 translation, report 2 rotation) keep their existing decoding. Windows reads the descriptor through hidapi and falls back to the split layout if it is unavailable. Co-authored-by: jochenhammes <[email protected]> Co-authored-by: Claude Sonnet 5.5 <[email protected]>