diff mbox

Fix a issue that Alps Touchpad cursor does not work

Message ID 1474608775-10839-1-git-send-email-masaki.ota@jp.alps.com (mailing list archive)
State New, archived
Headers show

Commit Message

Masaki Ota Sept. 23, 2016, 5:32 a.m. UTC
fix Touchpad cursor does not work after touching Touchpad 
by 3 or more fingers.

Signed-off-by: Masaki Ota <masaki.ota@jp.alps.com>
---
 drivers/hid/hid-alps.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

Comments

Jiri Kosina Sept. 26, 2016, 3:32 p.m. UTC | #1
On Fri, 23 Sep 2016, Masaki Ota wrote:

> fix Touchpad cursor does not work after touching Touchpad 
> by 3 or more fingers.

Please provide more verbose changelog -- namely why the current code is 
wrong and how does your patch fixes it.

Thanks.

> Signed-off-by: Masaki Ota <masaki.ota@jp.alps.com>
> ---
>  drivers/hid/hid-alps.c | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/hid/hid-alps.c b/drivers/hid/hid-alps.c
> index 048befd..610df92 100644
> --- a/drivers/hid/hid-alps.c
> +++ b/drivers/hid/hid-alps.c
> @@ -190,16 +190,16 @@ static int alps_raw_event(struct hid_device *hdev,
>  			if (z != 0) {
>  				input_mt_report_slot_state(hdata->input,
>  					MT_TOOL_FINGER, 1);
> +				input_report_abs(hdata->input,
> +					ABS_MT_POSITION_X, x);
> +				input_report_abs(hdata->input,
> +					ABS_MT_POSITION_Y, y);
> +				input_report_abs(hdata->input,
> +					ABS_MT_PRESSURE, z);
>  			} else {
>  				input_mt_report_slot_state(hdata->input,
>  					MT_TOOL_FINGER, 0);
> -				break;
>  			}
> -
> -			input_report_abs(hdata->input, ABS_MT_POSITION_X, x);
> -			input_report_abs(hdata->input, ABS_MT_POSITION_Y, y);
> -			input_report_abs(hdata->input, ABS_MT_PRESSURE, z);
> -
>  		}
>  
>  		input_mt_sync_frame(hdata->input);
diff mbox

Patch

diff --git a/drivers/hid/hid-alps.c b/drivers/hid/hid-alps.c
index 048befd..610df92 100644
--- a/drivers/hid/hid-alps.c
+++ b/drivers/hid/hid-alps.c
@@ -190,16 +190,16 @@  static int alps_raw_event(struct hid_device *hdev,
 			if (z != 0) {
 				input_mt_report_slot_state(hdata->input,
 					MT_TOOL_FINGER, 1);
+				input_report_abs(hdata->input,
+					ABS_MT_POSITION_X, x);
+				input_report_abs(hdata->input,
+					ABS_MT_POSITION_Y, y);
+				input_report_abs(hdata->input,
+					ABS_MT_PRESSURE, z);
 			} else {
 				input_mt_report_slot_state(hdata->input,
 					MT_TOOL_FINGER, 0);
-				break;
 			}
-
-			input_report_abs(hdata->input, ABS_MT_POSITION_X, x);
-			input_report_abs(hdata->input, ABS_MT_POSITION_Y, y);
-			input_report_abs(hdata->input, ABS_MT_PRESSURE, z);
-
 		}
 
 		input_mt_sync_frame(hdata->input);