/* SunOS Virtual User Input Device (VUID) compatibility */ typedef struct firm_event { unsigned short id; /* tag for this event */ unsigned char pair_type; /* unused by X11 */ unsigned char pair; /* unused by X11 */ int value; /* VKEY_UP, VKEY_DOWN or delta */ struct timeval time; } Firm_event; enum { FE_PAIR_NONE, FE_PAIR_SET, FE_PAIR_DELTA, FE_PAIR_ABSOLUTE }; /* VUID stream formats */ #define VUID_NATIVE 0 /* Native byte stream format */ #define VUID_FIRM_EVENT 1 /* send firm_event structures */ /* ioctls */ /* Set input device byte stream format (any of VUID_{NATIVE,FIRM_EVENT}) */ #define VUIDSFORMAT _IOW('v', 1, int) /* Retrieve input device byte stream format */ #define VUIDGFORMAT _IOR('v', 2, int) /* Possible tag values */ /* mouse buttons: */ #define MS_LEFT 0x7f20 #define MS_MIDDLE 0x7f21 #define MS_RIGHT 0x7f22 /* motion: */ #define LOC_X_DELTA 0x7f80 #define LOC_Y_DELTA 0x7f81 #define LOC_X_ABSOLUTE 0x7f82 /* X compat, unsupported */ #define LOC_Y_ABSOLUTE 0x7f83 /* X compat, unsupported */ #define VKEY_UP 0 #define VKEY_DOWN 1