STRUCT: RAWINPUTHEADER { dwType DWORD } { dwSize DWORD } { hDevice HANDLE } { wParam WPARAM } ; STRUCT: RAWINPUT { header RAWINPUTHEADER } { data RAWINPUT_UNION } ; : RAWINPUT_ALIGN ( x -- y ) cpu x86.32 = [ 4 ] [ 8 ] if align ; inline : NEXTRAWINPUTBLOCK ( struct -- next-struct ) dup header>> dwSize>> swap RAWINPUT_ALIGN RAWINPUT memory>struct ; inline