STATEP
switch (STATEP->state) {
STATEP->deltax = STATEP->deltay = 0;
STATEP->buttons = code & 0x30;
if (STATEP->buttons != STATEP->oldbuttons) {
STATEP->oldbuttons = STATEP->buttons;
STATEP->deltax = (signed char)((code & 0x03) << 6);
STATEP->deltay = (signed char)((code & 0x0c) << 4);
STATEP->state = MOUSE_BUTTON;
STATEP->state = MOUSE_START;
STATEP->deltax |= code & 0x3f;
STATEP->state = MOUSE_DELTA_X;
STATEP->state = MOUSE_START;
STATEP->deltay |= code & 0x3f;
if (STATEP->deltax)
STATEP->deltax);
if (STATEP->deltay)
-STATEP->deltay);
STATEP->deltax = STATEP->deltay = 0;
STATEP->nbuttons = 2;
if ((STATEP->buttons == 0x30) && (!STATEP->oldbuttons)) {
} else if ((!STATEP->buttons) && (STATEP->oldbuttons == 0x30)) {
if ((STATEP->buttons & mask) != (STATEP->oldbuttons & mask))
(STATEP->buttons & mask ? 1 : 0));
STATEP->state = MOUSE_START;
switch (STATEP->state) {
STATEP->deltax = STATEP->deltay = 0;
STATEP->buttons = 0;
STATEP->buttons |=
STATEP->deltax = (signed char)((code & 0x03) << 6);
STATEP->deltay = (signed char)((code & 0x0c) << 4);
STATEP->state = MOUSE_BUTTON;
STATEP->deltax |= code & 0x3f;
STATEP->state = MOUSE_DELTA_X;
STATEP->deltay |= code & 0x3f;
STATEP->state = MOUSE_DELTA_Y;
STATEP->buttons |=
(STATEP->oldbuttons & MOUSE_BUTTON_M);
STATEP->state = MOUSE_START;
if (STATEP->buttons != STATEP->oldbuttons) {
STATEP->oldbuttons = STATEP->buttons;
if (STATEP->deltax)
(uchar_t)LOC_X_ABSOLUTE, STATEP->deltax);
if (STATEP->deltay)
(uchar_t)LOC_Y_ABSOLUTE, -STATEP->deltay);
STATEP->deltax = STATEP->deltay = 0;
STATEP->state = MOUSE_START;
STATEP->buttons |= MOUSE_BUTTON_M;
STATEP->buttons &= ~MOUSE_BUTTON_M;
if (STATEP->oldbuttons != STATEP->buttons) {
((STATEP->buttons & MOUSE_BUTTON_M) ?
STATEP->oldbuttons = STATEP->buttons;
STATEP->nbuttons = 0; /* Don't know. */
if ((STATEP->buttons & mask) != (STATEP->oldbuttons & mask))
((STATEP->buttons & mask) ? 1 : 0));
STATEP->state = LOGI_BUTTON;
STATEP->deltax = STATEP->deltay = 0;
STATEP->buttons = (~code) & LOGI_BMASK;
STATEP->state = LOGI_START;
STATEP->deltax += (signed char)code;
STATEP->state = LOGI_DELTA_X1;
STATEP->state = LOGI_START;
STATEP->deltay += (signed char)code;
STATEP->state = LOGI_DELTA_Y1;
STATEP->state = LOGI_START;
STATEP->deltax += (signed char)code;
STATEP->state = LOGI_DELTA_X2;
STATEP->state = LOGI_START;
STATEP->deltay += (signed char)code;
STATEP->state = LOGI_START;
if (STATEP->deltax)
(uchar_t)LOC_X_ABSOLUTE, STATEP->deltax);
if (STATEP->deltay)
(uchar_t)LOC_Y_ABSOLUTE, STATEP->deltay);
STATEP->deltax = STATEP->deltay = 0;
if (STATEP->buttons != STATEP->oldbuttons) {
STATEP->oldbuttons = STATEP->buttons;
STATEP->nbuttons = 0; /* Don't know. */
if ((STATEP->buttons&mask) != (STATEP->oldbuttons&mask))
(STATEP->buttons & mask ? 1 : 0));
switch (STATEP->state) {
STATEP->format = VUID_NATIVE;
if ((int)STATEP->format == VUID_FIRM_EVENT)
if ((int)STATEP->format == VUID_FIRM_EVENT)
STATEP->format = (uchar_t)format_type;
(int)STATEP->format;
if (STATEP->nbuttons == 0) {
(int)STATEP->nbuttons;
STATEP->vuid_mouse_mode;
STATEP->vuid_mouse_mode;
(STATEP->wheel_state_bf >> ws->id) & 1;
STATEP->wheel_state_bf = (ws->stateflags << ws->id) |
(STATEP->wheel_state_bf & ~(1 << ws->id));
STATEP->state = PS2_START;
if (STATEP->init_tid != 0)
(void) quntimeout(qp, STATEP->init_tid);
STATEP->init_tid = qtimeout(qp, VUID_INIT_TIMEOUT,
(void) quntimeout(qp, STATEP->init_tid);
STATEP->init_tid = 0;
for (b = 0; b < STATEP->nbuttons; b++) {
if ((STATEP->buttons & mask) != (STATEP->oldbuttons & mask))
(STATEP->buttons & mask ? 1 : 0));
if (STATEP->inited & PS2_FLAG_NO_EXTN) {
STATEP->state = PS2_WAIT_SETRES3_ACK1;
STATEP->state = PS2_WAIT_WHEEL_SMPL1_CMD_ACK;
STATEP->format = VUID_FIRM_EVENT;
STATEP->vuid_mouse_mode = MOUSE_MODE_PLAIN;
STATEP->inited = 0;
STATEP->nbuttons = 3;
STATEP->state = PS2_WAIT_RESET_COMPLETE;
while ((STATEP->state != PS2_START) &&
!(STATEP->inited & PS2_FLAG_INIT_TIMEOUT)) {
STATEP->init_count = 0;
if (STATEP->init_tid != 0)
STATEP->init_tid = 0;
if ((STATEP->state == PS2_WAIT_WHEEL_SMPL1_CMD_ACK) ||
(STATEP->state == PS2_WAIT_WHEEL_SMPL1_RATE_ACK) ||
(STATEP->state == PS2_WAIT_WHEEL_SMPL2_RATE_ACK) ||
(STATEP->state == PS2_WAIT_WHEEL_SMPL3_RATE_ACK)) {
STATEP->inited |= PS2_FLAG_NO_EXTN;
if (STATEP->state >= PS2_WAIT_STATREQ_ACK &&
STATEP->state <= PS2_WAIT_STATUS_REV) {
STATEP->nbuttons = 3;
STATEP->nbuttons = 2;
if (++STATEP->init_count >= PS2_MAX_INIT_COUNT) {
STATEP->inited |= PS2_FLAG_INIT_TIMEOUT;
STATEP->state = PS2_WAIT_FOR_AA;
STATEP->state = PS2_WAIT_RESET_COMPLETE;
elapsed = now - STATEP->last_event_lbolt;
STATEP->last_event_lbolt = now;
switch (STATEP->state) {
if (!(STATEP->inited & PS2_FLAG_INIT_DONE)) {
STATEP->sync_byte = code & 0x8;
STATEP->inited |= PS2_FLAG_INIT_DONE;
if ((code ^ STATEP->sync_byte) & 0x08) {
STATEP->state = PS2_START;
STATEP->buttons = code & PS2_BUTTONMASK;
if (STATEP->buttons != STATEP->oldbuttons) {
STATEP->oldbuttons = STATEP->buttons;
STATEP->deltay = -1 & ~0xff;
STATEP->deltay = 0;
STATEP->deltax = -1 & ~0xff;
STATEP->deltax = 0;
STATEP->state = PS2_MAYBE_REATTACH;
STATEP->state = PS2_BUTTON;
STATEP->inited &= ~PS2_FLAG_INIT_TIMEOUT;
STATEP->init_count = 0;
STATEP->state = PS2_WAIT_RESET_COMPLETE;
STATEP->state = PS2_WAIT_FOR_00;
STATEP->inited &= ~PS2_FLAG_INIT_TIMEOUT;
STATEP->init_count = 0;
STATEP->state = PS2_WAIT_RESET_COMPLETE;
STATEP->state = PS2_WAIT_RESET_COMPLETE;
STATEP->deltax |= code & 0xff;
STATEP->state = PS2_DELTA_Y;
STATEP->deltay |= code & 0xff;
if (STATEP->vuid_mouse_mode == MOUSE_MODE_WHEEL) {
STATEP->state = PS2_WHEEL_DELTA_Z;
} else if (STATEP->vuid_mouse_mode ==
STATEP->state = PS2_WHEEL5_DELTA_Z;
if (STATEP->wheel_state_bf & (1 <<
if (STATEP->wheel_state_bf &
STATEP->state = PS2_START;
((mp->b_rptr[0] ^ STATEP->sync_byte) & 0x08)) {
if (STATEP->deltax)
STATEP->deltax);
if (STATEP->deltay)
STATEP->deltay);
STATEP->deltax = STATEP->deltay = 0;
if (++STATEP->init_count >=
STATEP->inited |= PS2_FLAG_INIT_TIMEOUT;
STATEP->state = PS2_WAIT_FOR_AA;
STATEP->state = PS2_WAIT_SETRES0_ACK1;
STATEP->state = PS2_WAIT_SETRES0_ACK2;
STATEP->state++;
STATEP->state = PS2_WAIT_STATREQ_ACK;
STATEP->state = PS2_WAIT_STATUS_1;
STATEP->state = PS2_WAIT_STATUS_BUTTONS;
STATEP->nbuttons = (uchar_t)code;
STATEP->state = (uchar_t)PS2_WAIT_STATUS_REV;
STATEP->nbuttons = 3;
STATEP->nbuttons = 2;
STATEP->state = PS2_WAIT_STATUS_3;
STATEP->state = PS2_WAIT_WHEEL_SMPL1_RATE_ACK;
STATEP->state = PS2_WAIT_WHEEL_SMPL2_CMD_ACK;
STATEP->state = PS2_WAIT_WHEEL_SMPL2_RATE_ACK;
STATEP->state = PS2_WAIT_WHEEL_SMPL3_CMD_ACK;
STATEP->state = PS2_WAIT_WHEEL_SMPL3_RATE_ACK;
STATEP->state = PS2_WAIT_WHEEL_DEV_CMD;
STATEP->state = PS2_WAIT_WHEEL_DEV_ACK;
STATEP->state = PS2_WAIT_SETRES3_ACK1;
STATEP->vuid_mouse_mode = MOUSE_MODE_WHEEL;
STATEP->wheel_state_bf |= VUID_WHEEL_STATE_ENABLED;
STATEP->state = PS2_WAIT_WHEEL5_SMPL1_CMD_ACK;
STATEP->state = PS2_WAIT_WHEEL5_SMPL1_RATE_ACK;
STATEP->state = PS2_WAIT_WHEEL5_SMPL2_CMD_ACK;
STATEP->state = PS2_WAIT_WHEEL5_SMPL2_RATE_ACK;
STATEP->state = PS2_WAIT_WHEEL5_SMPL3_CMD_ACK;
STATEP->state = PS2_WAIT_WHEEL5_SMPL3_RATE_ACK;
STATEP->state = PS2_WAIT_WHEEL5_DEV_CMD;
STATEP->state = PS2_WAIT_WHEEL5_DEV_ACK;
STATEP->vuid_mouse_mode = MOUSE_MODE_WHEEL5;
STATEP->nbuttons = 5;
STATEP->wheel_state_bf |=
STATEP->state = PS2_WAIT_SETRES3_ACK1;
STATEP->state = PS2_WAIT_SETRES3_ACK2;
STATEP->state = PS2_WAIT_STREAM_ACK;
STATEP->state = PS2_WAIT_ON_ACK;
STATEP->init_count = 0;