diff options
author | Henrik Rydberg <rydberg@euromail.se> | 2009-04-27 14:52:43 -0400 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2009-04-28 12:35:12 -0400 |
commit | 6916d97f6e25cc66a32d6e9a16419067d843b14f (patch) | |
tree | 15f4b7cbf480d145f7e8c1e812b762c19f04b386 /drivers/input | |
parent | 9894cf0ff5e9ccda60d8d0e2d37bd61539b08826 (diff) |
Input: bcm5974 - add quad-finger tapping
The integrated button on the new unibody Macbooks presents a need to
report explicit four-finger actions. Evidently, the finger pressing
the button is also touching the trackpad, so in order to fully support
three-finger actions, the driver must be able to report four-finger
actions. This patch adds a new button, BTN_TOOL_QUADTAP, which
achieves this.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'drivers/input')
-rw-r--r-- | drivers/input/mouse/bcm5974.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/input/mouse/bcm5974.c b/drivers/input/mouse/bcm5974.c index bda873393b0d..2ddf05e1d852 100644 --- a/drivers/input/mouse/bcm5974.c +++ b/drivers/input/mouse/bcm5974.c | |||
@@ -258,6 +258,7 @@ static void setup_events_to_report(struct input_dev *input_dev, | |||
258 | __set_bit(BTN_TOOL_FINGER, input_dev->keybit); | 258 | __set_bit(BTN_TOOL_FINGER, input_dev->keybit); |
259 | __set_bit(BTN_TOOL_DOUBLETAP, input_dev->keybit); | 259 | __set_bit(BTN_TOOL_DOUBLETAP, input_dev->keybit); |
260 | __set_bit(BTN_TOOL_TRIPLETAP, input_dev->keybit); | 260 | __set_bit(BTN_TOOL_TRIPLETAP, input_dev->keybit); |
261 | __set_bit(BTN_TOOL_QUADTAP, input_dev->keybit); | ||
261 | __set_bit(BTN_LEFT, input_dev->keybit); | 262 | __set_bit(BTN_LEFT, input_dev->keybit); |
262 | } | 263 | } |
263 | 264 | ||
@@ -329,7 +330,8 @@ static int report_tp_state(struct bcm5974 *dev, int size) | |||
329 | input_report_key(input, BTN_TOUCH, dev->fingers > 0); | 330 | input_report_key(input, BTN_TOUCH, dev->fingers > 0); |
330 | input_report_key(input, BTN_TOOL_FINGER, dev->fingers == 1); | 331 | input_report_key(input, BTN_TOOL_FINGER, dev->fingers == 1); |
331 | input_report_key(input, BTN_TOOL_DOUBLETAP, dev->fingers == 2); | 332 | input_report_key(input, BTN_TOOL_DOUBLETAP, dev->fingers == 2); |
332 | input_report_key(input, BTN_TOOL_TRIPLETAP, dev->fingers > 2); | 333 | input_report_key(input, BTN_TOOL_TRIPLETAP, dev->fingers == 3); |
334 | input_report_key(input, BTN_TOOL_QUADTAP, dev->fingers > 3); | ||
333 | 335 | ||
334 | input_report_abs(input, ABS_PRESSURE, abs_p); | 336 | input_report_abs(input, ABS_PRESSURE, abs_p); |
335 | input_report_abs(input, ABS_TOOL_WIDTH, abs_w); | 337 | input_report_abs(input, ABS_TOOL_WIDTH, abs_w); |