How to remap or ignore certain mouse buttons? (was: Fun with Logitech keyboard/mouse kombo (diNovo Edge)...)

Alexander Leidinger Alexander at Leidinger.net
Thu May 8 13:13:30 UTC 2008


Quoting "Kai Wang" <kaiwang27 at gmail.com> (Thu, 8 May 2008 12:59:29 +0200):

> On Thu, May 8, 2008 at 10:36 AM, Alexander Leidinger <
> Alexander at leidinger.net> wrote:
> 
> > Quoting Alexander Leidinger <Alexander at Leidinger.net> (Wed, 7 May 2008
> > 19:24:20 +0200):
> >
> > > Hi,
> > >
> > > I bought a keyboard with an integrated touchpad from logitech. Just
> > > plugging in the BT-dongle gives an usb hub with ums and ukbd.
> > > Unfortunately the ums doesn't work. When I start moused with
> > > "-p /dev/ums0 -3 -f -d" I get no output when I press the buttons or
> > > touch the touchpad. Any hints how to debug this problem? usbhidctl
> > > doesn't print anything useful (but I don't know if it is ok to use it
> > > with /dev/ums0).
> >
> > After a little bit of googling I found a description of the problem
> > with the diNovo Edge. Quoting from
> >
> > http://www.mail-archive.com/linux-usb-users@lists.sourceforge.net/msg17777.html
> >
> 
> Hello Alexander,
> 
> Our hid parser sometimes has problems dealing with multiple report IDs, and
> our parser
> is different from the Linux one.

I've found a posting to the usb@ list where someone teached the USB
code to parse multiple report IDs for HIDs. Did someone had a look at
it?

> Could you please dump the report descriptor of your mouse and post it here?

It's a kbd/mouse-combo, here's the output when I plug it in:
---snip---
[report desc size=59]
USAGE PAGE Generic Desktop(0x1)
USAGE Keyboard(0x6)[Generic Desktop(0x1)]
COLLECTION Application(1)
  USAGE PAGE Keyboard(0x7)
  USAGE MINIMUM Keyboard LeftControl(224)
  USAGE MAXIMUM Keyboard Right GUI(231)
  LOGICAL MINIMUM 0
  LOGICAL MAXIMUM 1
  REPORT SIZE 1
  REPORT COUNT 8
  INPUT ( Data Variable Absolute ) (2)
  INPUT ( Const Variable Absolute ) (3)
  REPORT COUNT 5
  USAGE PAGE LEDs(0x8)
  USAGE MINIMUM Num Lock(1)
  USAGE MAXIMUM Kana(5)
  OUTPUT ( Data Variable Absolute ) (2)
  REPORT COUNT 1
  REPORT SIZE 3
  OUTPUT ( Const Array Absolute ) (1)
  REPORT COUNT 6
  REPORT SIZE 8
  LOGICAL MINIMUM 0
  LOGICAL MAXIMUM 164
  USAGE PAGE Keyboard(0x7)
  USAGE MINIMUM Reserved (no event indicated)(0)
  USAGE MAXIMUM Keyboard ExSel(164)
  INPUT ( Data Array Absolute ) (0)
END COLLECTION
[hexdump]
0000 05 01 09 06 A1 01 05 07 19 E0 29 E7 15 00 25 01
0010 75 01 95 08 81 02 81 03 95 05 05 08 19 01 29 05
0020 91 02 95 01 75 03 91 01 95 06 75 08 15 00 26 A4
0030 00 05 07 19 00 2A A4 00 81 00 C0
ukbd0: <Logitech Logitech BT Mini-Receiver, class 0/0, rev 2.00/49.00, addr 3> on uhub5
kbd1 at ukbd0

[report desc size=301]
USAGE PAGE Generic Desktop(0x1)
USAGE Mouse(0x2)[Generic Desktop(0x1)]
COLLECTION Application(1)
  REPORT ID 2
  USAGE Pointer(0x1)[Generic Desktop(0x1)]
  COLLECTION Physical(0)
    USAGE PAGE Button(0x9)
    USAGE MINIMUM Button1(1)
    USAGE MAXIMUM Button8(8)
    LOGICAL MINIMUM 0
    LOGICAL MAXIMUM 1
    REPORT COUNT 8
    REPORT SIZE 1
    INPUT ( Data Variable Absolute ) (2)
    USAGE PAGE Generic Desktop(0x1)
    LOGICAL MINIMUM -2047
    LOGICAL MAXIMUM 2047
    REPORT SIZE 12
    REPORT COUNT 2
    USAGE X(0x30)[Generic Desktop(0x1)]
    USAGE Y(0x31)[Generic Desktop(0x1)]
    INPUT ( Data Variable Relative ) (6)
    LOGICAL MINIMUM -127
    LOGICAL MAXIMUM 127
    REPORT SIZE 8
    REPORT COUNT 1
    USAGE Wheel(0x38)[Generic Desktop(0x1)]
    INPUT ( Data Variable Relative ) (6)
    USAGE PAGE Consumer(0xc)
    USAGE AC Pan(0x238)[Consumer(0xc)]
    LOGICAL MINIMUM -7
    LOGICAL MAXIMUM 7
    REPORT SIZE 4
    REPORT COUNT 1
    INPUT ( Data Variable Relative ) (6)
    USAGE PAGE Button(0x9)
    USAGE MINIMUM Button9(9)
    USAGE MAXIMUM Button12(12)
    LOGICAL MINIMUM 0
    LOGICAL MAXIMUM 1
    REPORT SIZE 1
    REPORT COUNT 4
    INPUT ( Data Variable Absolute ) (2)
  END COLLECTION
END COLLECTION
USAGE PAGE Generic Desktop(0x1)
USAGE Mouse(0x2)[Generic Desktop(0x1)]
COLLECTION Application(1)
  REPORT ID 5
  USAGE Pointer(0x1)[Generic Desktop(0x1)]
  COLLECTION Physical(0)
    USAGE PAGE Button(0x9)
    USAGE MINIMUM Button1(1)
    USAGE MAXIMUM Button8(8)
    LOGICAL MINIMUM 0
    LOGICAL MAXIMUM 1
    REPORT COUNT 8
    REPORT SIZE 1
    INPUT ( Data Variable Absolute ) (2)
    USAGE PAGE Generic Desktop(0x1)
    LOGICAL MINIMUM -2047
    LOGICAL MAXIMUM 2047
    REPORT SIZE 12
    REPORT COUNT 2
    USAGE X(0x30)[Generic Desktop(0x1)]
    USAGE Y(0x31)[Generic Desktop(0x1)]
    INPUT ( Data Variable Relative ) (6)
    LOGICAL MINIMUM -127
    LOGICAL MAXIMUM 127
    REPORT SIZE 8
    REPORT COUNT 1
    USAGE Wheel(0x38)[Generic Desktop(0x1)]
    INPUT ( Data Variable Relative ) (6)
    USAGE PAGE Consumer(0xc)
    USAGE AC Pan(0x238)[Consumer(0xc)]
    LOGICAL MINIMUM -127
    LOGICAL MAXIMUM 127
    REPORT SIZE 8
    REPORT COUNT 1
    INPUT ( Data Variable Relative ) (6)
  END COLLECTION
END COLLECTION
USAGE PAGE Consumer(0xc)
USAGE Consumer Control(0x1)[Consumer(0xc)]
COLLECTION Application(1)
  REPORT ID 3
  REPORT SIZE 16
  REPORT COUNT 2
  LOGICAL MINIMUM 1
  LOGICAL MAXIMUM 652
  USAGE MINIMUM Consumer Control(1)
  USAGE MAXIMUM AC Send(652)
  INPUT ( Data Array Absolute NoPreferred NullState ) (96)
END COLLECTION
USAGE PAGE Generic Desktop(0x1)
USAGE System Control(0x80)[Generic Desktop(0x1)]
COLLECTION Application(1)
  REPORT ID 4
  REPORT SIZE 2
  REPORT COUNT 1
  LOGICAL MINIMUM 1
  LOGICAL MAXIMUM 3
  USAGE System Sleep(0x82)[Generic Desktop(0x1)]
  USAGE System Power Down(0x81)[Generic Desktop(0x1)]
  USAGE System Wake Up(0x83)[Generic Desktop(0x1)]
  INPUT ( Data Array Absolute NoPreferred NullState ) (96)
  REPORT SIZE 6
  INPUT ( Const Variable Absolute ) (3)
END COLLECTION
USAGE PAGE Microsoft(0xff00)
USAGE Unknown Usage(0x1)[Microsoft(0xff00)]
COLLECTION Application(1)
  REPORT ID 16
  REPORT SIZE 8
  REPORT COUNT 6
  LOGICAL MINIMUM 0
  LOGICAL MAXIMUM 255
  USAGE Unknown Usage(0x1)[Microsoft(0xff00)]
  INPUT ( Data Array Absolute ) (0)
  USAGE Unknown Usage(0x1)[Microsoft(0xff00)]
  OUTPUT ( Data Array Absolute ) (0)
END COLLECTION
USAGE PAGE Microsoft(0xff00)
USAGE Unknown Usage(0x2)[Microsoft(0xff00)]
COLLECTION Application(1)
  REPORT ID 17
  REPORT SIZE 8
  REPORT COUNT 19
  LOGICAL MINIMUM 0
  LOGICAL MAXIMUM 255
  USAGE Unknown Usage(0x2)[Microsoft(0xff00)]
  INPUT ( Data Array Absolute ) (0)
  USAGE Unknown Usage(0x2)[Microsoft(0xff00)]
  OUTPUT ( Data Array Absolute ) (0)
END COLLECTION
USAGE PAGE Microsoft(0xff00)
USAGE Unknown Usage(0x3)[Microsoft(0xff00)]
COLLECTION Application(1)
  REPORT ID 18
  REPORT SIZE 8
  REPORT COUNT 45
  LOGICAL MINIMUM 0
  LOGICAL MAXIMUM 255
  USAGE Unknown Usage(0x3)[Microsoft(0xff00)]
  INPUT ( Data Array Absolute ) (0)
  USAGE Unknown Usage(0x3)[Microsoft(0xff00)]
  OUTPUT ( Data Array Absolute ) (0)
END COLLECTION
[hexdump]
0000 05 01 09 02 A1 01 85 02 09 01 A1 00 05 09 19 01
0010 29 08 15 00 25 01 95 08 75 01 81 02 05 01 16 01
0020 F8 26 FF 07 75 0C 95 02 09 30 09 31 81 06 15 81
0030 25 7F 75 08 95 01 09 38 81 06 05 0C 0A 38 02 15
0040 F9 25 07 75 04 95 01 81 06 05 09 19 09 29 0C 15
0050 00 25 01 75 01 95 04 81 02 C0 C0 05 01 09 02 A1
0060 01 85 05 09 01 A1 00 05 09 19 01 29 08 15 00 25
0070 01 95 08 75 01 81 02 05 01 16 01 F8 26 FF 07 75
0080 0C 95 02 09 30 09 31 81 06 15 81 25 7F 75 08 95
0090 01 09 38 81 06 05 0C 0A 38 02 15 81 25 7F 75 08
00A0 95 01 81 06 C0 C0 05 0C 09 01 A1 01 85 03 75 10
00B0 95 02 15 01 26 8C 02 19 01 2A 8C 02 81 60 C0 05
00C0 01 09 80 A1 01 85 04 75 02 95 01 15 01 25 03 09
00D0 82 09 81 09 83 81 60 75 06 81 03 C0 06 00 FF 09
00E0 01 A1 01 85 10 75 08 95 06 15 00 26 FF 00 09 01
00F0 81 00 09 01 91 00 C0 06 00 FF 09 02 A1 01 85 11
0100 75 08 95 13 15 00 26 FF 00 09 02 81 00 09 02 91
0110 00 C0 06 00 FF 09 03 A1 01 85 12 75 08 95 2D 15
0120 00 26 FF 00 09 03 81 00 09 03 91 00 C0
---snip---

Bye,
Alexander.

-- 
BOFH excuse #419:

Repeated reboots of the system failed to solve problem
http://www.Leidinger.net  Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org     netchild @ FreeBSD.org  : PGP ID = 72077137


More information about the freebsd-usb mailing list