[PATCH 1/2] Input: synaptics - add second variant of two-button clickpad

Subsystems: input (keyboard, mouse, joystick, touchscreen) drivers, the rest

STALE5254d

9 messages, 4 authors, 2012-03-13 · open the first message on its own page

[PATCH 1/2] Input: synaptics - add second variant of two-button clickpad

From: Chase Douglas <hidden>
Date: 2012-02-14 04:21:16

Signed-off-by: Chase Douglas <redacted>
---
There are two models of Dell netbooks (Inspiron 1011 and 1012 IIRC) with
two-button clickpads that do not match the current two-button clickpad bit
mask. I don't have any docs to tell me which bits are which, but this bit
seems the most probably. For reference, the caps bits for these netbooks are:

caps: 0xd04713/0xa40000/0x2a0000

 drivers/input/mouse/synaptics.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/input/mouse/synaptics.h b/drivers/input/mouse/synaptics.h
index fd26ccc..816d7bd 100644
--- a/drivers/input/mouse/synaptics.h
+++ b/drivers/input/mouse/synaptics.h
@@ -80,6 +80,7 @@
  */
 #define SYN_CAP_CLICKPAD(ex0c)		((ex0c) & 0x100000) /* 1-button ClickPad */
 #define SYN_CAP_CLICKPAD2BTN(ex0c)	((ex0c) & 0x000100) /* 2-button ClickPad */
+#define SYN_CAP_CLICKPAD2BTN2(ex0c)	((ex0c) & 0x200000) /* 2-button ClickPad */
 #define SYN_CAP_MAX_DIMENSIONS(ex0c)	((ex0c) & 0x020000)
 #define SYN_CAP_MIN_DIMENSIONS(ex0c)	((ex0c) & 0x002000)
 #define SYN_CAP_ADV_GESTURE(ex0c)	((ex0c) & 0x080000)
-- 
1.7.9

[PATCH 2/2] Input: synapticss - Set buttonpad property for all clickpads

From: Chase Douglas <hidden>
Date: 2012-02-14 04:21:19

Signed-off-by: Chase Douglas <redacted>
---
 drivers/input/mouse/synaptics.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
index 06c9ee5..f63ab8c 100644
--- a/drivers/input/mouse/synaptics.c
+++ b/drivers/input/mouse/synaptics.c
@@ -1221,7 +1221,9 @@ static void set_input_params(struct input_dev *dev, struct synaptics_data *priv)
 		/* Clickpads report only left button */
 		__clear_bit(BTN_RIGHT, dev->keybit);
 		__clear_bit(BTN_MIDDLE, dev->keybit);
-	}
+	} else if (SYN_CAP_CLICKPAD2BTN(priv->ext_cap_0c) ||
+		   SYN_CAP_CLICKPAD2BTN2(priv->ext_cap_0c))
+		__set_bit(INPUT_PROP_BUTTONPAD, dev->propbit);
 }
 
 static ssize_t synaptics_show_disable_gesture(struct psmouse *psmouse,
-- 
1.7.9

Re: [PATCH 1/2] Input: synaptics - add second variant of two-button clickpad

From: Chase Douglas <hidden>
Date: 2012-02-20 10:48:19

On 02/14/2012 05:21 AM, Chase Douglas wrote:
quoted hunk
Signed-off-by: Chase Douglas <redacted>
---
There are two models of Dell netbooks (Inspiron 1011 and 1012 IIRC) with
two-button clickpads that do not match the current two-button clickpad bit
mask. I don't have any docs to tell me which bits are which, but this bit
seems the most probably. For reference, the caps bits for these netbooks are:

caps: 0xd04713/0xa40000/0x2a0000

 drivers/input/mouse/synaptics.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/input/mouse/synaptics.h b/drivers/input/mouse/synaptics.h
index fd26ccc..816d7bd 100644
--- a/drivers/input/mouse/synaptics.h
+++ b/drivers/input/mouse/synaptics.h
@@ -80,6 +80,7 @@
  */
 #define SYN_CAP_CLICKPAD(ex0c)		((ex0c) & 0x100000) /* 1-button ClickPad */
 #define SYN_CAP_CLICKPAD2BTN(ex0c)	((ex0c) & 0x000100) /* 2-button ClickPad */
+#define SYN_CAP_CLICKPAD2BTN2(ex0c)	((ex0c) & 0x200000) /* 2-button ClickPad */
 #define SYN_CAP_MAX_DIMENSIONS(ex0c)	((ex0c) & 0x020000)
 #define SYN_CAP_MIN_DIMENSIONS(ex0c)	((ex0c) & 0x002000)
 #define SYN_CAP_ADV_GESTURE(ex0c)	((ex0c) & 0x080000)
Dmitry, would you be able to comment on this soon? We're approaching
kernel freeze in Ubuntu and I want to have this patch in there if it
makes sense.

Thanks,

-- Chase

Re: [PATCH 1/2] Input: synaptics - add second variant of two-button clickpad

From: Chase Douglas <hidden>
Date: 2012-03-01 17:59:01

On 02/20/2012 02:48 AM, Chase Douglas wrote:
On 02/14/2012 05:21 AM, Chase Douglas wrote:
quoted
Signed-off-by: Chase Douglas<redacted>
---
There are two models of Dell netbooks (Inspiron 1011 and 1012 IIRC) with
two-button clickpads that do not match the current two-button clickpad bit
mask. I don't have any docs to tell me which bits are which, but this bit
seems the most probably. For reference, the caps bits for these netbooks are:

caps: 0xd04713/0xa40000/0x2a0000

  drivers/input/mouse/synaptics.h |    1 +
  1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/input/mouse/synaptics.h b/drivers/input/mouse/synaptics.h
index fd26ccc..816d7bd 100644
--- a/drivers/input/mouse/synaptics.h
+++ b/drivers/input/mouse/synaptics.h
@@ -80,6 +80,7 @@
   */
  #define SYN_CAP_CLICKPAD(ex0c)		((ex0c)&  0x100000) /* 1-button ClickPad */
  #define SYN_CAP_CLICKPAD2BTN(ex0c)	((ex0c)&  0x000100) /* 2-button ClickPad */
+#define SYN_CAP_CLICKPAD2BTN2(ex0c)	((ex0c)&  0x200000) /* 2-button ClickPad */
  #define SYN_CAP_MAX_DIMENSIONS(ex0c)	((ex0c)&  0x020000)
  #define SYN_CAP_MIN_DIMENSIONS(ex0c)	((ex0c)&  0x002000)
  #define SYN_CAP_ADV_GESTURE(ex0c)	((ex0c)&  0x080000)
Dmitry, would you be able to comment on this soon? We're approaching
kernel freeze in Ubuntu and I want to have this patch in there if it
makes sense.
Ping?

-- Chase

Re: [PATCH 1/2] Input: synaptics - add second variant of two-button clickpad

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2012-03-01 19:45:09

On Mon, Feb 20, 2012 at 11:48:12AM +0100, Chase Douglas wrote:
On 02/14/2012 05:21 AM, Chase Douglas wrote:
quoted
Signed-off-by: Chase Douglas <redacted>
---
There are two models of Dell netbooks (Inspiron 1011 and 1012 IIRC) with
two-button clickpads that do not match the current two-button clickpad bit
mask. I don't have any docs to tell me which bits are which, but this bit
seems the most probably. For reference, the caps bits for these netbooks are:

caps: 0xd04713/0xa40000/0x2a0000

 drivers/input/mouse/synaptics.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/input/mouse/synaptics.h b/drivers/input/mouse/synaptics.h
index fd26ccc..816d7bd 100644
--- a/drivers/input/mouse/synaptics.h
+++ b/drivers/input/mouse/synaptics.h
@@ -80,6 +80,7 @@
  */
 #define SYN_CAP_CLICKPAD(ex0c)		((ex0c) & 0x100000) /* 1-button ClickPad */
 #define SYN_CAP_CLICKPAD2BTN(ex0c)	((ex0c) & 0x000100) /* 2-button ClickPad */
+#define SYN_CAP_CLICKPAD2BTN2(ex0c)	((ex0c) & 0x200000) /* 2-button ClickPad */
 #define SYN_CAP_MAX_DIMENSIONS(ex0c)	((ex0c) & 0x020000)
 #define SYN_CAP_MIN_DIMENSIONS(ex0c)	((ex0c) & 0x002000)
 #define SYN_CAP_ADV_GESTURE(ex0c)	((ex0c) & 0x080000)
Dmitry, would you be able to comment on this soon? We're approaching
kernel freeze in Ubuntu and I want to have this patch in there if it
makes sense.
According to the data sent by Synaptics (ex0c & 0x60000) identifies
algorithm used to count fingers, and not device type, at least not
directly...

Christopher, any insight you could share?

Thanks.

-- 
Dmitry

Re: [PATCH 1/2] Input: synaptics - add second variant of two-button clickpad

From: Christopher Heiny <hidden>
Date: 2012-03-02 00:59:51

On Thursday, March 01, 2012 11:45:03 AM Dmitry Torokhov wrote:
On Mon, Feb 20, 2012 at 11:48:12AM +0100, Chase Douglas wrote:
quoted
On 02/14/2012 05:21 AM, Chase Douglas wrote:
quoted
Signed-off-by: Chase Douglas <redacted>
---
There are two models of Dell netbooks (Inspiron 1011 and 1012 IIRC)
with two-button clickpads that do not match the current two-button
clickpad bit mask. I don't have any docs to tell me which bits are
which, but this bit seems the most probably. For reference, the
caps bits for these netbooks are:

caps: 0xd04713/0xa40000/0x2a0000

 drivers/input/mouse/synaptics.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/input/mouse/synaptics.h
b/drivers/input/mouse/synaptics.h index fd26ccc..816d7bd 100644
--- a/drivers/input/mouse/synaptics.h
+++ b/drivers/input/mouse/synaptics.h
@@ -80,6 +80,7 @@

  */
 
 #define SYN_CAP_CLICKPAD(ex0c)		((ex0c) & 0x100000) /* 1-button
 ClickPad */ #define SYN_CAP_CLICKPAD2BTN(ex0c)	((ex0c) &
 0x000100) /* 2-button ClickPad */> > 
+#define SYN_CAP_CLICKPAD2BTN2(ex0c)	((ex0c) & 0x200000) /* 2-button
ClickPad */> > 
 #define SYN_CAP_MAX_DIMENSIONS(ex0c)	((ex0c) & 0x020000)
 #define SYN_CAP_MIN_DIMENSIONS(ex0c)	((ex0c) & 0x002000)
 #define SYN_CAP_ADV_GESTURE(ex0c)	((ex0c) & 0x080000)
Dmitry, would you be able to comment on this soon? We're approaching
kernel freeze in Ubuntu and I want to have this patch in there if it
makes sense.
According to the data sent by Synaptics (ex0c & 0x60000) identifies
algorithm used to count fingers, and not device type, at least not
directly...

Christopher, any insight you could share?
Dmitry - I think you dropped a zero in the mask.  If that's the case, then you 
are correct, (ex0c & 0x600000) identifies the multifinger mode, independent of 
clickpad or not.

Chase - those capability bits look a bit wacky to me.  Can you tell me the TM 
number or product ID info for those pads?

Re: [PATCH 1/2] Input: synaptics - add second variant of two-button clickpad

From: Chase Douglas <hidden>
Date: 2012-03-02 01:17:48

On 03/01/2012 04:59 PM, Christopher Heiny wrote:
On Thursday, March 01, 2012 11:45:03 AM Dmitry Torokhov wrote:
quoted
On Mon, Feb 20, 2012 at 11:48:12AM +0100, Chase Douglas wrote:
quoted
On 02/14/2012 05:21 AM, Chase Douglas wrote:
quoted
Signed-off-by: Chase Douglas<redacted>
---
There are two models of Dell netbooks (Inspiron 1011 and 1012 IIRC)
with two-button clickpads that do not match the current two-button
clickpad bit mask. I don't have any docs to tell me which bits are
which, but this bit seems the most probably. For reference, the
caps bits for these netbooks are:

caps: 0xd04713/0xa40000/0x2a0000

  drivers/input/mouse/synaptics.h |    1 +
  1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/input/mouse/synaptics.h
b/drivers/input/mouse/synaptics.h index fd26ccc..816d7bd 100644
--- a/drivers/input/mouse/synaptics.h
+++ b/drivers/input/mouse/synaptics.h
@@ -80,6 +80,7 @@

   */

  #define SYN_CAP_CLICKPAD(ex0c)		((ex0c)&  0x100000) /* 1-button
  ClickPad */ #define SYN_CAP_CLICKPAD2BTN(ex0c)	((ex0c)&
  0x000100) /* 2-button ClickPad */>  >
+#define SYN_CAP_CLICKPAD2BTN2(ex0c)	((ex0c)&  0x200000) /* 2-button
ClickPad */>  >
  #define SYN_CAP_MAX_DIMENSIONS(ex0c)	((ex0c)&  0x020000)
  #define SYN_CAP_MIN_DIMENSIONS(ex0c)	((ex0c)&  0x002000)
  #define SYN_CAP_ADV_GESTURE(ex0c)	((ex0c)&  0x080000)
Dmitry, would you be able to comment on this soon? We're approaching
kernel freeze in Ubuntu and I want to have this patch in there if it
makes sense.
According to the data sent by Synaptics (ex0c&  0x60000) identifies
algorithm used to count fingers, and not device type, at least not
directly...

Christopher, any insight you could share?
Dmitry - I think you dropped a zero in the mask.  If that's the case, then you
are correct, (ex0c&  0x600000) identifies the multifinger mode, independent of
clickpad or not.

Chase - those capability bits look a bit wacky to me.  Can you tell me the TM
number or product ID info for those pads?
How do I get the TM number and product ID? What is the TM number?

Thanks,

-- Chase

Re: [PATCH 1/2] Input: synaptics - add second variant of two-button clickpad

From: Christopher Heiny <hidden>
Date: 2012-03-02 01:27:55

On Thursday, March 01, 2012 05:18:34 PM Chase Douglas wrote:
On 03/01/2012 04:59 PM, Christopher Heiny wrote:
quoted
Chase - those capability bits look a bit wacky to me.  Can you tell me
the TM number or product ID info for those pads?
How do I get the TM number and product ID? What is the TM number?
Sorry for the confusing terminology.  TM number is the board number, found in 
query 0x01.  Product ID is TouchPad model ID, found in query 0x00.

Re: [PATCH 1/2] Input: synaptics - add second variant of two-button clickpad

From: Chase Douglas <hidden>
Date: 2012-03-13 21:41:15

On 03/01/2012 05:27 PM, Christopher Heiny wrote:
On Thursday, March 01, 2012 05:18:34 PM Chase Douglas wrote:
quoted
On 03/01/2012 04:59 PM, Christopher Heiny wrote:
quoted
Chase - those capability bits look a bit wacky to me.  Can you tell me
the TM number or product ID info for those pads?
How do I get the TM number and product ID? What is the TM number?
Sorry for the confusing terminology.  TM number is the board number, found in 
query 0x01.  Product ID is TouchPad model ID, found in query 0x00.
Sorry for not getting back sooner. Here's the Touchpad model line:

Touchpad model: 1, fw: 7.4, id: 0x1e0b1, caps: 0xd04713/0xa40000/0x2a0000

I don't see any usage of SYN_QUE_MODES, which is query 0x01. I can hack
it up, but I don't know what the returned data format is.

Thanks!

-- Chase
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help