On Wed, October 5, 2016 2:35 am, Benjamin Tissoires wrote: > On Oct 04 2016 or thereabouts, Roderick Colenbrander wrote: >> + /* >> + * The first 7 bits of the first byte is a counter and bit 8 is >> + * a touch indicator that is 0 when pressed and 1 when not >> + * pressed. >> + * The next 3 bytes are two 12 bit touch coordinates, X and Y. >> + * The data for the second touch is in the same format and >> + * immediately follows the data for the first. >> + */ >> + for (n = 0; n < 2; n++) { >> + u16 x, y; >> + bool active; >> + >> + x = rd[offset+1] | ((rd[offset+2] & 0xF) << 8); >> + y = ((rd[offset+2] & 0xF0) >> 4) | (rd[offset+3] << 4); >> + >> + active = !(rd[offset] >> 7); >> + input_mt_slot(input_dev, n); >> > > Just to be sure, the device reports 2 touches only, and the > "num_touch_data" chunks are just the history of these 2 touches, the > last chunk being the last known touches? FYI - Community knowledge/understanding... http://www.psdevwiki.com/ps4/DS4-BT#HID_INPUT_reports Simon -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html