X11 Mouse/Individual Configurations
From Gentoo Linux Wiki
[edit] 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.
[edit] XOrg 6.9 or Greater, evdev, and USB Mice
[edit] 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
[edit] 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
|
[edit] 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"
[edit] 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"
[edit] 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"
[edit] 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.
[edit] 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"
#xmodmap -e "pointer = 1 2 3 6 7 4 5 8 9 10"
[edit] 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.
[edit] MX518 & Xorg 7.1 (or higher)
The configuration from the MX700 works perfect for me!
See Logitech MX700.
[edit] 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:
| Button | Physical Button Number | Mapped Button Number | Default Software Action |
|---|---|---|---|
| Left mouse button | 1 | button 1 | left click |
| Middle mouse button | 2 | button 2 | middle click |
| Right mouse button | 3 | button 3 | right click |
| Mouse scroll up | 4 | button 4 | mouse scroll up |
| Mouse scroll down | 5 | button 5 | mouse scroll down |
| Forward button | 8 | button 7 | forward |
| Back button | 9 | button 6 | back |
| Mouse scroll left | 6 | button 8 | click/unused |
| Mouse scroll right | 7 | button 9 | click/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.
[edit] 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.
[edit] Hint for MX518
[edit] 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"
lomoco --no-smsThis may apply to other logitech mice
[edit] Logitech MX Revolution
Getting all of the buttons on this mouse to function correctly requires the following packages:
- xbindkeys
- xvkbd
- xf86-input-evdev >= v1.1.2
If these are not already installed, emerge them.
emerge -av xf86-input-evdev xvkbd xbindkeys xmodmap
Additionally, to get these extra features:
- Use the scroll wheel as a traditional middle button click (button 2)
- Change the scroll behaviour (free-wheeling to click-scroll) with another button
- Add auto free-wheeling (behaviour changes from click-scroll to free-wheeling depending on the speed of the spin)
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.
[edit] 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.
[edit] 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.
[edit] 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.
[edit] 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"
[edit] 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"
[edit] 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
[edit] 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 |
[edit] 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" |
[edit] 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
|
[edit] 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
[edit] 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
|
[edit] 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:
| Button | Physical Button Number | Mapped Button Number | Default 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.
[edit] 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
|
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
[edit] 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
|
[edit] 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"
[edit] 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.
[edit] 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. |
[edit] Microsoft Wireless IntelliMouse Explorer 2.0
[edit] 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"
[edit] using tilt wheel
| File: /etc/X11/xorg.conf |
Section "InputDevice" Identifier "Mouse1" Driver "evdev" Option "Device" "/dev/input/event1" EndSection |
[edit] Microsoft Wireless Laser Mouse 5000
[edit] 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 |
[edit] .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 |
[edit] 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
[edit] 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!!!!!
[edit] 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"
[edit] 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
[edit] 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.
[edit] 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"
[edit] 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.
