Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 269449
b: refs/heads/master
c: 6de58dd
h: refs/heads/master
i:
  269447: dff1b8e
v: v3
  • Loading branch information
Daniel Kurtz authored and Dmitry Torokhov committed Aug 24, 2011
1 parent 5c5c4c0 commit 605f66e
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 4 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 66fd9385ee9c582ee88031ba5028748cb38c986d
refs/heads/master: 6de58dd625a7645008c5c450bf97a5793faf58c3
15 changes: 12 additions & 3 deletions trunk/drivers/input/mouse/synaptics.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,16 @@
#define YMIN_NOMINAL 1408
#define YMAX_NOMINAL 4448

/*
* Synaptics touchpads report the y coordinate from bottom to top, which is
* opposite from what userspace expects.
* This function is used to invert y before reporting.
*/
static int synaptics_invert_y(int y)
{
return YMAX_NOMINAL + YMIN_NOMINAL - y;
}


/*****************************************************************************
* Stuff we need even when we do not want native Synaptics support
Expand Down Expand Up @@ -502,8 +512,7 @@ static void synaptics_report_semi_mt_slot(struct input_dev *dev, int slot,
input_mt_report_slot_state(dev, MT_TOOL_FINGER, active);
if (active) {
input_report_abs(dev, ABS_MT_POSITION_X, x);
input_report_abs(dev, ABS_MT_POSITION_Y,
YMAX_NOMINAL + YMIN_NOMINAL - y);
input_report_abs(dev, ABS_MT_POSITION_Y, synaptics_invert_y(y));
}
}

Expand Down Expand Up @@ -597,7 +606,7 @@ static void synaptics_process_packet(struct psmouse *psmouse)

if (num_fingers > 0) {
input_report_abs(dev, ABS_X, hw.x);
input_report_abs(dev, ABS_Y, YMAX_NOMINAL + YMIN_NOMINAL - hw.y);
input_report_abs(dev, ABS_Y, synaptics_invert_y(hw.y));
}
input_report_abs(dev, ABS_PRESSURE, hw.z);

Expand Down

0 comments on commit 605f66e

Please sign in to comment.