What is the difference between button and buttons in PointerEvent?
button is a single number describing which button triggered that specific event, useful right at the moment of the click; buttons is a bitmask that adds up every button currently pressed, so it is what tells you about combinations, like the left and right buttons held down together.
Can this test measure my mouse DPI?
Not directly: PointerEvent delivers coordinates in CSS pixels on screen, already converted by the driver and the operating system, so this page shows position, button and pressure, but it cannot isolate the raw counts per inch coming from the physical sensor.
Why does the pressure field show 0.5 even when I am not pressing hard?
Because most mice have no physical pressure sensor, so the browser fills pressure with 0.5 while a button is held down and 0 when no button is pressed, a fixed default rather than an actual force measurement.
Why does my mouse polling rate not match what I see on screen?
Because the hardware may sample at 500 Hz or 1000 Hz, but the screen typically repaints at around 60 Hz; the browser delivers one event per visible frame and keeps the extra points available through getCoalescedEvents(), which this page can also expose.