diff mbox

input: ALPS - Invert the Y axis and adjust scaling on SS5 tracksticks

Message ID 20170110073555.31004-1-dima@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Dima Ryazanov Jan. 10, 2017, 7:35 a.m. UTC
This patch fixes the trackstick on my Dell Latitude E7470. Currently, it's
upside down and too fast (that is, much faster than when using the generic
PS/2 driver).

It also matches the trackpoint logic in alps_process_packet_v6.
---
(I'm aware that scaling in the driver is not ideal - but at least the vertical
orientation should be fixed.)

Signed-off-by: Dima Ryazanov <dima@gmail.com>
---
 drivers/input/mouse/alps.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Dima Ryazanov Jan. 16, 2017, 8:23 p.m. UTC | #1
Actually, sorry, disregard this patch.

The Y axis has already been fixed by
47e3a5edc6538d66e470aaed3b7c57255cb37ca1, and the sensitivity should
probably be adjusted in hwdb rather than the driver.

On Mon, Jan 9, 2017 at 11:35 PM, Dima Ryazanov <dima@gmail.com> wrote:
> This patch fixes the trackstick on my Dell Latitude E7470. Currently, it's
> upside down and too fast (that is, much faster than when using the generic
> PS/2 driver).
>
> It also matches the trackpoint logic in alps_process_packet_v6.
> ---
> (I'm aware that scaling in the driver is not ideal - but at least the vertical
> orientation should be fixed.)
>
> Signed-off-by: Dima Ryazanov <dima@gmail.com>
> ---
>  drivers/input/mouse/alps.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c
> index 328edc8..5fa7a15 100644
> --- a/drivers/input/mouse/alps.c
> +++ b/drivers/input/mouse/alps.c
> @@ -1346,8 +1346,8 @@ static void alps_process_packet_ss4_v2(struct psmouse *psmouse)
>                         return;
>                 }
>
> -               input_report_rel(dev2, REL_X, SS4_TS_X_V2(packet));
> -               input_report_rel(dev2, REL_Y, SS4_TS_Y_V2(packet));
> +               input_report_rel(dev2, REL_X, SS4_TS_X_V2(packet) / 4);
> +               input_report_rel(dev2, REL_Y, -SS4_TS_Y_V2(packet) / 4);
>                 input_report_abs(dev2, ABS_PRESSURE, SS4_TS_Z_V2(packet));
>
>                 input_report_key(dev2, BTN_LEFT, f->ts_left);
> --
> 2.9.3
>
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c
index 328edc8..5fa7a15 100644
--- a/drivers/input/mouse/alps.c
+++ b/drivers/input/mouse/alps.c
@@ -1346,8 +1346,8 @@  static void alps_process_packet_ss4_v2(struct psmouse *psmouse)
 			return;
 		}
 
-		input_report_rel(dev2, REL_X, SS4_TS_X_V2(packet));
-		input_report_rel(dev2, REL_Y, SS4_TS_Y_V2(packet));
+		input_report_rel(dev2, REL_X, SS4_TS_X_V2(packet) / 4);
+		input_report_rel(dev2, REL_Y, -SS4_TS_Y_V2(packet) / 4);
 		input_report_abs(dev2, ABS_PRESSURE, SS4_TS_Z_V2(packet));
 
 		input_report_key(dev2, BTN_LEFT, f->ts_left);