1/* SunOS Virtual User Input Device (VUID) compatibility */ 2 3 4typedef struct firm_event { 5 unsigned short id; /* tag for this event */ 6 unsigned char pair_type; /* unused by X11 */ 7 unsigned char pair; /* unused by X11 */ 8 int value; /* VKEY_UP, VKEY_DOWN or delta */ 9 struct timeval time; 10} Firm_event; 11 12enum { 13 FE_PAIR_NONE, 14 FE_PAIR_SET, 15 FE_PAIR_DELTA, 16 FE_PAIR_ABSOLUTE 17}; 18 19/* VUID stream formats */ 20#define VUID_NATIVE 0 /* Native byte stream format */ 21#define VUID_FIRM_EVENT 1 /* send firm_event structures */ 22 23/* ioctls */ 24 /* Set input device byte stream format (any of VUID_{NATIVE,FIRM_EVENT}) */ 25#define VUIDSFORMAT _IOW('v', 1, int) 26 /* Retrieve input device byte stream format */ 27#define VUIDGFORMAT _IOR('v', 2, int) 28 29/* Possible tag values */ 30/* mouse buttons: */ 31#define MS_LEFT 0x7f20 32#define MS_MIDDLE 0x7f21 33#define MS_RIGHT 0x7f22 34/* motion: */ 35#define LOC_X_DELTA 0x7f80 36#define LOC_Y_DELTA 0x7f81 37#define LOC_X_ABSOLUTE 0x7f82 /* X compat, unsupported */ 38#define LOC_Y_ABSOLUTE 0x7f83 /* X compat, unsupported */ 39 40#define VKEY_UP 0 41#define VKEY_DOWN 1 42