#include "lx.h" #include "proto.h" #include "internal.h" void lx_ChangePointerControl(LX_CONN *xc, const LX_POINTERCONTROL *pc) { unsigned char req[12]; if ( (xc->flags & XCF_FAIL) || ( (pc->flags & LX_POINTERCONTROL_ACCEL) && ( (pc->numerator < -32768) || (pc->numerator > 32767) || (pc->denominator < -32768) || (pc->denominator > 32767) ) ) || ( (pc->flags & LX_POINTERCONTROL_THRESH) && ((pc->threshold < -32768) || (pc->threshold > 32767)) ) ) { lx__bad_call(xc,"lx_ChangePointerControl"); return; } req[0] = XP_REQ_ChangePointerControl; req[1] = 0; w_card16(&req[2],3); w_int16(&req[4],(pc->flags&LX_POINTERCONTROL_ACCEL)?pc->numerator:0); w_int16(&req[6],(pc->flags&LX_POINTERCONTROL_ACCEL)?pc->denominator:0); w_int16(&req[8],(pc->flags&LX_POINTERCONTROL_THRESH)?pc->threshold:0); req[10] = (pc->flags & LX_POINTERCONTROL_ACCEL) ? 1 : 0; req[11] = (pc->flags & LX_POINTERCONTROL_THRESH) ? 1 : 0; lx__send_req(xc,&req[0],-1); }