个人工具

UbuntuHelp:ManyButtonsMouseHowto

来自Ubuntu中文

Oneleaf讨论 | 贡献2007年11月21日 (三) 18:49的版本

跳转至: 导航, 搜索
  1. title Configuring a Multi-Button Mouse



This page describes how to configure Ubuntu to fully utilize a mouse with multiple buttons, wheels, and other controls.

Before You Begin

It's important to note that Ubuntu considers a standard two button, scroll/click-wheel mouse to have five buttons. Each main button (left and right) count as one, the downward click on the wheel counts as another, and the up/down scrolling also count as one each (2+1+2=5).

Beyond the Basics

If you have installed the GNOME environment (default for Ubuntu) you already have the software needed to get the "6th" and "7th" mouse buttons working (forward/backward on most mice)!

Open `/etc/X11/xorg.conf` or `/etc/X11/XF86Config-4` for editing. Within the `InputDevice` section for your `Configured Mouse`, change Option "Buttons" "5" to Option "Buttons" "7" (see "xorg.conf (X11 configuration file)" section below for an example). You may also have to change the `ZAxisMapping` option from `"4 5"` to `"6 7"`. Be prepared to experiment to discover what works best on your system.

Mapping More Buttons

The key to being able to program mouse buttons beyond the seven already discussed is to install imwheel (from the UbuntuHelp:Universe repository). Imwheel will enable you to define application-specific actions to your additional mouse buttons.

  • Download and install imwheel using Synaptic, Adept, or apt-get
  • Modify your `/etc/X11/xorg.conf` (or `XF86Config-4`) file to indicate the number of buttons on your mouse
  • Modify your `/etc/X11/imwheel/imwheelrc` or `~/.imwheelrc` file to tell imwheel what to do with a mouse click when it happens in a particular application. See the Wikis referenced below for details on what you can do with your imwheelrc or .imwheelrc file.

NOTE: You can use modifications to the `~/.imwheelrc` to limit imwheel behavior to specific users on your system.

    1. 4 Finally, if desired, tell X11 to run imwheel whenever X11 is started (modifying `/etc/X11/Xsession.d/60imwheel_start-imwheel` and changing `IMWHEEL_START=0` to `=1` in `/etc/X11/imwheel/startup.conf`). Alternately, you can start imwheel manually.

NOTE: See Set Up an Intellimouse or Mouseman's Back/Forward Buttons for an outstanding explanation of how to set up imwheel properly.


Before You Proceed

Before any further editing to `xorg.conf` or `.imwheelrc`, it might be helpful to check your mouse button mappings.

Run `imwheel -c` from a terminal window for imwheel's graphical UI. Pressing the Grab``Wheel``Action button and then one of your mouse's buttons should cause imwheel to show the button's default mapping. In practice, this seemed somewhat inconsistent, but results may differ depending on your particular mouse.

The information you glean from this test could prove helpful if your mouse doesn't have traditional button mappings. If, for example, your side mouse buttons map to the standard left and right (1 and 2) positions, and you wanted these side buttons to control Firefox's Back and Forward buttons, you would use the following `.imwheelrc` entry for Firefox.

"^Firefox-bin$"
None,Left,Alt_L|Left
None,Right,Alt_L|Right

Examples

Frequently, the best way to learn is to look at what works for other people. Here are some examples of working `xorg.conf` and `imwheelrc` files. Compare these to your own to help you troubleshoot and test out new configurations.

xorg.conf (X11 configuration file)

Example 1

This is what the relevant portion of my `xorg.conf` file looks like:

Section "InputDevice"
Identifier      "Configured Mouse"
Driver          "mouse"
Option          "CorePointer"
Option          "Device"                "/dev/input/mice"
Option          "Protocol"              "ExplorerPS/2"
Option          "Emulate3Buttons"       "false"
Option          "Buttons"               "7"
Option          "ZAxisMapping"          "6 7"
EndSection

NOTE: Using xmodmap to remap mouse buttons can result in the error "xmodmap: commandline:1: bad number of buttons, must have 11 instead of 7". If you want to remap the buttons on your mouse, make the following (or similar) modification to your `xorg.conf` file:

Option          "Buttons"               "5"
Option          "ZAxisMapping"          "4 5"
Option          "ButtonMapping"         "1 2 3 6 7"

Example 2

Here is another example from a Logitech 510 mouse:

Section "InputDevice"
Identifier  "Configured Mouse"
Driver      "mouse"
Option      "Buttons" "7"
Option      "CorePointer"
Option      "Device" "/dev/input/mice"
Option      "Protocol" "ExplorerPS/2"
Option      "ZAxisMapping" "4 5"
Option      "ButtonMapping" "1 2 3 6 7"
Option      "Resolution" "800"
EndSection

Example 3

Finally, here is the `xorg.conf` from a Wireless Intelli``Mouse Explorer 2.0. This is how I got my mouse working after 20 minutes of fiddling.

Section "InputDevice"
Identifier  "Configured Mouse"
Driver      "mouse"
Option      "CorePointer"
Option      "Device"                "/dev/input/mice"
Option      "Protocol"              "ExplorerPS/2"
Option      "Emulate3Buttons"       "false"
Option      "Buttons"               "7"
Option      "ZAxisMapping"          "6 7"
Option      "ButtonMapping"         "1 2 3 4 5 6 7"
EndSection

imwheelrc

Here is an example of what a portion of my `.imwheelrc` looks like:

"^Firefox-bin$"
# Flip between browser tabs
None, Left, Control_L|Page_Up
None, Right, Control_L|Page_Down

If you'd like to customize your mouse buttons for additional applications, just add more entries like this to the `imwheelrc` file.

Useful links