Re: [PATCH 5/5] HID: sony: Handle multiple touch events input record
From: Simon Wood <hidden>
Date: 2016-10-05 15:30:09
On Wed, October 5, 2016 2:35 am, Benjamin Tissoires wrote:
On Oct 04 2016 or thereabouts, Roderick Colenbrander wrote:
quoted
+ /* + * 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