Lines Matching refs:data

55 static int a3d_read_packet(struct gameport *gameport, int length, char *data)
74 data[i++] = v >> 5;
88 static int a3d_csum(char *data, int count)
93 csum += data[i];
94 return (csum & 0x3f) != ((data[count - 2] << 3) | data[count - 1]);
97 static void a3d_read(struct a3d *a3d, unsigned char *data)
107 input_report_rel(dev, REL_X, ((data[5] << 6) | (data[6] << 3) | data[ 7]) - ((data[5] & 4) << 7));
108 input_report_rel(dev, REL_Y, ((data[8] << 6) | (data[9] << 3) | data[10]) - ((data[8] & 4) << 7));
110 input_report_key(dev, BTN_RIGHT, data[2] & 1);
111 input_report_key(dev, BTN_LEFT, data[3] & 2);
112 input_report_key(dev, BTN_MIDDLE, data[3] & 4);
116 a3d->axes[0] = ((signed char)((data[11] << 6) | (data[12] << 3) | (data[13]))) + 128;
117 a3d->axes[1] = ((signed char)((data[14] << 6) | (data[15] << 3) | (data[16]))) + 128;
118 a3d->axes[2] = ((signed char)((data[17] << 6) | (data[18] << 3) | (data[19]))) + 128;
119 a3d->axes[3] = ((signed char)((data[20] << 6) | (data[21] << 3) | (data[22]))) + 128;
121 a3d->buttons = ((data[3] << 3) | data[4]) & 0xf;
127 input_report_rel(dev, REL_X, ((data[ 9] << 6) | (data[10] << 3) | data[11]) - ((data[ 9] & 4) << 7));
128 input_report_rel(dev, REL_Y, ((data[12] << 6) | (data[13] << 3) | data[14]) - ((data[12] & 4) << 7));
130 input_report_key(dev, BTN_RIGHT, data[2] & 1);
131 input_report_key(dev, BTN_LEFT, data[3] & 2);
132 input_report_key(dev, BTN_MIDDLE, data[3] & 4);
133 input_report_key(dev, BTN_SIDE, data[7] & 2);
134 input_report_key(dev, BTN_EXTRA, data[7] & 4);
136 input_report_abs(dev, ABS_X, ((signed char)((data[15] << 6) | (data[16] << 3) | (data[17]))) + 128);
137 input_report_abs(dev, ABS_Y, ((signed char)((data[18] << 6) | (data[19] << 3) | (data[20]))) + 128);
138 input_report_abs(dev, ABS_RUDDER, ((signed char)((data[21] << 6) | (data[22] << 3) | (data[23]))) + 128);
139 input_report_abs(dev, ABS_THROTTLE, ((signed char)((data[24] << 6) | (data[25] << 3) | (data[26]))) + 128);
141 input_report_abs(dev, ABS_HAT0X, ( data[5] & 1) - ((data[5] >> 2) & 1));
142 input_report_abs(dev, ABS_HAT0Y, ((data[5] >> 1) & 1) - ((data[6] >> 2) & 1));
143 input_report_abs(dev, ABS_HAT1X, ((data[4] >> 1) & 1) - ( data[3] & 1));
144 input_report_abs(dev, ABS_HAT1Y, ((data[4] >> 2) & 1) - ( data[4] & 1));
146 input_report_key(dev, BTN_TRIGGER, data[8] & 1);
147 input_report_key(dev, BTN_THUMB, data[8] & 2);
148 input_report_key(dev, BTN_TOP, data[8] & 4);
149 input_report_key(dev, BTN_PINKIE, data[7] & 1);
159 * a3d_poll() reads and analyzes A3D joystick data.
165 unsigned char data[A3D_MAX_LENGTH];
168 if (a3d_read_packet(a3d->gameport, a3d->length, data) != a3d->length ||
169 data[0] != a3d->mode || a3d_csum(data, a3d->length))
172 a3d_read(a3d, data);
176 * a3d_adc_cooked_read() copies the acis and button data to the
194 * any but cooked data.
251 unsigned char data[A3D_MAX_LENGTH];
271 i = a3d_read_packet(gameport, A3D_MAX_LENGTH, data);
273 if (!i || a3d_csum(data, i)) {
278 a3d->mode = data[0];
324 a3d_read(a3d, data);
343 a3d_read(a3d, data);