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