Using the Evoluent VMCR C Series Vertical Mouse with Linux


This is a quick guide for setting up your new mouse with Ubuntu. I'm a big fan of the Evoluent Mouse range, and I've agreed to publish this Linux guide in return for a review sample.

The Basics

The only way to configure this mouse is via the command-line. This may look a bit daunting, but I promise you it's simple. Just copy and paste the highlighted code.

Open up a Terminal. You'll usually find this in your main menu. Or, you can open it by pressing ctrl+alt+t.

Connect the mouse

  1. Make sure your computer is switched on.
  2. Plug the mouse's USB cable into your computer.

If you wiggle the mouse, you should see the cursor on your screen move.

Detecting the mouse

In the terminal, type

BASH BASHxinput

You should see a list of input devices - keyboards, mice, laptop buttons - this is what mine looks like

BASH BASH⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=11   [slave  pointer  (2)]
⎜   ↳ Kingsis Peripherals Evoluent VerticalMouse 5  id=14   [slave  pointer  (2)]

Detect the buttons

This command will detect all the buttons on the mouse:

BASH BASHxinput query-state "Kingsis Peripherals Evoluent VerticalMouse 5"

This is what the output should look like:

BASH BASH2 classes :
ButtonClass
    button[1]=up
    button[2]=up
    button[3]=up
    button[4]=up
    button[5]=up
    button[6]=up
    button[7]=up
    button[8]=up
    button[9]=up
    button[10]=up

Each button has a number. Note - some of these are virtual buttons. They do not have a physical button.

Here's a picture of the physical buttons: Mouse with multiple buttons.

Here is how they are mapped onto to actions.

ID Action Physical Button
1 Left Click Index finger
2 Middle Click Ring finger
3 Right Click Little finger
4 Scroll Up Wheel up
5 Scroll Down Wheel down
6 Scroll Left
7 Scroll Right
8 Top thumb
9 Bottom thumb
10 Forward

So, you can set physical button 9 (the bottom thumb) to scroll down. Or change the wheel up action to be right click. Any combination is possible - and you can choose what works best for you.

Change the buttons (temporary)

We can remap the buttons so they do something else. This is only temporary and will revert back to normal when you reboot. I'll show you a permanent way to re-order the buttons further down the page.

Suppose you want to swap button 1 and button 3 so that your left and right click are reversed. Here's the command you run:

BASH BASHxinput set-button-map "Kingsis Peripherals Evoluent VerticalMouse 5" 3 2 1 4 5 6 7 8 9 10

(Notice that the position of button 1 and 3?)

If you want to make the bottom-thumb button be left click, and leave all the other buttons the same, you run:

BASH BASH$ xinput set-button-map "Kingsis Peripherals Evoluent VerticalMouse 5" 1 2 3 4 5 6 7 8 1 10

If you want reverse the direction of the scroll wheel - sometimes called "natural" scrolling:

BASH BASHxinput set-button-map "Kingsis Peripherals Evoluent VerticalMouse 5" 1 2 3 5 4 6 7 8 9 10

Experiment with an order that feels right for you.

Permanently change the buttons

You need to find the USB Identifier of the mouse. In the terminal run:

BASH BASHlsusb

You'll see all of your USB devices. Find the one that refers to your mouse. For me, it is 1a7c:0195.

We now need to add this information into a configuration guide.

BASH BASHsudo nano /usr/share/X11/xorg.conf.d/90-evoluent.conf

This will ask you for your password. Once you've entered it, you'll be using the "nano" text editor.

Copy and paste the following text into the terminal:

Section "InputClass"
        Identifier      "Evoluent"
        MatchUSBID      "1a7c:0195"
        Option "ButtonMapping" "0 2 3 4 5 6 7 8 1 10"
EndSection

You may need to change the "MatchUSBID" if yours is different to mine. You will need to change the "ButtonMapping" to the order you prefer.

Once you're done, press ctrl+x to exit nano. It will ask you if you want to save the file. Type y, then press . You will need to press again to confirm the filename.

You may need to reboot your computer for the new settings to take effect.

Done!

That's it, you've now configured your mouse. If you need any more help, please leave a comment in the box below and I'll try to help.

You can buy the Evoluent C from Amazon UK or buy the wireless version.


Share this post on…

  • Mastodon
  • Facebook
  • LinkedIn
  • BlueSky
  • Threads
  • Reddit
  • HackerNews
  • Lobsters
  • WhatsApp
  • Telegram

10 thoughts on “Using the Evoluent VMCR C Series Vertical Mouse with Linux”

  1. Pdbl says:

    How could you map the forward on the thumb down button on a wired evoluent4 mouse?

    After testing the thumb down is on position 10 and not 9 like stated here. But I can't find the number to put in position 10 to have a forward on this button... I tested 6 7 9 10 by the way the 8 is backward

    Reply
    1. says:

      I think you can do this by replacing the 10th number with 7. That is 1 2 3 4 5 6 7 8 9 7 - but I am unable to try it. Sorry.

      Reply
    2. koebbel says:

      Perhaps you already figured out but maybe this helps others: I swapped positions 9 and 10 and it worked after a reboot. So I saved 1 2 3 4 5 6 7 8 10 9. Now i have forward on the thumb down button. Right now the wheel click has no function (or none I’m aware of). Make sure you first go back one step in a website so to be able to go forward.

      Reply
  2. Danny says:

    Can't seem to find out if it's possible to have 2 buttons control the dpi or acceleration of the mouse. I have a vertical mouse 4 which is very similar to the C, supposing I wanted to use buttons 8 and 9 (in the image) to adjust the mouse speed on the fly. Does anyone know if this is possible if so how can it be done?

    Reply
    1. says:

      I don't think this is possible. The DPI is set within the mouse itself. The button on the mouse literally changes the data which is sent to the computer. Sorry!

      Reply
  3. Laksh says:

    I have evoluent 4, is it possible to map buttons to do copy, cut, paste and delete directly? E.g. Button 2 = copy On Windows this can be done with the Evoluent mouse manager and it saves a lot of clicks.

    Reply
  4. Laksh says:

    Thanks, thats awesome and i have been able to remap most buttons.

    Though what i dont understand is, having remapped the mouse buttons to cut, copy, paste, delete and change the 'right mouse click' to a different mouse button works within a text file or web browser for example. But they are not always working everywhere. Eg remapped the 'right mouse button click' (used shift + F10) to a different mouse button is not working on the ubuntu desktop though it works in a text file or in a web browser,

    My entries in the .xbindkeysrc file -->

    Evoluent Mouse controls

    Control+c Copy, Evo mouse button 2 press event

    "xdotool key 'Control_L+c'" b:2 #

    Evoluent Mouse controls

    Control+x Cut, Evo mouse button 3 press event

    "xdotool key 'Control_L+x'" b:3 #

    Evoluent Mouse controls

    Control+v Paste, Evo mouse button 4 press event

    "xdotool key 'Control_L+v'" b:9 #

    Evoluent Mouse controls

    Control+d Paste, Evo mouse button 6 press event

    "xdotool key 'Control_L+d'" b:10 #

    Evoluent Mouse controls

    Right mouse click to open menu, Evo mouse button 5 press event

    "xdotool key 'Shift_L+F10'" b:8

    I have to test more, but any ideas how to get the right click working?

    Reply
  5. Chris says:

    Hi,

    In the Windows mouse manager app I have button 2 mapped as a double-click but I can't find any way to do that in Ubuntu. Do you have any clue as to what I should be doing to enable that?

    Reply

What links here from around this blog?

What are your reckons?

All comments are moderated and may not be published immediately. Your email address will not be published.

Allowed HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <p> <pre> <br> <img src="" alt="" title="" srcset="">