Lines Matching full:finger

55 #define FOC_ABS 0x6 /* absolute position of one finger */
61 * Current state of a single finger on the touchpad.
64 /* The touchpad has generated a touch event for the finger */
68 * The touchpad has sent position data for the finger. The
69 * flag is 0 when the finger is not active, and there is a
70 * time between the first touch event for the finger and the
71 * following absolute position packet for the finger where the
72 * touchpad has declared the finger to be valid, but we do not
79 * finger.
91 * the array indices correspond to the finger indices returned
97 * Finger width 0-7 and 15 for a very big contact area.
98 * 15 value stays until the finger is released.
100 * Since hardware reports width only for last touching finger,
101 * there is no need to store width for every specific finger,
123 struct focaltech_finger_state *finger = &state->fingers[i]; in focaltech_report_state() local
124 bool active = finger->active && finger->valid; in focaltech_report_state()
135 clamped_x = clamp(finger->x, 0U, priv->x_max); in focaltech_report_state()
136 clamped_y = clamp(finger->y, 0U, priv->y_max); in focaltech_report_state()
164 * Even when the finger becomes active again, we still in focaltech_process_touch_packet()
178 unsigned int finger; in focaltech_process_abs_packet() local
180 finger = (packet[1] >> 4) - 1; in focaltech_process_abs_packet()
181 if (finger >= FOC_MAX_FINGERS) { in focaltech_process_abs_packet()
182 psmouse_err(psmouse, "Invalid finger in abs packet: %d\n", in focaltech_process_abs_packet()
183 finger); in focaltech_process_abs_packet()
189 state->fingers[finger].x = ((packet[1] & 0xf) << 8) | packet[2]; in focaltech_process_abs_packet()
190 state->fingers[finger].y = (packet[3] << 8) | packet[4]; in focaltech_process_abs_packet()
192 state->fingers[finger].valid = true; in focaltech_process_abs_packet()
208 psmouse_err(psmouse, "First finger in rel packet invalid: %d\n", in focaltech_process_rel_packet()
214 * packet only contains one finger. In this case, the second in focaltech_process_rel_packet()
215 * finger index in the packet is 0 (we subtract 1 in the lines in focaltech_process_rel_packet()
216 * above to create array indices, so the finger will overflow in focaltech_process_rel_packet()