# How do I configure the Logitech VX Revolution mouse?

## Kasumi_Ninja

I am trying to configure the  Logitech VX Revolution mouse. Unfortunately documentation is really sparse on the internet. I want to change this by adding the VX Revolution to the Gentoo wiki. But therefor I have to configure the VX first   :Smile: . The VX comes with:

1 A scrollwheel that can be pressed to the left and right as well

2 A button for search

3 A 'zoom' button

4 Two buttons at the side

See also: http://www.logitech.com/index.cfm/products/details/US/EN,crid=2676,contentid=12140

I guess I can configure the 'zoom' button fairly easy by following the instruction* for the Logitech MX Revolution. But other then that I am lost How do I configure xmodmap to 'know' all the keys and features of the VX? Ideas anyone?

*http://gentoo-wiki.com/HOWTO_Advanced_Mouse/Individual_Configurations#Logitech_MX_Revolution

----------

## Pseudonimo

Again, maybe this page has some info you don't know:

http://gentoo-wiki.com/HOWTO_Use_Multimedia_Keys

----------

## Kasumi_Ninja

 *Pseudonimo wrote:*   

> Again, maybe this page has some info you don't know:
> 
> http://gentoo-wiki.com/HOWTO_Use_Multimedia_Keys

 

If I am not mistaking this only for setting up keyboards?

----------

## Pseudonimo

The information I learned there (like programs used, configs, etc) was all I needed figure keyboard and mouse configuration, it was a while back but can't have changed much.

----------

## mog

I got a Logitech VX Revolution the relevant parts of my xorg.conf are as follows

```
# **********************************************************************

# Core Pointer's InputDevice section

# **********************************************************************

Section "InputDevice"

    Identifier  "Logitech VX Revolution"

    Driver      "evdev"

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

    Option      "Protocol"                      "auto"

    Option      "Buttons"                       "14"

    Option      "WHEELRelativeAxisButtons"      "4 5"

    Option      "HWHEELRelativeAxisButtons"     "7 6"

    #Option     "ButtonMapping"                 "1 2 3 4 5 6 7 8 9 10 11 12 13 14"

    Option      "Resolution"                    "1200"

EndSection
```

Apart from the search button this should have you covered. The search button is registered as a separate event node and can be accessed through that. However, I have not bothered setting it up yet. I hope this is a starting point. Also note, that if you only ever connect one Logitech Bluetooth device to your machine then you do not need to specify the device line. In that case it is possible to use the "Name" option of the evdev driver to automatically register the device.

----------

## Kasumi_Ninja

 *mog wrote:*   

> I got a Logitech VX Revolution the relevant parts of my xorg.conf are as follows
> 
> ```
> # **********************************************************************
> 
> ...

 

Thank you for contribution. I wished it worked right away but it didn't   :Crying or Very sad: . As soon I restart xorg with this mousedriver it crashes. Here what i did:

1 Replace the mousepart in xorg with your posted part

2 Added the evdev driver to my make.conf

3 re-emerge xorg-server

4 /etc/init.d/xdm restart

Xorg.0.log

```

(II) NVIDIA(0): Setting mode "1280x800"

(II) Loading extension NV-GLX

(II) NVIDIA(0): NVIDIA 3D Acceleration Architecture Initialized

(II) NVIDIA(0): Using the NVIDIA 2D acceleration architecture

(==) NVIDIA(0): Backing store disabled

(==) NVIDIA(0): Silken mouse enabled

(II) Loading extension NV-CONTROL

(==) RandR enabled

(II) Initializing built-in extension MIT-SHM

(II) Initializing built-in extension XInputExtension

(II) Initializing built-in extension XTEST

(II) Initializing built-in extension XKEYBOARD

(II) Initializing built-in extension XC-APPGROUP

(II) Initializing built-in extension SECURITY

(II) Initializing built-in extension XINERAMA

(II) Initializing built-in extension XFIXES

(II) Initializing built-in extension XFree86-Bigfont

(II) Initializing built-in extension RENDER

(II) Initializing built-in extension RANDR

(II) Initializing built-in extension COMPOSITE

(II) Initializing built-in extension DAMAGE

(II) Initializing built-in extension XEVIE

(II) Initializing extension GLX

(II) evdev brain: Rescanning devices (1).

(**) Option "CorePointer"

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

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

(**) Option "CoreKeyboard"

(**) Keyboard0: Core Keyboard

(**) Option "Protocol" "standard"

(**) Keyboard0: Protocol: standard

(**) Option "AutoRepeat" "500 30"

(**) Option "XkbRules" "xorg"

(**) Keyboard0: XkbRules: "xorg"

(**) Option "XkbModel" "pc105"

(**) Keyboard0: XkbModel: "pc105"

(**) Option "XkbLayout" "us"

(**) Keyboard0: XkbLayout: "us"

(**) Option "CustomKeycodes" "off"

(**) Keyboard0: CustomKeycodes disabled

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

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

(II) XINPUT: Adding extended input device "evdev brain" (type: evdev brain)

    xkb_keycodes             { include "evdev+aliases(qwerty)" };

    xkb_types                { include "complete" };

    xkb_compatibility        { include "complete" };

    xkb_symbols              { include "pc(pc105)+us" };

    xkb_geometry             { include "pc(pc104)" };

(II) Mouse0-isa0060/serio0/input0: Init

    xkb_keycodes             { include "xfree86+aliases(qwerty)" };

    xkb_types                { include "complete" };

    xkb_compatibility        { include "complete" };

    xkb_symbols              { include "pc(pc105)+us" };

    xkb_geometry             { include "pc(pc105)" };

(II) evdev brain: Rescanning devices (2).

(II) Mouse0-isa0060/serio0/input0: On

Backtrace:

0: /usr/bin/X(xf86SigHandler+0x85) [0x80c4485]

Fatal server error:

Caught signal 11.  Server aborting
```

----------

## Kasumi_Ninja

Solved!   :Very Happy:  I issued a 

#cat /proc/bus/input/devices

```
I: Bus=0003 Vendor=046d Product=c518 Version=4204

N: Name="Logitech USB Receiver"

P: Phys=usb-0000:00:0b.0-6/input0

S: Sysfs=/class/input/input0

H: Handlers=mouse0 event0

B: EV=7

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

B: REL=143

I: Bus=0003 Vendor=046d Product=c518 Version=4204

N: Name="Logitech USB Receiver"

P: Phys=usb-0000:00:0b.0-6/input1

S: Sysfs=/class/input/input1

H: Handlers=kbd event1

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
```

Which showed that my mouse was located at 0 or 1. I wonder which I should use. Currently I am using 0. Can I use 1? Or doesn't it matter?

----------

## Kenji Miyamoto

It looks like only the first one has a mouse handler; try that.

----------

## Kasumi_Ninja

 *Kenji Miyamoto wrote:*   

> It looks like only the first one has a mouse handler; try that.

 

Now I see... Thanks!

P.S. 

Who has a idea what these buttons are supposed to do? I still haven't found any use for the two side buttons and the two zoom buttons?!

----------

## mog

Yes, one is the mouse handler, the other one handles the search button. In respect to the buttons, the wheel tilt can is used for back/forward in some browsers (e.g. Firefox) for example. In general, you can map the buttons however you like.

Has your problem been solved? If so, maybe put [SOLVED] in the title  :Wink: .

----------

## Kasumi_Ninja

 *mog wrote:*   

> Yes, one is the mouse handler, the other one handles the search button. In respect to the buttons, the wheel tilt can is used for back/forward in some browsers (e.g. Firefox) for example. In general, you can map the buttons however you like.
> 
> Has your problem been solved? If so, maybe put [SOLVED] in the title .

 

It's almost solved   :Smile: . How do I map the buttons? And what do you mean with the mouse handler?

----------

