public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] input: map BTN_FORWARD to button 2 in mousedev
@ 2006-11-05 11:40 Németh Márton
  2006-11-06 22:48 ` Dmitry Torokhov
  0 siblings, 1 reply; 3+ messages in thread
From: Németh Márton @ 2006-11-05 11:40 UTC (permalink / raw)
  To: Dmitry Torokhov; +Cc: linux-input, linux-kernel

From: Márton Németh <nm127@freemail.hu>

In mousedev the BTN_LEFT and BTN_FORWARD were mapped to mouse button 0, causing
that the user space program cannot distinguish between them through /dev/input/mice.
The BTN_FORWARD is currently used in the synaptics.c, logips2pp.c and in alps.c. All
mice have BTN_LEFT, but not all have BTN_MIDDLE (e.g. Clevo D410J laptop). Mapping
BTN_FORWARD to mouse button 2 makes the BTN_FORWARD button useful on the mentioned
laptop.

Signed-off-by: Márton Németh <nm127@freemail.hu>
---

The Clevo D410J laptop has "AlpsPS/2 ALPS GlidePoint" touchpad having the following
physical layout:

     +-------------------+ +-------------+ +-------------------+
     |                   | | BTN_FORWARD | |                   |
     |     BTN_LEFT      | +-------------+ |     BTN_RIGHT     |
     |                   | +-------------+ |                   |
     |                   | |  BTN_BACK   | |                   |
     +-------------------+ +-------------+ +-------------------+

This model does not have any BTN_MIDDLE, but the BTN_FORWARD could be used instead.
The following table summarizes the map changes:

     Button name  | Mapping in 2.6.19-rc3 | The changed mapping
     -------------+-----------------------+---------------------
     BTN_LEFT     |          0            |          0
     BTN_RIGHT    |          1            |          1
     BTN_FORWARD  |          0            |          2
     BTN_BACK     |          3            |          3


--- linux-2.6.19-rc4/drivers/input/mousedev.c.orig	2006-10-31 04:37:36.000000000 +0100
+++ linux-2.6.19-rc4/drivers/input/mousedev.c	2006-11-05 02:34:56.000000000 +0100
@@ -196,12 +196,12 @@ static void mousedev_key_event(struct mo
  	switch (code) {
  		case BTN_TOUCH:
  		case BTN_0:
-		case BTN_FORWARD:
  		case BTN_LEFT:		index = 0; break;
  		case BTN_STYLUS:
  		case BTN_1:
  		case BTN_RIGHT:		index = 1; break;
  		case BTN_2:
+		case BTN_FORWARD:
  		case BTN_STYLUS2:
  		case BTN_MIDDLE:	index = 2; break;
  		case BTN_3:

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-11-07  8:15 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-11-05 11:40 [PATCH] input: map BTN_FORWARD to button 2 in mousedev Németh Márton
2006-11-06 22:48 ` Dmitry Torokhov
2006-11-07  8:15   ` Németh Márton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox