[PATCH] Intrepid: bcm5974: BTN_TOUCH event needed for mousedev to work

Henrik Rydberg rydberg at euromail.se
Tue Sep 2 19:28:18 UTC 2008


The mousedev driver requires the use of BTN_TOUCH events to process
ABS_X and ABS_Y events properly, which is what prevents the mouse
from working out-of-the box in Intrepid. This patch adds the BTN_TOUCH
event to bcm5974, and replaces the earlier patch for this bug.

Bug: https://bugs.launchpad.net/ubuntu/+source/linux-meta/+bug/263451

Signed-off-by: Henrik Rydberg <rydberg at euromail.se>
---
 drivers/input/mouse/bcm5974.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/input/mouse/bcm5974.c b/drivers/input/mouse/bcm5974.c
index 2ec921b..d32f068 100644
--- a/drivers/input/mouse/bcm5974.c
+++ b/drivers/input/mouse/bcm5974.c
@@ -248,6 +248,7 @@ static void setup_events_to_report(struct input_dev *input_dev,
 				0, cfg->y.dim, cfg->y.fuzz, 0);

 	__set_bit(EV_KEY, input_dev->evbit);
+	__set_bit(BTN_TOUCH, input_dev->keybit);
 	__set_bit(BTN_TOOL_FINGER, input_dev->keybit);
 	__set_bit(BTN_TOOL_DOUBLETAP, input_dev->keybit);
 	__set_bit(BTN_TOOL_TRIPLETAP, input_dev->keybit);
@@ -296,6 +297,7 @@ static int report_tp_state(struct bcm5974 *dev, int size)

 	input_report_abs(input, ABS_PRESSURE, int2bound(&c->p, p));

+	input_report_key(input, BTN_TOUCH, p > 0);
 	input_report_key(input, BTN_TOOL_FINGER, n == 1);
 	input_report_key(input, BTN_TOOL_DOUBLETAP, n == 2);
 	input_report_key(input, BTN_TOOL_TRIPLETAP, n > 2);
-- 
1.5.4.3





More information about the kernel-team mailing list