NB_MOUSE_MASK
#define BUTTON2_RELEASED NB_MOUSE_MASK(2, NB_BUTTON_RELEASED)
#define BUTTON2_PRESSED NB_MOUSE_MASK(2, NB_BUTTON_PRESSED)
#define BUTTON2_CLICKED NB_MOUSE_MASK(2, NB_BUTTON_CLICKED)
#define BUTTON2_DOUBLE_CLICKED NB_MOUSE_MASK(2, NB_DOUBLE_CLICKED)
#define BUTTON2_TRIPLE_CLICKED NB_MOUSE_MASK(2, NB_TRIPLE_CLICKED)
#define BUTTON3_RELEASED NB_MOUSE_MASK(3, NB_BUTTON_RELEASED)
#define BUTTON3_PRESSED NB_MOUSE_MASK(3, NB_BUTTON_PRESSED)
#define BUTTON3_CLICKED NB_MOUSE_MASK(3, NB_BUTTON_CLICKED)
#define BUTTON3_DOUBLE_CLICKED NB_MOUSE_MASK(3, NB_DOUBLE_CLICKED)
#define BUTTON3_TRIPLE_CLICKED NB_MOUSE_MASK(3, NB_TRIPLE_CLICKED)
#define BUTTON4_RELEASED NB_MOUSE_MASK(4, NB_BUTTON_RELEASED)
#define BUTTON4_PRESSED NB_MOUSE_MASK(4, NB_BUTTON_PRESSED)
#define BUTTON4_CLICKED NB_MOUSE_MASK(4, NB_BUTTON_CLICKED)
#define BUTTON4_DOUBLE_CLICKED NB_MOUSE_MASK(4, NB_DOUBLE_CLICKED)
#define BUTTON4_TRIPLE_CLICKED NB_MOUSE_MASK(4, NB_TRIPLE_CLICKED)
#define BUTTON5_RELEASED NB_MOUSE_MASK(5, NB_BUTTON_RELEASED)
#define BUTTON5_PRESSED NB_MOUSE_MASK(5, NB_BUTTON_PRESSED)
#define BUTTON5_CLICKED NB_MOUSE_MASK(5, NB_BUTTON_CLICKED)
#define BUTTON5_DOUBLE_CLICKED NB_MOUSE_MASK(5, NB_DOUBLE_CLICKED)
#define BUTTON5_TRIPLE_CLICKED NB_MOUSE_MASK(5, NB_TRIPLE_CLICKED)
#define BUTTON_CTRL NB_MOUSE_MASK(6, 0001L)
#define BUTTON_SHIFT NB_MOUSE_MASK(6, 0002L)
#define BUTTON_ALT NB_MOUSE_MASK(6, 0004L)
#define REPORT_MOUSE_POSITION NB_MOUSE_MASK(6, 0010L)
#define BUTTON_RELEASE(e, x) ((e) & NB_MOUSE_MASK(x, 001))
#define BUTTON_PRESS(e, x) ((e) & NB_MOUSE_MASK(x, 002))
#define BUTTON_CLICK(e, x) ((e) & NB_MOUSE_MASK(x, 004))
#define BUTTON_DOUBLE_CLICK(e, x) ((e) & NB_MOUSE_MASK(x, 010))
#define BUTTON_TRIPLE_CLICK(e, x) ((e) & NB_MOUSE_MASK(x, 020))
#define BUTTON_RESERVED_EVENT(e, x) ((e) & NB_MOUSE_MASK(x, 040))
#define BUTTON1_RELEASED NB_MOUSE_MASK(1, NB_BUTTON_RELEASED)
#define BUTTON1_PRESSED NB_MOUSE_MASK(1, NB_BUTTON_PRESSED)
#define BUTTON1_CLICKED NB_MOUSE_MASK(1, NB_BUTTON_CLICKED)
#define BUTTON1_DOUBLE_CLICKED NB_MOUSE_MASK(1, NB_DOUBLE_CLICKED)
#define BUTTON1_TRIPLE_CLICKED NB_MOUSE_MASK(1, NB_TRIPLE_CLICKED)