# logitech mx revolution evdev xorg 7.1

## johoe

I am not quite sure, if this is the correct forum for my problem. Today I could not resist and got one of this new funky mouse devices: a "Logitech MX Revolution".

This "the world's most advanced mouse." made my X crashing because it has no "core pointer capabilities"??? Here my configuration:

kernel 2.6.18

xorg 7.1

evdev 1.1.2-r1

xorg.conf

```
Section "InputDevice"

  Identifier  "MxRevolution"

  Driver "evdev"

  Option "CorePointer"

  Option "Protocol" "evdev"

  #Option "Device" "/dev/input/mxrev"

  #Option "Name Dev" "Logitech USB Receiver"

  Option "Dev Phys" "usb-0000:00:1d.0-1/input0"

EndSection
```

Xorg.0.log output:

```
(**) Option "CorePointer"

(**) MxRevolution-i2c-0/0-001a/ir0: Core Pointer

(**) Option "CorePointer"

(**) MxRevolution-isa0060/serio0/input0: Core Pointer

(WW) MxRevolution-isa0060/serio0/input0: does not have core pointer capabilities

(**) Option "CoreKeyboard"

(**) Keyboard1: Core Keyboard

(**) Option "Protocol" "standard"

(**) Keyboard1: Protocol: standard

(**) Option "XkbRules" "xorg"

(**) Keyboard1: XkbRules: "xorg"

(**) Option "XkbModel" "pc101"

(**) Keyboard1: XkbModel: "pc101"

(**) Option "XkbLayout" "de"

(**) Keyboard1: XkbLayout: "de"

(**) Option "CustomKeycodes" "off"

(**) Keyboard1: CustomKeycodes disabled

(II) XINPUT: Adding extended input device "Keyboard1" (type: KEYBOARD)

(II) XINPUT: Adding extended input device "MxRevolution-isa0060/serio0/input0" (type: KEYBOARD)

(II) XINPUT: Adding extended input device "MxRevolution-i2c-0/0-001a/ir0" (type: KEYBOARD)
```

cat /proc/bus/input/devices

```
I: Bus=0003 Vendor=046d Product=c51a Version=4101

N: Name="Logitech USB Receiver"

P: Phys=usb-0000:00:1d.0-1/input0

S: Sysfs=/class/input/input2

H: Handlers=mouse0 event2 

B: EV=7

B: KEY=ffff0000 0 0 0 0 0 0 0 0

B: REL=143

I: Bus=0003 Vendor=046d Product=c51a Version=4101

N: Name="Logitech USB Receiver"

P: Phys=usb-0000:00:1d.0-1/input1

S: Sysfs=/class/input/input3

H: Handlers=kbd event3 

B: EV=f

B: KEY=c0002 400 0 0 1 f80 78000 6639fa d84157ad 8e0000 0 0 0

B: REL=40

B: ABS=1 0

```

It seems that the kernel, X or edev thinks that "the world's most advanced mouse." is a keyboard and this is leading to the X crash.

After fideling around for hours I found out a working configuration:

kernel 2.6.18

xorg 7.1

evdev 1.0.0.5

xorg.conf

```
Section "InputDevice"

  Identifier  "MxRevolution"

  Driver "evdev"

  Option "CorePointer"

  Option "Protocol" "evdev"

  [b]Option "Device" "/dev/input/mxrev"[/b]

  #Option "Name Dev" "Logitech USB Receiver"

  #Option "Dev Phys" "usb-0000:00:1d.0-1/input0"

EndSection
```

The device /dev/input/mxrev is created via local udev-rule as suggested in many docs for the mx1000 mouse.

All other configs do not work! With this config everything is working as expected, except this new funny thumb wheel. Allthough evtest /dev/input/mxrev gives some results - xev shows no events for this wheel.

I've some headaches with this config, 'cause it looks like a dirty workaround and no correct solution for the future.

So is this a bug in kernel usb hid or evdev, or is it simply a f***ing "the world's most advanced mouse."?

Any suggestions,

  johoe

----------

## johoe

Solved this one:

you must not have a custom udev-rule for this device, then udev creates a /dev/input/event* device. Using this device everything is working as expected. All buttons working! Great mouse the "world's most advanced mouse"!

my current config:

gentoo 2006.1

xorg 7.1

udev 100-r2

xf86-input-evdev 1.1.2-r2

regards,

  johoe

----------

## DaneM

I have a similar problem.  I can't get the stated version of evdev to compile, and with the newest version (1.1.4-r1) it segfaults whenever I put "evdev" as the driver.

1) How did you get evdev to compile?

2) Will you please post your xorg.conf?

Thanks!

--Dane

----------

## johoe

xf86-input-evdev compiles without any problems here. then I checked 

cat /proc/bus/input/devices, which gives me:

```
I: Bus=0003 Vendor=046d Product=c51a Version=4101

N: Name="Logitech USB Receiver"

P: Phys=usb-0000:00:1d.0-1/input0

S: Sysfs=/class/input/input2

H: Handlers=mouse0 event2 

B: EV=7

B: KEY=ffff0000 0 0 0 0 0 0 0 0

B: REL=143

```

xorg.conf:

```

Section "InputDevice"

   Identifier  "MxEvdev"

        Driver      "evdev"

   Option       "CorePointer"

   Option      "Protocol"    "auto"

   #Option      "Name"    "Logitech USB Receiver"

        Option       "Device"   "/dev/input/event2"

EndSection 

```

You can try option "name" "logitech USB Receiver" but on my machine I had some strange results so prefer option "device". this is working here without any problems. the name of the input device might change, when you change your hardware...

johoe

----------

## DaneM

Thanks for posting!

Unfortunately, that didn't solve my problem, so I've started a new thread here: https://forums.gentoo.org/viewtopic-t-523202.html

Have a good day.

--Dane

----------

