Lines Matching defs:data
38 * applies some prediction to the data, resulting in 96 updates per
42 static void sermouse_process_msc(struct sermouse *sermouse, signed char data)
50 if ((data & 0xf8) != 0x80)
52 input_report_key(dev, BTN_LEFT, !(data & 4));
53 input_report_key(dev, BTN_RIGHT, !(data & 1));
54 input_report_key(dev, BTN_MIDDLE, !(data & 2));
59 input_report_rel(dev, REL_X, data / 2);
61 buf[0] = data - data / 2;
67 input_report_rel(dev, REL_Y, buf[1] - data);
68 buf[1] = data / 2;
84 static void sermouse_process_ms(struct sermouse *sermouse, signed char data)
89 if (data & 0x40)
97 buf[1] = data;
98 input_report_key(dev, BTN_LEFT, (data >> 5) & 1);
99 input_report_key(dev, BTN_RIGHT, (data >> 4) & 1);
103 buf[2] = data;
104 data = (signed char) (((buf[1] << 6) & 0xc0) | (data & 0x3f));
105 input_report_rel(dev, REL_X, data / 2);
107 buf[3] = data - data / 2;
112 if ((sermouse->type == SERIO_MS) && !data && !buf[2] && !((buf[0] & 0xf0) ^ buf[1]))
116 data = (signed char) (((buf[1] << 4) & 0xc0) | (data & 0x3f));
118 input_report_rel(dev, REL_Y, data - buf[4]);
119 buf[4] = data / 2;
131 if ((data >> 2) & 3) break; /* M++ Wireless Extension packet. */
132 input_report_key(dev, BTN_MIDDLE, (data >> 5) & 1);
133 input_report_key(dev, BTN_SIDE, (data >> 4) & 1);
138 input_report_key(dev, BTN_SIDE, (data >> 5) & 1);
142 input_report_key(dev, BTN_MIDDLE, (data >> 4) & 1);
143 input_report_rel(dev, REL_WHEEL, (data & 8) - (data & 7));
151 buf[1] = (data >> 2) & 0x0f;
163 input_report_key(dev, BTN_SIDE, (data >> 4) & 1);
164 input_report_key(dev, BTN_EXTRA, (data >> 5) & 1);
165 input_report_rel(dev, data & 0x80 ? REL_HWHEEL : REL_WHEEL, (data & 7) - (data & 8));
190 unsigned char data, unsigned int flags)
200 sermouse_process_ms(sermouse, data);
202 sermouse_process_msc(sermouse, data);