X Window (at the very least) allows buttons to be remapped. Button #1 is typically the left mouse button, but a user may remap them (eg. left-handed people with a strong preference for using the mouse in their left hand). "left" and "right" buttons normally have a semantic meaning (e.g. "the button normally used for clicking on things" vs "the button used for context menus etc.") and you cannot hard code these on X Window. More precisely, if you do hard code them, you disenfranchise a set of users who remap their mouse buttons.