With edits by Campbell, thanks! Looks like in some cases (driver dependent?), `XDeviceMotionEvent` get generated with only part of expected data (e.g. only x coordinate, only pressure, etc.), data which did not change since last event being NULL. We know which data to actually handle with `XDeviceMotionEvent.first_axis` and `XDeviceMotionEvent.axes_count` values. Reviewed by: campbellbarton Differential Revision: https://developer.blender.org/D208