# Logitech RX300 mouse, additional buttons



## Shura (Sep 23, 2010)

hi,
I have RX300 mouse, it has additional 2 buttons by moving scroll wheel left and right.
This buttons does not work, xev does not see they.
Could you please help to run this buttons?

My xorg.conf:

```
Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Emulate3Button" "no"
        Option      "Protocol" "SysMouse"
        Option      "Device" "/dev/sysmouse"
        Option      "Buttons" "7"
        Option      "ButtonMapping" "1 2 3 6 7"
        Option      "ZAxisMapping" "4 5"
EndSection
```


----------



## Sunsyril (Sep 28, 2010)

Hi,

did you check this http://www.x.org/releases/X11R7.5/doc/man/man4/mousedrv.4.html?
Part from interest is this:


```
Option "ButtonMapping" "N1 N2 [...]"
    Specifies how physical mouse buttons are mapped to logical buttons. Physical button 1 is mapped to logical button N1, physical button 2 to 
N2, and so forth. This enables the use of physical buttons that are obscured by ZAxisMapping. Default: "1 2 3 8 9 10 ...".
```


----------



## Shura (Sep 29, 2010)

Could you please explain? I don't understand which numbers I should write. I have already tried default mapping, without success.


----------



## Sunsyril (Oct 2, 2010)

*Configure more than 3Buttons*

Hello Shura,

unfortunately I can't explain 

What I posted is a part from the documentation of X window from x.org. 

But I understand it in this way:
left button is Button 1
Right button is Button 2
Middle button is Button 3
Any additional button is mapped to 8 9 10 etc. I think the gap (Button 4 to 7) is there to keep place for two mousewheels. 

So with this I would try with 
	
	



```
Option      "ButtonMapping" "1 2 3 8 9"
```

Checked this on my FreeBSD 8.1 and it works


----------



## carlton_draught (Mar 18, 2011)

I just fixed a long-standing problem with firefox and my Logitech Marble Mouse. Synsyril's advice was good. If anyone else has issues with firefox wanting to backwards a page or forwards a page while scrolling (which you hold one of the small buttons down to do), the key is to map those buttons to something other than "8" or "9" (e.g. "10"), since 8 will go back and 9 will go forwards.

Here is the relevant part of my xorg.conf.

```
Option "Buttons"            "9"
    Option "ButtonMapping"      "1 2 3 10 8 4 9 5 6 7"
    Option "EmulateWheel"       "true"
    Option "EmulateWheelButton" "10" # Note, this is not mapped to anything in firefox.
    Option "YAxisMapping"       "4 5"
    Option "XAxisMapping"       "6 7"
```

My right small mouse button doesn't work, since I repaired my left small mouse button by transferring the micro-switch from that. So if you use that config, note that I didn't care what that button does.

It is very helpful to use the following program to determine which button is doing what:
`$ xinput test-xi2`

Note that the "device" is the logical button, which is mapped via the ButtonMapping option in your xorg.conf. I suggest starting by using the default button mapping, which is:

```
Option "ButtonMapping" "1 2 3 8 9 10"
```
and use xinput to determine what each physical button corresponds to etc. Make yourself a spreadsheet like so (logical buttons correspond to defaults, but they can be changed):

```
Physical button	   Which is:	                Mapped to Logical Button	Which does:
1	           Left large mouse button	1	                        Left click
2	           Right large mouse button	2	                        Right click
3		                                3	
4		   Left small mouse button      8	
5		                                9	
6		                                10
```


----------



## Shura (Mar 18, 2011)

After update to FreeBSD 8 the problem is gone. I reconfigured nothing.


----------

