Bug#605450: linux-image-2.6.32-5-amd64: Please support and update multitouch driver of Macbookpro 7,1.

2010-12-06 Thread mike dentifrice
Nobuhiro Iwamatsu said:
 Current Linux-2.6 package does not work multitouch device of
 Macbookpro 7,1.  This is because driver does not support a multitouch
 protocol of Macbookpro.  The patch revising this problem is already
 taken in by upstream.  6f2701b79f2ee0c5eb946e8a87993acbe8041da3
 
 I confirmed that I made the linux-2.6 package which did this patch
 applied, and a problem was revised.  Could you apply this patch in
 Debian?

I second that request. The patch is also required for the multitouch
touchpad of the MacBookAir3,1 to work.

-- 
mike dentifrice fl...@poivron.org




-- 
To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20101206191138.ga32...@dentifrice



Bug#605450: linux-image-2.6.32-5-amd64: Please support and update multitouch driver of Macbookpro 7,1.

2010-12-06 Thread Ben Hutchings
On Mon, Dec 06, 2010 at 08:11:38PM +0100, mike dentifrice wrote:
 Nobuhiro Iwamatsu said:
  Current Linux-2.6 package does not work multitouch device of
  Macbookpro 7,1.  This is because driver does not support a multitouch
  protocol of Macbookpro.  The patch revising this problem is already
  taken in by upstream.  6f2701b79f2ee0c5eb946e8a87993acbe8041da3
  
  I confirmed that I made the linux-2.6 package which did this patch
  applied, and a problem was revised.  Could you apply this patch in
  Debian?
 
 I second that request. The patch is also required for the multitouch
 touchpad of the MacBookAir3,1 to work.
 
Does the touchpad work as a simple pointing device, or not at all?

Ben.

-- 
Ben Hutchings
We get into the habit of living before acquiring the habit of thinking.
  - Albert Camus



-- 
To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20101206200118.gn8...@decadent.org.uk



Bug#605450: linux-image-2.6.32-5-amd64: Please support and update multitouch driver of Macbookpro 7,1.

2010-12-06 Thread mike dentifrice
   I confirmed that I made the linux-2.6 package which did this patch
   applied, and a problem was revised.  Could you apply this patch in
   Debian?
  
  I second that request. The patch is also required for the multitouch
  touchpad of the MacBookAir3,1 to work.
  
 Does the touchpad work as a simple pointing device, or not at all?

Before I applied the patch, I could click, but the pointer didn't move.
Without the multitouch input driver (packaged by Nobuhiro Iwamatsu),
it is possible to move the pointer, but impossible to drag anything, for
click + movement doesn't work.

-- 
mike dentifrice fl...@poivron.org




-- 
To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20101206221644.ga3...@dentifrice



Bug#605450: linux-image-2.6.32-5-amd64: Please support and update multitouch driver of Macbookpro 7,1.

2010-12-06 Thread Nobuhiro Iwamatsu
Hi,

2010/12/7 mike dentifrice fl...@poivron.org:
   I confirmed that I made the linux-2.6 package which did this patch
   applied, and a problem was revised.  Could you apply this patch in
   Debian?
 
  I second that request. The patch is also required for the multitouch
  touchpad of the MacBookAir3,1 to work.

 Does the touchpad work as a simple pointing device, or not at all?

 Before I applied the patch, I could click, but the pointer didn't move.
 Without the multitouch input driver (packaged by Nobuhiro Iwamatsu),
 it is possible to move the pointer, but impossible to drag anything, for
 click + movement doesn't work.


I am using Macbookpro 7,1.
On this machine, I can drag while clicking it with this patch and
multitouch driver.

Best regards,
  Nobuhiro


-- 
Nobuhiro Iwamatsu
   iwamatsu at {nigauri.org / debian.org}
   GPG ID: 40AD1FA6



--
To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/aanlktinsj+ÊsmdÙdibfepbpoioqd-svpqng+k...@mail.gmail.com



Bug#605450: linux-image-2.6.32-5-amd64: Please support and update multitouch driver of Macbookpro 7,1.

2010-12-06 Thread Ben Hutchings
On Mon, 2010-12-06 at 23:16 +0100, mike dentifrice wrote:
I confirmed that I made the linux-2.6 package which did this patch
applied, and a problem was revised.  Could you apply this patch in
Debian?
   
   I second that request. The patch is also required for the multitouch
   touchpad of the MacBookAir3,1 to work.
   
  Does the touchpad work as a simple pointing device, or not at all?
 
 Before I applied the patch, I could click, but the pointer didn't move.
 Without the multitouch input driver (packaged by Nobuhiro Iwamatsu),
 it is possible to move the pointer, but impossible to drag anything, for
 click + movement doesn't work.

OK, I've applied that patch plus:

commit 57157becdd1d23e6c2b8661ffe6c78d7d605d121
Author: Henrik Rydberg rydb...@euromail.se
Date:   Tue Aug 31 17:27:02 2010 -0700

Input: bcm5974 - adjust major/minor to scale

By visual inspection, the reported touch_major and touch_minor axes
are a factor of two too small. Presumably the device actually reports
the semi-major and semi-minor axes. Corrected with this patch.

Ben.

-- 
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.


signature.asc
Description: This is a digitally signed message part


Bug#605450: linux-image-2.6.32-5-amd64: Please support and update multitouch driver of Macbookpro 7,1.

2010-11-29 Thread Nobuhiro Iwamatsu
Package: linux-2.6
Version: 2.6.32-28
Severity: normal
Tags: patch

Hi,

Current Linux-2.6 package does not work multitouch device of Macbookpro 7,1.
This is because driver does not support a multitouch protocol of Macbookpro.
The patch revising this problem is already taken in by upstream.
  6f2701b79f2ee0c5eb946e8a87993acbe8041da3

I confirmed that I made the linux-2.6 package which did this patch
applied, and a problem was revised.
Could you apply this patch in Debian?

Best regards,
 Nobuhiro
From 6f2701b79f2ee0c5eb946e8a87993acbe8041da3 Mon Sep 17 00:00:00 2001
From: Henrik Rydberg rydb...@euromail.se
Date: Wed, 6 Jan 2010 00:32:48 -0800
Subject: [PATCH] Input: bcm5974 - report ABS_MT events

Make bcm5974 report raw multi-touch (MT) data in the form of ABS_MT events.

[d...@mail.ru: get rid of module option, always report all events]
Signed-off-by: Henrik Rydberg rydb...@euromail.se
Signed-off-by: Andrew Morton a...@linux-foundation.org
Signed-off-by: Dmitry Torokhov d...@mail.ru
---
 drivers/input/mouse/bcm5974.c |   44 -
 1 files changed, 43 insertions(+), 1 deletions(-)

diff --git a/drivers/input/mouse/bcm5974.c b/drivers/input/mouse/bcm5974.c
index 0d1d334..4f8fe08 100644
--- a/drivers/input/mouse/bcm5974.c
+++ b/drivers/input/mouse/bcm5974.c
@@ -139,6 +139,7 @@ struct tp_finger {
 /* trackpad finger data size, empirically at least ten fingers */
 #define SIZEOF_FINGER		sizeof(struct tp_finger)
 #define SIZEOF_ALL_FINGERS	(16 * SIZEOF_FINGER)
+#define MAX_FINGER_ORIENTATION	16384
 
 /* device-specific parameters */
 struct bcm5974_param {
@@ -284,6 +285,26 @@ static void setup_events_to_report(struct input_dev *input_dev,
 	input_set_abs_params(input_dev, ABS_Y,
 0, cfg-y.dim, cfg-y.fuzz, 0);
 
+	/* finger touch area */
+	input_set_abs_params(input_dev, ABS_MT_TOUCH_MAJOR,
+			 cfg-w.devmin, cfg-w.devmax, 0, 0);
+	input_set_abs_params(input_dev, ABS_MT_TOUCH_MINOR,
+			 cfg-w.devmin, cfg-w.devmax, 0, 0);
+	/* finger approach area */
+	input_set_abs_params(input_dev, ABS_MT_WIDTH_MAJOR,
+			 cfg-w.devmin, cfg-w.devmax, 0, 0);
+	input_set_abs_params(input_dev, ABS_MT_WIDTH_MINOR,
+			 cfg-w.devmin, cfg-w.devmax, 0, 0);
+	/* finger orientation */
+	input_set_abs_params(input_dev, ABS_MT_ORIENTATION,
+			 -MAX_FINGER_ORIENTATION,
+			 MAX_FINGER_ORIENTATION, 0, 0);
+	/* finger position */
+	input_set_abs_params(input_dev, ABS_MT_POSITION_X,
+			 cfg-x.devmin, cfg-x.devmax, 0, 0);
+	input_set_abs_params(input_dev, ABS_MT_POSITION_Y,
+			 cfg-y.devmin, cfg-y.devmax, 0, 0);
+
 	__set_bit(EV_KEY, input_dev-evbit);
 	__set_bit(BTN_TOUCH, input_dev-keybit);
 	__set_bit(BTN_TOOL_FINGER, input_dev-keybit);
@@ -310,13 +331,29 @@ static int report_bt_state(struct bcm5974 *dev, int size)
 	return 0;
 }
 
+static void report_finger_data(struct input_dev *input,
+			   const struct bcm5974_config *cfg,
+			   const struct tp_finger *f)
+{
+	input_report_abs(input, ABS_MT_TOUCH_MAJOR, raw2int(f-force_major));
+	input_report_abs(input, ABS_MT_TOUCH_MINOR, raw2int(f-force_minor));
+	input_report_abs(input, ABS_MT_WIDTH_MAJOR, raw2int(f-size_major));
+	input_report_abs(input, ABS_MT_WIDTH_MINOR, raw2int(f-size_minor));
+	input_report_abs(input, ABS_MT_ORIENTATION,
+			 MAX_FINGER_ORIENTATION - raw2int(f-orientation));
+	input_report_abs(input, ABS_MT_POSITION_X, raw2int(f-abs_x));
+	input_report_abs(input, ABS_MT_POSITION_Y,
+			 cfg-y.devmin + cfg-y.devmax - raw2int(f-abs_y));
+	input_mt_sync(input);
+}
+
 /* report trackpad data as logical trackpad state */
 static int report_tp_state(struct bcm5974 *dev, int size)
 {
 	const struct bcm5974_config *c = dev-cfg;
 	const struct tp_finger *f;
 	struct input_dev *input = dev-input;
-	int raw_p, raw_w, raw_x, raw_y, raw_n;
+	int raw_p, raw_w, raw_x, raw_y, raw_n, i;
 	int ptest, origin, ibt = 0, nmin = 0, nmax = 0;
 	int abs_p = 0, abs_w = 0, abs_x = 0, abs_y = 0;
 
@@ -329,6 +366,11 @@ static int report_tp_state(struct bcm5974 *dev, int size)
 
 	/* always track the first finger; when detached, start over */
 	if (raw_n) {
+
+		/* report raw trackpad data */
+		for (i = 0; i  raw_n; i++)
+			report_finger_data(input, c, f[i]);
+
 		raw_p = raw2int(f-force_major);
 		raw_w = raw2int(f-size_major);
 		raw_x = raw2int(f-abs_x);
-- 
1.7.2.3