This has been around forever and solves almost every problem in regards to standardizing mouse event buttons. Either it needs some more discussion or needs to be implemented. Especially with the pointer lock specification being put through so quickly having a standard mouse button interface will be important and "buttons" does just that. It's the IE bitflags such that each button on the mouse (defined for 1-5 buttons currently) has a unique bit flag.
Here's an example that complies with the DOM 3 events http://sirisian.com/javascript/dom3buttons.html source: <!doctype html> <html lang="en"> <head> <title>Dom 3 Buttons</title> <script type="text/javascript"> "use strict"; window.onload = function() { window.addEventListener("mousedown", function(e) { e.preventDefault(); console.log(e.buttons); }, false); window.addEventListener("mouseup", function(e) { e.preventDefault(); console.log(e.buttons); }, false); } </script> </head> <body> </body> </html> The information for implementing it is in the spec: http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-MouseEvent-buttons Currently it's undefined in webkit.
*** This bug has been marked as a duplicate of bug 178214 ***