Documentation error in xcb/xproto.h
The ButtonIndex information in https://gitlab.freedesktop.org/xorg/proto/xcbproto/-/blob/master/src/xproto.xml starting at line 2711 is incorrect. By experimentation, the actual button numbers provided in xcb_button_press_event::detail are:
1 Left button (correctly commented)
2 Center (wheel press) button (You have left)
3 Right button (You have center)
4 Scroll wheel (Direction: Push or Away, you have ?)
5 Scroll wheel (Direction: Pull or Toward, you have ?)
6 (I don't know either)
7 (I don't know either)
8 Scroll wheel left (You don't specify) You get this by pushing the scroll wheel to the left.
9 Scroll wheel right (You don't specify) Pushing the wheel to the right get this.
You define the buttons by number with comments rather than directly by function. I suggest renaming them to XCB_BUTTON_INDEX_{LEFT|CENTER|RIGHT} and XCB_WHEEL_INDEX_{LEFT|CENTER|RIGHT|PUSH|PULL}, although you might prefer XCB_BUTTON_INDEX_WHEEL_{...}. The names push and pull describes how the fingers act using the wheel, pushing it away from or pulling it toward yourself. You might also want to move these values closer to and document them as the xcb_button_press_event detail field.