Gentoo Wiki ArchivesGentoo Wiki

X11_Mouse/Individual_Configurations

Contents

Purpose

This page serves as a place to record individual mouse configurations for /etc/X11/xorg.conf, xmodmap, xinput, or any other modifications needed to get a mouse working properly. When a new mouse is posted here, please also take the time to add it to the list of verified mice on the main X11 Mouse page.

XOrg 6.9 or Greater, evdev, and USB Mice

Logitech Cordless Optical TrackMan

File: /etc/X11/xorg.conf
Section "InputDevice"
       Identifier  "Cordless Optical Trackman"
       Driver      "evdev"
       Option      "Device"        "/dev/input/event2"
       Option      "ZAxisMapping"  "4 5"
       Option      "Buttons"       "10"
EndSection

The following Xmodmap line maps the horizontal scroll buttons to position 6 and 7, enabling them in most browsers:

 
pointer = 1 3 2 4 5 8 9 7 6 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Logitech Cordless Desktop LX 501

File: /etc/X11/xorg.conf
Section "InputDevice"
    Identifier  "Keyboard1"
    Driver  "kbd"
    Option  "XkbModel"  "ltcd"
EndSection
 
Section "InputDevice"
    Identifier  "Keyboard2"
    Driver  "evdev"
    Option  "Device"    "/dev/input/event1"
EndSection

Section "InputDevice"
    Identifier  "Mouse1"
    Driver  "mouse"
    Option  "Protocol"  "Auto"
    Option  "Device"    "/dev/input/mice"
EndSection

Section "ServerLayout"
    Identifier  "layout0"
    Screen  "screen0"
    InputDevice "Mouse1" "CorePointer"
    InputDevice "Keyboard1" "CoreKeyboard"
    InputDevice "Keyboard2" "SendCoreEvents"
EndSection
Note: This set is a wireless keyboard and mouse. The keyboard's multimedia keys are sent through the mouse's evdev event. The hack to work around this is to use the /dev/input/mice interface for the mouse and use a primary and alternate keyboard (the alternate keyboard only sends multimedia key events). This configuration allows all 8 mouse buttons to work, and all multimedia keys to work.

Logitech RX300

File: /etc/X11/xorg.conf
Section "InputDevice"
   Identifier  "Mouse0"
   Driver      "evdev"
   Option      "Device"   "/dev/input/event1"
EndSection
 
 #xmodmap -e "pointer = 1 2 3 4 5 7 6 8 9 10 11 12"

Logitech MX310

File: /etc/X11/xorg.conf
Section "InputDevice"
   Identifier  "Mouse0"
   Driver      "evdev"
   Option      "Device"   "/dev/input/event0"
EndSection
 
 #xmodmap -e "pointer = 1 3 2 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32"

Logitech MX400 and MX615

without tilt wheel

File: /etc/X11/xorg.conf
...
Section "InputDevice"
   Identifier  "Mouse0"
   Driver      "evdev"
   Option      "evBits"  "+1-2"
   Option      "keyBits" "~272-287"
   Option      "relBits" "~0-2 ~6 ~8"
   Option      "Pass"    "3"
   Option      "Buttons" "9"
   Option      "ZAxisMapping" "4 5"
EndSection
...
#xmodmap -e "pointer = 1 2 3 4 5 8 9 6 7"

Logitech MX500

File: /etc/X11/xorg.conf
Section "InputDevice"
  Identifier  "Mouse0"
  Driver      "evdev"
  Option      "evBits" "+1-2"
  Option      "keyBits" "~272-287"
  Option      "relBits" "~0-2 ~6 ~8"
EndSection

Under XOrg 7.1, this gets all buttons working normally (mostly), including Back, Forward, Scroll, and Cruise. xmodmap and imwheel are not needed. With this config the Quick Switch Program Selector button doesn't do anything by default, but xev shows it as Button 8. Cruise Up triggers three events - Button 4 Press, Button 4 Release and Button 9 release. Cruise Down triggers three events - Button 5 Press, Button 5 Release and Button 10 Release.

Logitech MX510, MX518, MX900

File: /etc/X11/xorg.conf
Section "InputDevice"
   Identifier  "Mouse0"
   Driver      "evdev"
   Option      "Device"   "/dev/input/event1"
EndSection
 
 #xmodmap -e "pointer = 1 3 2 4 5 8 9 6 7 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32"
Note: Working for MX518
#xmodmap -e "pointer = 1 2 3 6 7 4 5 8 9 10"
Note: I have found that for my Mx510 it should be "pointer = 1 2 3 ..." otherwise pushing on the scrollwheel will be the RMB. Not sure what all the higher numbers are there for, but the "smartscroll" up and down buttons generate different button numbers for ButtonPress and ButtonRelease.

Update for MX510 & Xorg 7.1 or higher

The above xmodmap mixes up the buttons once you switch to Xorg 7.1. The following modification makes all the buttons work as they should:

 #xmodmap -e "pointer = 1 2 3 4 5 6 7 8 9 10"

However, the previous command is not remapping any buttons so it would be the same as not to execute it at all since it is the default mapping.

Note: You should take into account, though, that if you're using xbindkeys or a similar program to assign a keybinding to the so called "Quick Switch Program Selector" (topmost button with two overlapped squares), this button changes mapping under the default mapping to button 8 instead of 10 in previous versions of Xorg.

MX518 & Xorg 7.1 (or higher)

The configuration from the MX700 works perfect for me!

See Logitech MX700.

Logitech MX610

File: /etc/X11/xorg.conf
Section "InputDevice"
   Identifier  "Mouse0"
   Driver      "evdev"
   Option      "evBits" "+1-2"
   Option      "keyBits" "~272-287"
   Option      "relBits" "~0-2 ~6 ~8"
EndSection
File: ~/.Xmodmap OR /etc/X11/Xmodmap
 ! MX610 button mappings
 pointer = 1 2 3 4 5 9 8 6 7 10 11 12 13 14 15 16 17 18 19 20
 
 ! MX610 Volume+, Volume- and VolumeMute keys
 keycode 176 = XF86AudioRaiseVolume
 keycode 174 = XF86AudioLowerVolume
 keycode 160 = XF86AudioMute
 
 ! MX610 Email button
 keycode 236 = XF86Mail

The above button map gives the following:

ButtonPhysical Button NumberMapped Button NumberDefault Software Action
Left mouse button1button 1left click
Middle mouse button2button 2middle click
Right mouse button3button 3right click
Mouse scroll up4button 4mouse scroll up
Mouse scroll down5button 5mouse scroll down
Forward button8button 7forward
Back button9button 6back
Mouse scroll left6button 8click/unused
Mouse scroll right7button 9click/unused

Trying to swap the buttons for "scroll right" and "scroll left" and other pointer combinations appears to completely change how the buttons are reported by the mouse. This mouse is downright strange.

Volume+, Volume-, VolumeMute and Email buttons provide keycodes 176, 174, 160 and 236 respectively. You can map these as you like via the keysyms provided above using either xbindkeys or the relevant keyboard shortcut configuration software for your desktop environment. The IM button does not work without some extra conjuration. Email and IM lights require HIDDEV support in the kernel and a userspace utility such as mx610hack.

Logitech MX700

File: /etc/X11/xorg.conf
Section "InputDevice"
   Identifier  "Mouse0"
   Driver      "mouse"
   Option      "Device"          "/dev/input/mice"
   Option      "Protocol"        "ExplorerPS/2"
   Option      "Buttons"         "9"
   Option      "ZAxisMapping"    "4 5"
   Option      "ButtonMapping"   "1 2 3 6 7 8 9 10 11"
EndSection

With this limited configuration in xorg.conf, you will NOT need to use imwheel or xmodmap to change any button settings, everything will just work.

Hint for MX518

Note: This works very well with my MX518 here.

Logitech MX1000

File: /etc/X11/xorg.conf
Section "InputDevice"
   Identifier  "Mouse0"    
   Driver      "evdev"
   #Option      "Device"   "/dev/input/mx1000" #see static UDEV device names section
   Option      "Name"     "Logitech USB Receiver" #UDEV above won't work under xorg7.1
EndSection

There appears to be two versions of the MX1000, one which works out of the box with evdev and one which needs the following Xmodmap:

 
 #xmodmap -e "pointer = 1 3 2 4 5 8 9 6 7 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32"

If your third (middle) and second (right) button gets switched use this line:

 #xmodmap -e "pointer = 1 2 3 4 5 8 9 6 7 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32"


Note: Different buttons may emit the same button number if smartscroll is turned on at the reciever, to recover the use of the extra buttons install lomoco (its in portage) and run
lomoco --no-sms
This may apply to other logitech mice

Logitech MX Revolution

Getting all of the buttons on this mouse to function correctly requires the following packages:

If these are not already installed, emerge them.

emerge -av xf86-input-evdev xvkbd xbindkeys xmodmap

Additionally, to get these extra features:

You will need to emerge revoco from betelgeuse's overlay at http://overlays.gentoo.org/svn/dev/betelgeuse/app-misc/revoco/. Instructions for doing this are located here: http://planet.gentoo.org/developers/betelgeuse?blog=67&title=getting_mx_revolution_setup_in_gentoo. This is still experimental as you may have to edit the source to change the USB ID.

Now we need to use xmodmap to modify how X interprets the key presses.

xmodmap -e "pointer = 1 2 3 4 5 7 6 8 9 10 11 12 13 14 15 16 17 18 19 20"

At this point, the search button under the top scroll wheel of the mouse can now be set to a keystroke. Personally, I prefer having this set to refresh web pages, which means setting it to F5.

xmodmap -e "keycode 122 = F5"

This can also be modified to execute programs, scripts, or complicated keystrokes. This is done with xbindkeys and xvkbd. xbindkeys can bind input device events to commands. To get it to map input device events to keystrokes we use a virtual keyboard, xvkbd. First, xbindkeys must be configured with ~/.xbindkeysrc. Here is and example configuration which maps the up and down thumb wheel to Ctrl + Page Up and Ctrl + Page (Next Tab and Previous Tab hotkeys in firefox).

"xvkbd -text "\[Control]\[Prior]""
    m:0x0 + b:15
"xvkbd -text "\[Control]\[Next]""
    m:0x0 + b:13
"xvkbd -text "\[Control]w""
    m:0x0 + b:17

The format of the file is

"command"
    keystroke code

The keystroke code can be gotten by executing

xbindkeys -k

and pressing the desired key in the window that opens. In the example configuration file the up thumbwheel scroll is mapped to Control + Page Up. This is done with the command

xvkbd -text "\[Control]\[Next]"

the -text option tells xvkbd to send the keystrokes to X. The keystrokes are defined by their symbols between the quotation marks. In this case \[Control] is the symbol for the Control key and \[Next] is the symbol for the Page Up key. These symbols can be discovered by using the xev utility. Type xev, select the window that appears and press a key. The following output should occur:

KeyRelease event, serial 32, synthetic NO, window 0x1800001,
    root 0x79, subw 0x0, time 409769815, (500,112), root:(821,450),
    state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

The important part is Shift_L on the third line. In this case, the Left Shift key was pressed, thus the Shift_L event. To turn this into a symbol that xvkbd can recognize, we put it between a backslash and brackets (eg \[Shift_L] ). With these tools, all buttons on the mouse can be used. Simply create the desired .xbindkeysrc and start up xbindkeys:

xbindkeys


Here is an alternative configuration for the side wheel (buttons 13 and 15) using xbindkeys. It allows the the wheel to act as a page up/down if pushed quickly, or scroll continuously (up to 10s so it doesn't get stuck) if held in one direction. This mimics the default behaviour in Windows.

# "Cruise Control" Enabled:
"EPOCH=`date +%s%N`; echo $EPOCH > /dev/shm/b13dn; sleep .25s; while [ -f /dev/shm/b13dn ] && [ `date +%s%N` -le $(($EPOCH + 10000000000)) ]; do sleep .001s; xvkbd -text '\[Up]'; done; rm /dev/shm/b13dn;"
    m:0x0 + b:13
"if [ -f /dev/shm/b13dn ] && [ `date +%s%N` -le $((`cat /dev/shm/b13dn` + 300000000)) ]; then xvkbd -text '\[Prior]'; fi; rm /dev/shm/b13dn"
    release + b:13

"EPOCH=`date +%s%N`; echo $EPOCH > /dev/shm/b15dn; sleep .25s; while [ -f /dev/shm/b15dn ] && [ `date +%s%N` -le $(($EPOCH + 10000000000)) ]; do sleep .001s; xvkbd -text '\[Down]'; done; rm /dev/shm/b15dn;"
    m:0x0 + b:15
"if [ -f /dev/shm/b15dn ] && [ `date +%s%N` -le $((`cat /dev/shm/b15dn` + 300000000)) ]; then xvkbd -text '\[Next]'; fi; rm /dev/shm/b15dn"
    release + b:15

With recent kernels you can also make the middle button below the mouse wheel act as a middle click. First, enable CONFIG_MAC_EMUMOUSEBTN (Device Drivers->Macintosh Device Drivers->Support for mouse button 2+3 emulation), then add the following two lines to /etc/sysctl.conf:

# Enable mouse button emulation
dev.mac_hid.mouse_button_emulation = 1
# Set 2nd button to 217 - the middle button of MX Revolution mouse.
dev.mac_hid.mouse_button2_keycode = 217

You can use showkeys from a console screen to determine what keycode to enter there.

Logitech V200 Wireless

File: /etc/X11/xorg.conf
Section "InputDevice"
	Identifier "V200"
	Driver "evdev"
	Option "Name" "Logitech USB Receiver"
        Option "HWHEELRelativeAxisButtons" "7 6"
EndSection

No xmodmap command is necessary.

Logitech V320 Wireless

File: /etc/X11/xorg.conf
Section "InputDevice"
	Identifier "Mouse2"
	Driver "evdev"
	Option "Name" "Logitech USB Receiver"
        Option "HWHEELRelativeAxisButtons" "7 6"
EndSection

No xmodmap command is necessary.


Logitech V450 Wireless

File: /etc/X11/xorg.conf
Section "InputDevice"
	Identifier "V450"
	Driver "evdev"
	Option "Name" "Logitech USB Receiver"
        Option  "Phys" "usb-*/input0"
        Option "HWHEELRelativeAxisButtons" "7 6"
EndSection

The "Phys" Option is because there is 2 devices named "Logitech USB Receiver" : One for mouse the other for keyboard. As we want the mouse one, we need it. No xmodmap command is necessary.

Logitech VX Nano

File: /etc/X11/xorg.conf
Section "InputDevice"
        Identifier      "VXNano"
        Driver          "evdev"
        Option          "Name" "Logitech USB Receiver"
        Option          "Dev Phys" "usb-0000:00:1a.1-1/input0"
        Option          "Buttons" "9"
        Option          "WHEELRelativeAxisButtons" "4 5"
        Option          "HWHEELRelativeAxisButtons" "7 6"
EndSection

Again the "Dev Phys" Option is needed to distinguish between the keyboard and the mouse devices provided by the "Logitech USB Receiver"

Logitech G3

File: /etc/X11/xorg.conf
Section "InputDevice"
   Identifier  "Mouse0"
   Driver      "evdev"
   Option      "Name"   "Logitech USB Gaming Mouse"
EndSection
 
 #xmodmap -e "pointer = 1 2 3 4 5 8 9 6 7"

Logitech G5, G7

File: /etc/X11/xorg.conf
Section "InputDevice"
   Identifier  "G5"
   Driver  "evdev"
   Option  "Name"  "Logitech USB Gaming Mouse"
   Option  "HWHEELRelativeAxisButtons" "7 6"
EndSection

If this configuration does not work for you, check out http://forums.gentoo.org/viewtopic-p-4228484.html#4228484

Logitech G9

The following worked for me for my new G9 using the information provided by `cat /proc/bus/input/devices` Apparently the G9 registers as both a mouse and keyboard input device, so I had to specify the Dev Phys. I have yet to figure out what the keyboard input device does.

File: /etc/X11/xorg.conf

Section "InputDevice"

   Identifier     "Mouse1"
   Driver         "evdev"
   Option         "Dev Phys" "usb-0000:00:02.0-7/input0" # from /proc/bus/input/devices
   Option         "Device" "/dev/input/event2" # from /proc/bus/input/devices
   Option         "Dev Name" "Logitech G9 Laser Mouse" # from /proc/bus/input/devices
   Option         "HWHEELRelativeAxisButtons" "6 7"
   Option         "WHEELRelativeAxisButtons" "4 5"
   Option         "Emulate3Buttons" "false"
   Option         "Buttons" "9"

EndSection

Logitech LX3

The tilt wheel appears to be inverted, pushing it to the left scrolls right, the following will fix this:

File: /etc/X11/xorg.conf
Section "InputDevice"
	Identifier "logitech"
	Driver "evdev"
	Option "Name" "Logitech USB-PS/2 Optical Mouse"
        Option "HWHEELRelativeAxisButtons" "7 6"
EndSection

Additional note: The above didn't work for me but the following does:

File: /etc/X11/xorg.conf
Section "InputDevice"
    Identifier  "Mouse1"
    Driver "evdev"
    Option "ZAxisMapping" "7 6"
    Option "Name" "Logitech USB-PS/2 Optical Mouse"
    Option "SendCoreEvents"        "true"
    Option "Emulate3Buttons"
EndSection

Another additional note: Both of the above advices didn't work for me but the following did:

File: /etc/X11/xorg.conf
Section "InputDevice"
        Identifier      "Logitech"
        Driver          "evdev"
        Option "evBits" "+1-2"
        Option "keyBits" "~272-287"
        Option "relBits" "~0-2 ~6 ~8"
        Option "Pass" "3"
EndSection

Also the Section "ServerLayout" must contain the following line:

Inputdevice "Logitech" "SendCoreEvents"

Logitech LX5

3-button mouse with tilt wheel. As with the LX3, the tilt wheel is inverted. This is easily fixed by adding the HWHEELRelativeAxis Buttons directive. In addition to this, add InputDevice "Logitech LX5" "SendCoreEvents" to your ServerLayout section.

WARNING: This mouse will be detected as MX1000, because its receiver has the same product ID, and some distributions will attempt to use the lmpcm_usb driver, which is broken (side scrolling will not work). To prevent this, blacklist this driver in /etc/modprobe.d/blacklist.

File: /etc/X11/xorg.conf
Section "InputDevice"
    Identifier  "Logitech LX5"
    Driver "evdev"
    Option "Name" "Logitech USB RECEIVER"
    Option "HWHEELRelativeAxisButtons" "7 6"
EndSection

Logitech LX7

I made this mice work with the following configs. The last two lines are commented out, because they have a meaning, and should work, but they don't. So I have horizontal scroll only in firefox, but it is also buggy, because I have to chose between horizontal scroll and back/forward with the mouse. I don't know, why other apps doesn't support horizontal scoll, and why firefox interprets by default button 6 & 7 forward and backward, instead of using button 8 & 9 for this. The drag lock master meta key doesn't work also. Why? Don't know. Please bugreport it, when you know where to.

File: /etc/X11/xorg.conf
Section "InputDevice"
	Identifier "logitech"
	Driver "evdev"
	Option "Name" "Logitech USB RECEIVER"
        Option     "SendCoreEvents"
	#Option "DragLockButtons" "9"
	#Option "ZAxisMapping" "4 5 11 12"
EndSection

It is also a good idea to put this in a xorg startup scipt, because it binds the buttons in a sensible order.

xinput set-button-map logitech-usb-0000:00:1d.0-1/input0 1 2 3 4 5 11 12 8 9 10 6 7


Logitech LX8

Few buttons are switched (use Xmodmap or xinput to change it).Place proper event number instead of X.

File: /etc/X11/xorg.conf
Section "InputDevice"
        Identifier      "Mouse0"
        Driver          "evdev"
        Option          "CorePointer"
        Option          "Device"        "/dev/input/eventX"
        Option          "Buttons"       "9"
        Option          "ZAxisMapping"  "4 5"
        Option          "Resolution"    "800"
EndSection

Logitech Marble Mouse

Marble Mouse is a USB trackball with 4 buttons. This configuration work for Xorg 7.1 with the device plugged into the PS/2 port with an adapter.

File: /etc/X11/xorg.conf
Section "InputDevice"
        Identifier "MarbleMouse"
        Driver     "mouse"
        Option	   "Protocol" "auto"
        Option	   "Device" "/dev/input/mice"
        Option     "Buttons" "5"
        Option     "ButtonMapping" "1 8 3 2 9"
        Option     "EmulateWheel"  "true"
        Option     "EmulateWheelTimeout" "300"  # msec
        Option     "EmulateWheelButton"  "2"
        Option     "YAxisMapping"        "4 5"
        Option     "XAxisMapping"        "6 7"
EndSection

The above button map gives the following:

ButtonPhysical Button NumberMapped Button NumberDefault Software Action
Left 1 1 left click
Left-Middle 8 2 middle click (< 300 ms)
Right-Middle 9 1 left click (sometimes)
Right 3 3 right click

Clicking and releasing Left-Middle quickly gives standard middle click behavior. Holding down Left-Middle and then moving the trackball gives horizontal and vertical scroll wheel action! I chose Left-Middle for scroll wheel mode because I'm right-handed. Lefties will need to swap some numbers.

Depending on the application, Right-Middle either behaves like left click or is ignored. It's an awkward button for right-handers. However, if you need to hold down button 2 and move the cursor, choose physical button 9 for EmulateWheelButton.

Logitech Cordless Click! Plus

These simple changes to xorg.conf should get all the buttons (including tilt wheel!) working properly, confirmed under X.Org 7.3.

Forward and back buttons work automagically in Firefox 3, and the tilt wheel scrolls left and right. The button on top of the mouse does nothing (at least not in KDE), but does produce a Button 10 event that can be manually configured.

In xorg.conf, make sure the InputDevice section contains the quirky Bits options from X11 Mouse, but specify a Device instead of letting evdev detect it. The entire section should look like this:

File: /etc/X11/xorg.conf
Section "InputDevice"
        Identifier  "Logitech Cordless Click Plus"
        Driver      "evdev"
        Option      "Device"        "/dev/input/by-id/usb-Logitech_USB_RECEIVER-event-mouse"
        Option      "evBits"        "+1-2"
        Option      "keyBits"       "~272-287"
        Option      "relBits"       "~0-2 ~6 ~8"
        Option      "Pass"          "3"
EndSection

Poke around in /dev/input to see what your device should be. Something that looks mouse-like and also has 'event' in its name would be a good choice.

Finally, make sure at the bottom of xorg.conf you have a proper ServerLayout section, and that it specifies "SendCoreEvents" for the mouse. It might look something like this:

File: /etc/X11/xorg.conf
Section "ServerLayout"
        Identifier "Default Layout"
        Screen "Default Screen"
        InputDevice "Logitech UltraX"
        InputDevice "Logitech Cordless Click Plus" "SendCoreEvents"
EndSection
Note: Make absolutely sure to match the strings in your ServerLayout section with the Identifier lines in your keyboard, mouse and screen sections. If they do not match, your X server will refuse to start.

All buttons should now work as advertised, except the top one. To make it do something, configure it with xbindkeys and xvkbd. The guide for [#Logitech MX Revolution|Logitech MX Revolution]] above explains the details.

If you own a widescreen monitor you may wonder why you need horizontal scroll. Also, one can never have too many Back/Forward buttons. To make the tilt wheel go back and forward in Firefox, open about:config and modify this option:

mousewheel.horizscroll.withnokey.action       =  2

This may leave the tilt wheel reversed, so left goes forward and right goes back. In that case, modify these two options as well:

mousewheel.horizscroll.withnokey.numlines     =  -1
mousewheel.horizscroll.withnokey.sysnumlines  =  false

Microsoft Bluetooth Notebook Mouse 5000

File: /etc/X11/xorg.conf
# cat /proc/dev/input/devices
<snip>
I: Bus=0005 Vendor=045e Product=0700 Version=0100
N: Name="Microsoft Bluetooth Notebook Mouse 5000"
P: Phys=00:1C:26:D9:FD:07
S: Sysfs=/class/input/input9
U: Uniq=00:12:5A:68:A9:B7
H: Handlers=mouse4 event8
B: EV=f
B: KEY=f0000 0 0 0 0
B: REL=103
B: ABS=10000000000
Section "InputDevice"
        Identifier      "External Mouse"
        Driver          "evdev"
        Option          "SendCoreEvents"        "true"
        Option          "Device"        "/dev/input/event8"
        Option          "Vendor"        "Sysp"
        Option          "ZAxisMapping"  "4 5"
        Option          "Buttons" "6"
        Option          "ButtonMapping" "1 2 3 6"
EndSection

Since this is a laptop add on mouse, this device is an additional pointer and generally not the core pointer. Either the TrackPoint or the TouchPad are configured as primary pointing devices. You might need to edit the value for Option "Device" above. In order to see what device exactly is used by your mouse use the following command: cat /proc/dev/input/devices and search for the device of the mouse (for example, in my case it was event8). Also, make sure to have the needed kernel capabilities. In short - see also this document for a more complete tour of the process: X11 Mouse

This is another alternate configuration that may work for you as well:

File: /etc/X11/xorg.conf
Section "InputDevice"
        Identifier      "External Mouse"
        Driver          "mouse"
        Option          "Protocol"      "ExplorerPS/2"
        Option          "SendCoreEvents"        "true"
        Option          "Device"        "/dev/input/mice"
        Option          "ZAxisMapping"  "4 5"
        Option          "Buttons" "6"
        Option          "ButtonMapping" "1 2 3 6"
        Option          "Emulate3Buttons" "true"
EndSection

Microsoft Intellimouse

File: /etc/X11/xorg.conf
Section "InputDevice"
       Identifier      "Configured Mouse"
       Driver          "evdev"
       Option          "Device"                "/dev/input/input2"
       Option          "Name"                  "Microsoft Intellimouse"
EndSection
xmodmap -e "pointer = 1 2 3 4 5 8 9 6 7 10 11"

Microsoft Comfort Optical mouse 3000

File: /etc/X11/xorg.conf
Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "evdev"
    Option         "Name" "Microsoft Microsoft Optical Mouse with Tilt Wheel"
    Option         "DIALRelativeAxisButtons" "7 6"
EndSection

This mouse has vertical and horizontal scroll via a tilt wheel, and 1 extra button on the left side under the thumb position. It (mis?)reports the horizontal scroll as being a DIAL axis, hence the remapping of the buttons. The extra side button is mapped to button 9.

PS: I found the option "DIALRelativeAxisButtons" was not needed on my case, however, horizontal scrolling got inverted. To fix this, I added this line:

   Option         "HWHEELRelativeAxisButtons" "7 6"

instead.

Microsoft Intellimouse Optical

File: /etc/X11/xorg.conf
Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/input/mice"
    Option         "ZAxisMapping" "4 5 8 9"
    Option         "ButtonMapping" "1 2 3 6 7 10 11"
EndSection

That should give you working back and forward capability in Firefox with the side buttons, while preserving normal functionality of all your other buttons/wheels.

Microsoft Wireless IntelliMouse Explorer 2.0

without tilt wheel

File: /etc/X11/xorg.conf
Section "InputDevice"
   Identifier   "Mouse1"
   Driver       "evdev"
   Option       "Device"  "/dev/input/event1"
EndSection

The thumb for back/fwd and the scroll wheel work now. (I must have some slightly different versions. In X.Org 7.0 I cannot get the tilt wheel working.)

xmodmap -e "pointer = 1 2 3 4 5 8 9 6 7"

using tilt wheel

File: /etc/X11/xorg.conf
Section "InputDevice"
   Identifier   "Mouse1"
   Driver       "evdev"
   Option       "Device"  "/dev/input/event1"
EndSection

Microsoft Wireless Laser Mouse 5000

xorg.conf

This configuration avoids the Xorg error "bad valuators reported for device" when using the tilt wheel on some versions of the Xserver, in my case the Xserver for Ubunutu 8.04(Hardy Heron)

File: /etc/X11/xorg.conf
Section "InputDevice"
   Identifier   "Mouse1"
   Driver	"evdev"
#
# note be careful to select your 'event[#]' from
# /proc/bus/input/devices 
#
   Option 	"Device" "/dev/input/event[#]"
   Option	"Name" "Microsoft Microsoft Wireless Optical Mouse"
   Option       "SendCoreEvents"    "true"
   Option       "RelDialMapTo"  "Buttons 11 12"
EndSection

.xbindkeysrc

This configuration allows the tilt on the mouse to do C-PgDn and C-PgUp which works well with Firefox and Konsole tabs and others with some tweeks to their key bindings.

File: /etc/X11/xorg.conf
##
## Binds the Microsoft Wireless Laser Mouse 5000 11(right tilt) to the Control-PageDown key
## this can is selects the next tab in Firefox or the next session tab in Konsole.  
##
"/usr/bin/xvkbd -xsendevent -text '\[Control_L\]\[Next]'"
m:0x0 + b:11

"/usr/bin/xvkbd -xsendevent -text '\[Control_L\]\[Prior]'"
m:0x0 + b:12

Microsoft Wireless Laser Mouse 6000

File: /etc/X11/xorg.conf
Section "InputDevice"
        Identifier "Mouse0"
        Driver "evdev"
        Option "CorePointer"
        Option "Device" "/dev/input/event0"
        Option "Buttons" "9"
        Option "ZAxisMapping" "4 5"
        Option "DialRelativeAxisButtons" "6 7"
EndSection

This configuration gets the scroll wheel tilt function working. Important note: You might need to edit the value for Option "Device" above. In order to see what device exactly is used by your mouse use the following command: cat /proc/bus/input/devices and search for the device of the mouse (for example, in my case it was event2). Also, make sure to have the needed kernel capabilities. In short - see also this document for a more complete tour of the process: X11 Mouse

Microsoft Habu

File: /etc/X11/xorg.conf
Section "InputDevice"
  Identifier    "Habu Mouse"
  Driver        "mouse"
  Option        "Dev Name" "Tempest Habu Mouse"
  Option        "Protocol" "auto"
  Option        "Device" "/dev/input/mice"
  Option        "Buttons" "9"
  Option        "ZAxisMapping" "4 5"
  Option        "Emulate3Buttons" "false"
  Option        "ButtonMapping" "1 2 3 6 7 8 9"
EndSection

This code does not allow the second side button to function properly.

Do not use this code for the Microsoft habu!!!!!

Razer Copperhead Laser Mouse

File: /etc/X11/xorg.conf
Section "InputDevice"
Identifier "Copperhead"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
Option "ZAxisMApping" "4 5"
Option "Buttons" "8"
Option "ButtonMapping" "1 2 3 6 7 8 9"
EndSection

This button layout lets the tilt wheel side motion work in firefox as left for back and right for forward.

xmodmap -e "pointer = 1 2 3 4 5 7 6 8 9"

Razer Lachesis Laser Mouse

File: /etc/X11/xorg.conf
Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto" #"ExplorerPS/2" "auto"
    Option         "Device" "/dev/input/mice"
    Option         "ZAxisMapping" "4 5"
#    Option        "XAxisMapping" "6 7"
    Option         "Buttons" "9"
    Option         "ButtonMapping" "1 2 3 6 7 8 9"
EndSection

Wheel works, as well as side buttons, by xbindkeys

File: ~/.xbindkeysrc
"xset m 1/10 1"
   b:6

"xset m 1/2 1"
   b:7

Button 8 & 9 were configured on windows, by standart razer software as DPI down and DPI up

Easy Cat Touchpad

An "Easy Cat" touchpad can mimic an IntelliMouse:

File: /etc/X11/xorg.conf
Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/input/mice"
    Option         "ZAxisMapping" "4 5"
    Option	   "Emulate3Buttons" "yes"
EndSection

This provides the usual three button mouse capability plus vertical scrolling.

a4tech x7 series 4X3FIRE Full Speed Optical Gaming Mouse

File: /etc/X11/xorg.conf
Section "InputDevice"
    Identifier     "Mouse0"    
    
    Driver      "evdev"
    Option      "Device" "/dev/input/event4"
    
EndSection

This button layout makes the back and forward side buttons work in firefox:

xmodmap -e "pointer = 1 2 3 4 5 8 9 7 6 10"

Note for XOrg 7.1 or Greater

XOrg 7.0 button remappings will work for XOrg 7.1 with one exception: The evdev driver for 7.1 reverses the second and third buttons. Adjust your mappings accordingly.

Retrieved from "http://www.gentoo-wiki.info/X11_Mouse/Individual_Configurations"

Last modified: Mon, 15 Sep 2008 13:57:00 +1000 Hits: 63,467

Created by NickStallman.net, Luxury Homes Australia
Real estate agents should list their apartments, townhouses and units in Australia.