Re: [PATCH 5/5] Input: zforce_ts: Fix dual touch recognition

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 20, 2016 at 08:54:45AM +0200, Dirk Behme wrote:
> From: Knut Wohlrab <Knut.Wohlrab@xxxxxxxxxxxx>
> 
> A wrong decoding of the touch coordinate message causes a wrong touch
> ID. Touch ID for dual touch must be 0 or 1.
> 
> According to the actual Neonode nine byte touch coordinate coding,
> the state is transported in the lower nibble and the touch ID in
> the higher nibble of payload byte five.
> 
> Signed-off-by: Knut Wohlrab <Knut.Wohlrab@xxxxxxxxxxxx>
> Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
> Signed-off-by: Dirk Behme <dirk.behme@xxxxxxxxxxxx>

Applied, thank you.

> ---
>  drivers/input/touchscreen/zforce_ts.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/input/touchscreen/zforce_ts.c b/drivers/input/touchscreen/zforce_ts.c
> index fd435fe..9790d7a 100644
> --- a/drivers/input/touchscreen/zforce_ts.c
> +++ b/drivers/input/touchscreen/zforce_ts.c
> @@ -412,8 +412,8 @@ static int zforce_touch_event(struct zforce_ts *ts, u8 *payload)
>  			point.coord_x = point.coord_y = 0;
>  		}
>  
> -		point.state = payload[9 * i + 5] & 0x03;
> -		point.id = (payload[9 * i + 5] & 0xfc) >> 2;
> +		point.state = payload[9 * i + 5] & 0x0f;
> +		point.id = (payload[9 * i + 5] & 0xf0) >> 4;
>  
>  		/* determine touch major, minor and orientation */
>  		point.area_major = max(payload[9 * i + 6],
> -- 
> 2.8.0
> 

-- 
Dmitry
--
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



[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux