# Definitive MX700 Howto

## kezzla

CAN SOMEONE PLEASE POST WORKING MX700 CONFIGS !!! I've read all the freaking mx700 posts...which start out like, well I don't have the mx700 but here's my config...ONLY POST IF YOU ACTUALLY OWN AND USE an MX700 please. NO posts of other forum links. Answers in this post only. To my knowledge there are EIGHT buttons. I use the ExplorerPS/2 protocol. Scrollwheel works fine, my thumb buttons DO NOT. I'm grasping at straws here. I emerged imwheel, which by its very name suggests it's not going to help with thumb buttons. Xmodmap is supposed to do this for me ? 

Please fellow MX700 users, sound off !  :Smile: 

A BIG TIA !!!

----------

## Admiral LSD

I don't own an MX700 (yeah yeah, I know what you said but this is Linux, things are largely generic) but the hoops you need to jump through shouldn't be all that different to my Wireless Intellimouse Explorer. What I do for that is put:

```
    Identifier  "Mouse1"

    Driver "mouse"

    Option "Protocol"   "ExplorerPS/2"

    Option "Device"     "/dev/input/mice"

    Option "Buttons"    "9"

    Option "ZAxisMapping""6 7"
```

in XF86Config/xorg.config to enable the buttons,

```
imwheel -k -p -b "67" &

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

in my xinit file to enable the thumb buttons and map the rest correctly followed lastly by putting 

```
".*"

None, Up, Alt_L|Left

None, Down, Alt_L|Right
```

in ~/.iwheelrc to make them do something useful. I'm not sure how much massaging that'll require to work with an MX700 but at the very least it gives you somewhere to start looking.

----------

## herbo

I do have an mx700 and Admiral LSD is pretty much spot on.

In Xorg.conf:

```
    Identifier  "Mouse1"

    Driver "mouse"

    Option "Protocol"   "ExplorerPS/2"

    Option "Buttons"    "7"

    Option "ZAxisMapping"   "6 7"

    Option "Device"     "/dev/psaux"

```

I added these lines to /etc/X11/Sessions/Gnome or kde-3.2.2:

```
/usr/X11R6/bin/xmodmap -e "pointer = 1 2 3 6 7 4 5"

/usr/bin/imwheel -k -p -f -b "67"

```

And finally in my imwheelrc (mine is systemwide in /etc/X11):

```

".*"

 None, Up,   Alt_L|Left

 None, Down, Alt_L|Right

```

Only button that does not work is the switch button on top of the mouse, but backwards and forwards works fine in mozilla/konqueror.

----------

## kezzla

Thanks for the configs, I'll try them ASAP  :Very Happy: 

----------

## kezzla

Silly question...

Do /etc/X11/Xmodmap and /etc/X11/imwheelrc have to be executable ?

----------

## herbo

nah, just make sure world can read them though.

----------

## ikaro

```

Section     "InputDevice"

    Identifier  "Logitech MX 700"

    Driver  "mouse"

    Option  "Protocol"  "IMPS/2"

    Option  "Device"    "/dev/input/mice"

    Option  "ZAxisMapping"  "4 5"

    Option  "Resolution"    "800"

EndSection

```

----------

## ikaro

hmm ive tried some of your configs and i cant see any difference from the usability that my more simple config suplies.

for example, the thumb buttons, which i think are suppose to be back - forward in the browser, don't work that way.

the MX mouse have 8 buttons how come some of you come up with 9 buttons ? 

lets take a look at it :

http://www.bit-tech.net/images/review/196/6.jpg

The button: "Program Switcher" who have this working the right way ? how ?

The thumb buttons: back & forward who have these working with Mozilla Firefox ? and how ?

The buttons Up & Down do the same as scrooling the wheel up & down  which is faster and more convenient .... wierd.

anyone got it working correctly ?

a review here for ppl interested in buying one of these:

http://www.bit-tech.net/review/196/

----------

## Admiral LSD

As I mentioned in my post I don't actually own an MX700, I have a Microsoft Wireless Intellimouse Explorer instead which does have 9 buttons (standard left and right, mouse wheel up and down, mouse wheel button, two thumb buttons and a two way tilt wheel). I posted my config since, apart from having to adjust for the number of buttons and their functions, it shouldn't be much different to what's required for an MX700.

----------

## ikaro

right you have a MS mouse ...  i just looked at the topic and assumed it was a MX 700 .. anyways ..

the "thumb buttons" are mapped as button3 for forward & button2 for backwards, now I think these buttons should be 6 & 7 ? and the switch applications should be the 8th button ? right ? 

how can i change that ? 

Ive been trying with the xmodmap thing  but i never really used it and the more i try the worse it gets   :Rolling Eyes: 

----------

## ikaro

ok i found some more stuff on the net and this is the closest I can get it to work like it would on Microsfot Windowz:

```

Section     "InputDevice"

    Identifier  "Logitech MX 700"

    Driver  "mouse"

    Option  "Protocol" "ExplorerPS/2"

    Option  "Device"    "/dev/input/mice"

    Option  "ZAxisMapping"  "6 7"

    Option  "buttons"   "7"

    Option  "Resolution"    "800"

EndSection

```

```
 

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

```

*edit*

Only problem is that when you press the button that is in front of the wheel it does scroolUP and browses Back at the same time , rendering the button useless.

 :Rolling Eyes: 

----------

## beastmaster

Hi everyone  :Smile: 

I have a Logitech MX500 mouse, it's basically the same mouse as MX700 just without wireless.

I've tried all the setup guides from other threads to no avid too, and been reading over and over from head to toes, now I got the thumb buttoms to work  however oddly it produces scroll-up and scroll-down events which shouldn't be. And the wheel-up and wheel-down buttons acts as scroll-left and scroll-right  :Sad: ... I don't get it...

Here are what I have in my configurations:

XF86config :

```

    Identifier  "LogiMX500"

    Driver "mouse"

    Option "Protocol"   "ExplorerPS/2"

    Option "Device"     "/dev/input/mice"

    Option "Buttons"    "7"

    Option "ZAxisMapping"       "6 7"

    Option "Resolution" "300"

```

/etc/X11/xinit/xinitrc :

```

...

# wheel mouse mapping

imwheel -k -p -b "67" -f

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

...

```

/etc/X11/Xmodmap :

```

# wheel mouse remapping

pointer = 1 2 3 6 7 4 5

```

/etc/X11/Sessions/openbox :

```

#!/bin/sh

# start openbox

exec xmodmap -e "pointer = 1 2 3 6 7 4 5" &

exec imwheel -p -k -b "000067" -f &

/usr/bin/openbox

```

/etc/X11/imwheelrc :

```

"(null)"

None, Thumb1, Alt_L|Left,1  # backward

None, Thumb2, Alt_L|Right,1 # forward

"^Mozilla.*"

None, Thumb1, Alt_L|Left,1

None, Thumb2, Alt_L|Right,1

"^firefox.*"

None, Thumb1, Alt_L|Left,1

None, Thumb2, Alt_L|Right,1

".*"

None, Thumb1, Alt_L|Left,1

None, Thumb2, Alt_L|Right,1

```

I've been fighting with it for 7 hours already, dry and clueless  :Crying or Very sad: 

Can anyone point me out what I did wrong here.

Thank you.

----------

## ikaro

i found this one on the imwheel website:

http://www.glaurung.demon.co.uk/info/linux.mx500.howto.html

which doesn't work.

I think this is a lost cause.

----------

## beastmaster

Hi ikaro, thanks for replying.

However I've followed that website, and it still does no good   :Crying or Very sad: 

with the change of imwheel -p -b "0067"

and in the imwheelrc

......

".*"

None, Left, Alt_L|Left

None, Right, Alt_L|Right

now, when I click the thumb buttons it acts as scrolling up and down;  wheel buttons act as scrolling left and right   :Sad: 

It should be opposite....

It's been another half day that I'm attemping to get the mouse forward and backward buttons to work, the worse beast ever  :Crying or Very sad: 

I know a lot of you who own MX500/700 say it works perfectly, ok   :Confused:  care to guide me thru where I did wrong and share your working codes/config files?

Thank you.

----------

## ikaro

I got the MX 700 and everything _almost_ works.

I got to know today that a "Bug" in the 2.6.x kernels /drivers/input/mousedev.c makes a problem to mouses with many buttons ( MX 700 )

Like the one im experiencing, a mouse click triggers 2 actions.

anyways, with this config you get the thumb buttons working:

```

Section     "InputDevice"

    Identifier  "Logitech MX 700"

    Driver  "mouse"

    Option  "Protocol" "ExplorerPS/2"

    Option  "Device" "/dev/input/mice"

    Option  "ZAxisMapping" "6 7"

    Option  "buttons" "7"

    Option  "Resolution" "800"

EndSection

```

```

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

```

check if you get the same:

```

 [~] xmodmap -pp               

There are 7 pointer buttons defined.

    Physical        Button

     Button          Code

        1              1

        2              2

        3              3

        4              6

        5              7

        6              4

        7              5

```

ps: see that buttons 6/7 are mapped to 4/5

You can drop the imwheel, its not needed. at least im not using it and _almost_ all buttons work.

----------

## beastmaster

Hi ikaro,

thank you for the inputs.

your XF86Config's mouse session looks just like what I have, except the mouse resolution that I set it to 300.

This time, I'm going to do the old-fashioned way, rebooting the computer and see  :Confused: 

Questions: 

1) when you say you get your thumb buttons to work, does it work properly though? like can you trigger the web browsing backward and forward in Mozilla or any browser you use?

2) did you mean dropping the imwheelrc config file?

3) about the MX500/700 mouse bug in kernel driver, which mouse click triggers 2 actions? is there a website.

----------

## beastmaster

Ok, with all my configutation as in previous posts, I made a local home user's .xinitrc and drop the xmodmap mapping in there. Everything works great, wheel up and down functional, except the thumb buttons don't act properly, when I click on it, it move the cursor left/right in mozilla  :Sad: 

I have these key binded in imwheelrc file also:

".*"

None, Down, Alt_L|Left

None, Up, Alt_L|Right

Is it really Up, Down for thumb events?

----------

## ikaro

yes the thumb buttons work  fine in Mozilla Firefox.

and with "drop the imwheel" i mean It's not needed, bloat. capiche ?

 :Laughing: 

----------

## firephoto

No imwheel here, thumb buttons scroll left and right where needed, but I mostly mapped them so I can assign functions when playing AAO. I tried imwheel many times in the past but i never could get it working good without lots of quirks. Using a MX500 on the usb port.

There's a post in the Games forum about using the logitech_applet program for tweaking some settings.

https://forums.gentoo.org/viewtopic.php?t=164679&highlight=logitechapplet

----------

## ikaro

cool thanks for the tip.

i tried it, but can't really notice any difference.

```

001/016     046D/C506   C-BF16-MSE      MX700 Optical Mouse

   Result: 8

   P6  = 20

   P0  = 3d

   P4  = 8b

   P5  = 45 Channel 1    Battery: 5

   P8  = 73

   P9  = f

   PB0 = 1

   PB1 = ee Two channel   800cpi support   No Horizontal Roller   Vertical Roller   8 buttons

```

----------

## Wellu

This is how I got my MS IntelliMouse Explorer 3.0 working as I wanted :

/etc/X11/XF86Config :

```

Section "InputDevice"

    Identifier  "Mouse1"

    Driver      "mouse"

    Option "Protocol"    "ExplorerPS/2"

    Option "Device"      "/dev/mouse"

    Option "Buttons" "7"

    Option "ZAxisMapping" "6 7"

    Option "Resolution" "1200"

EndSection

```

/etc/X11/imwheelrc : (this is my WHOLE imwheerc  :Smile: )

```

"^Opera"

None, Thumb1, Alt_L|Left

None, Thumb2, Alt_L|Right

"^Firefox.*"

None, Thumb1, Alt_L|Left

None, Thumb2, Alt_L|Right

```

Finally put these on .xinitrc (or run straight from terminal) :

```

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

imwheel -kfb "000067"

```

----------

## ikaro

 *Wellu wrote:*   

> This is how I got my MS IntelliMouse Explorer 3.0 working as I wanted :
> 
> /etc/X11/XF86Config :
> 
> ```
> ...

 

AFIK the "resolution" is the DPI of the mouse, i doubt that your mouse can do 1200 DPI.

If you can prove otherwise, please post a url to the document.

----------

## beastmaster

hi ikaro,

now my .xinitrc only contain this line:

```

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

```

it's without loading the imwheel stuff.

mouse wheels work fine, but still no thumb backward and forward  :Sad: 

----------

## ikaro

hmm thats wierd   :Confused: 

you use firefox too ?  and is the mouse connected to the USB ?

----------

## Wellu

 *beastmaster wrote:*   

> 
> 
> it's without loading the imwheel stuff.
> 
> mouse wheels work fine, but still no thumb backward and forward 

 

That's where the imwheel steps in. It allows you to "bind" those thumb buttons to emulated keypresses.

and ikaro, that "Resolution" option didn't seem to have any notable effect so I just punched that number in  :Smile:  As long as it works fine it stays there on my config.

----------

## ikaro

how do you explain that Im NOT using imwheel and the thumb buttons works ?

And about the resolution, it is indeed the mouse resolution 'dpi', but I don't think it works with XFree/xorg since you say it doesnt make any difference. try putting 5000 in there, wait .. go for 10000 instead. 

 :Laughing: 

----------

## beastmaster

hi ikaro, thanks again for replying,

 *Quote:*   

> 
> 
> hmm thats wierd
> 
> you use firefox too ? and is the mouse connected to the USB ?
> ...

 

I use Mozilla, and my MX500 is a usb mouse, but it is connected to PS2 port with a PS2 converter when I bought it.

Should I use USB port native instead?

Will it still be 

Option "Protocol" "ExplorerPS/2"

Option "Device" "/dev/input/mice"

or I should change that too?Last edited by beastmaster on Tue Jun 01, 2004 7:10 pm; edited 1 time in total

----------

## Wellu

 *ikaro wrote:*   

> how do you explain that Im NOT using imwheel and the thumb buttons works ?
> 
> And about the resolution, it is indeed the mouse resolution 'dpi', but I don't think it works with XFree/xorg since you say it doesnt make any difference. try putting 5000 in there, wait .. go for 10000 instead. 
> 
> 

 

Well the thumb buttons DO work without imwheel.. but not the way I want them to work.  :Smile:  Instead of going back and forward I couldn't get them doing anything else but scrolling up and down without imwheel. Also using imwheel I can get them doing whatever I want in every application I want. I admit, I'm a control freak  :Smile: 

Oh and Resolution 1 works fine  :Wink: 

----------

## beastmaster

Wellu,

Could you share your HOWto that how you manages to get thumb buttons to work?

And what particular mouse are you having, Logitech MX500/700 or MS IntelliMouse?

----------

## ikaro

 *beastmaster wrote:*   

> hi ikaro, thanks again for replying,
> 
>  *Quote:*   
> 
> hmm thats wierd
> ...

 

Yes you can try using the USB ( if you have USb support in the kernel )

and then it would be ( at least in my box ) /dev/input/mice

----------

## beastmaster

tried that, and no go   :Confused: 

i meant no forward/backward happening on my side.

----------

## firephoto

Ok I did a lot of reading, searching, and thinking.

With KDE (not sure it matters.)

MX500 mouse

Side Buttons are 6 and 7

emerge xvkbd and xbindkeys

create a ~/.xbindkeysrc file that looks like this:

```
"xvkbd -xsendevent -text "\[Alt_L]\[Left]""

  m:0x10 + b:6

"xvkbd -xsendevent -text "\[Alt_L]\[Right]""

  m:0x10 + b:7
```

run xbindkeys as user.

forward and back keys work in your browser now.

 :Smile: 

----------

## beastmaster

hey firephoto   :Laughing: 

it works   :Very Happy:  , it's working!!!! working!!

dang... this is so much simpler using xvkbd and xbindkeys...

Finally I'm able to have my forward/backward browsing experience in linux (after 8 months)  :Shocked: 

Other buttons like wheeling up and down work without imwheel already, so I'm thinking the same "dropping imwheel"   :Laughing: 

Greatly appreciated, you made my day   :Wink: 

----------

## ikaro

do the buttons in front and behind the wheel work fine for you ?

----------

## beastmaster

Just one thing though, I've read these posts, and they say thumb buttons are number 4 and 5, but how come they are 6 and 7 here?

oh and another,  

```
 m:0x10 
```

 what does that 0x10 mean?...  :Very Happy: 

I'm thinking to bind even 2 more mouse buttons using this, such as the scroll-up/down buttons (not the wheel-up one),

currently they have the same functions as wheeling up/down, so I just thought that I could bind it for maybe cut-and-paste thing. Also I found out my top little button below scroll-down produces text hightlight event.. :Shocked:  (i didn't edit that one though)

so now I have 10 usable buttons  :Shocked: Last edited by beastmaster on Tue Jun 01, 2004 10:33 pm; edited 2 times in total

----------

## beastmaster

hi ikaro,

 *Quote:*   

> 
> 
> do the buttons in front and behind the wheel work fine for you ?
> 
> 

 

You meant the scroll-up and scroll button, right. Yes, they do respond, and the scroll-up has the side effect of "backward"  :Rolling Eyes:  (which shouldn't be, cuz assuming I have the backward to be binded for thumb number 6).

And scroll-down does the same thing as wheel-down..   :Shocked: 

Odd, right...

Hoping someone can explain what exactly the keys are mapped for MX500, I think it's very weird..., because if you do cat /dev/input/mice, all of the 10 buttons responds.. :Shocked: 

question is don't know which one is mapped to which event internally...

MX500/700 is the beast  :Shocked: 

----------

## ikaro

oh I see, you have the same problem.

I hope the kernel people/USB people fix this soon.

----------

## firephoto

I believe in my past reading I saw that the cruise up/down buttons can't be mapped seperate because they are tied in with the wheel in some way. Also my cruise up button has the dual button thing too which dupes button 6 with this configuration and seems to mask it's other useless behavior. If anyone is dual booting (I can, but haven't seen XP for 6 months on this box) you can look in your logitech driver control thingy in windoze and I think you'll see that the button mapping for the cruise up/down is limited.

I'm really glad I got this working because I knew all along it was just the problem of not being able to use mouse buttons as shortcut keys. KHotkeys could do this if it would let you use mouse buttons as input. Or even a regular application shortcut with the xvkbd commands would have worked.

Might experiment with the other buttons and see what I can come up with.

----------

## beastmaster

to ikaro,

you meant that scroll-up button being mapped at wrong place is the bug in kernel?

p.s. when you said forward/backward works without a hitch (form all those previous posts). but my way of only getting it to work is to use the xbind thing   :Rolling Eyes: 

----------

## firephoto

The cruise up/down (scroll) buttons are just buttons 4 and 5 which are the same as the wheel up/down except they have a built in repeat which lets them cruise. The other button on top gets mapped to button 1 which is your left click. The cruise up button being mapped to both 4-repeated (normal) and 6 is the bug.

I get an error the refers to this in my log when I press the cruise up button. I'm not sure if this is new or it's always done it because I don't use that button.

```
Jun  1 15:53:34 myself drivers/usb/input/hid-input.c: event field not found
```

That's /usr/src/linux/drivers/usb/input/hid-input.c

----------

## beastmaster

 *Quote:*   

> 
> 
> Might experiment with the other buttons and see what I can come up with.
> 
> 

 

Just make sure that you post back here with your finds   :Cool: 

Once again, thank you everyone for the helps   :Laughing: 

Gentoo community is really great...  :Very Happy: 

----------

## firephoto

Here's all the steps to make your Logitech MX500 or MX700 side buttons work as the forward/back buttons in some web browsers, or control/start other applications even.

Here's how everything is configured on my system. I'm using vanilla kernel-2.6.7-rc1 and Xorg with the latest KDE.

xorg.conf or XF86config

```
Section "InputDevice"

    Identifier  "Mouse1"

    Driver      "mouse"

    Option      "Protocol"    "ExplorerPS/2"

#    Option      "Protocol"    "IMPS/2"

    Option      "Device"      "/dev/input/mice"

    Option      "ZAxisMapping" "6 7"

#    Option "Buttons" "10"

#    Option      "ZAxisMapping" "4 5"

#    Option "Buttons" "7"

    Option "Resolution"       "800" 

EndSection
```

/etc/X11/xinit/.Xmodmap  *edit* this is what sets my button order **edit**

```
pointer = 1 2 3 6 7 4 5

keycode 122 = F13

keycode 130 = F14

keycode 129 = F15

clear mod4

add mod4 = Super_L Super_R

```

No ~/.Xmodmap or ~/.xinitrc used on my system.

If you run xev you can get what buttons are which when they are pressed but my forward side button is button 7 and the rear side is button 6.

```
xbindkeys -k
```

will also show you the format for your next step but it didn't actually work for me except to get the format for the rc file.

emerge xvkbd and xbindkeys

create a ~/.xbindkeysrc file that looks similar to this:

```
"xvkbd -xsendevent -text "\[Alt_L]\[Left]""

  m:0x10 + b:6

"xvkbd -xsendevent -text "\[Alt_L]\[Right]""

  m:0x10 + b:7
```

or read the xvkbd docs if you want the buttons to do something else.

Set xbindkeys to run when your DE starts up and everything should be working. ~/.kde/Autostart/ for KDE users.

Here's the xbindkeys and xvkbd web pages.

http://hocwp.free.fr/xbindkeys/

http://homepage3.nifty.com/tsato/xvkbd/

Just wanted to get everything in one post and clean it up a little and add some more details to help others.Last edited by firephoto on Sun Jun 06, 2004 5:04 pm; edited 1 time in total

----------

## beastmaster

lastly, 

use "xev" to find out the button codes too.

 :Very Happy: 

----------

## nlightn

I tried the config arrangement suggested by firephoto, and I still can't get thumb buttons to work.  I unmerged imwheel and created ~/.xbindkeysrc but I'm still not having success.  Any ideas?  I'm using MX500 on USB.

----------

## firephoto

Do you have all the needed kernel configs? Mouse and HID things for sure.

Run xbindkeys -k and press all your buttons till it tells you something. (would only show that button with the bug on mine) Maybe the code before the button # is different for u. Does xev show that the buttons are doing anything?

----------

## beastmaster

ah, cool, both xev and xbindkeys -k are the useful tools   :Razz: 

p.s.

not directly related, but since it's xbindkeys thingy.

just a thought, does that mean I can also bind my wireless Logitech media keyboard   :Very Happy: 

it has volumn controls, and all other crazy buttons all over on my keyboards   :Laughing: 

I tested the volumn control wheel, and it picked up

"NoCommand"

    m:0x0 + c:174

    NoSymbol

does that mean it's bindable   :Very Happy: 

----------

## nlightn

 *firephoto wrote:*   

> Do you have all the needed kernel configs? Mouse and HID things for sure.

 

yes

 *firephoto wrote:*   

> Run xbindkeys -k and press all your buttons till it tells you something.

 

It shows nothing.  I tested my keyboard (left control key) to test it, and it acknowledges input, just not from (any) mouse button.

 *firephoto wrote:*   

> Does xev show that the buttons are doing anything?

 

xev seems to recognize the mouse buttons, but my xmodmap mappings seem to be messed up, because the thumb buttons are receiving Button4 and Button5 -- "Forward" and "Back," respectively -- but the mousewheel doesn't receive button numbers.

edit: you might want to read my extra mouse buttons in firefox thread for some background info.  I started it before this thread was started, and I still can't find a solution.

Right now I at least have my wheel working (with ZAxisMapping "4 5" in xorg.conf).  I prefer having a wheel over thumb buttons, but why can't I have both?

----------

## ikaro

try the ZAxis with button "6 7"

```

Section     "InputDevice"

    Identifier  "Logitech MX 700"

    Driver  "mouse"

    Option  "Protocol" "ExplorerPS/2"

    Option  "Device" "/dev/input/mice"

    Option  "ZAxisMapping" "6 7"

    Option  "buttons" "7"

    Option  "Resolution" "800"

EndSection

```

```

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

```

----------

## firephoto

Here's what I have after looking at my setup a little closer.

No imwheel loaded or called in any config files, just the xbindkeys+xvkbd here and it works perfect.

I run kde, use startx to launch and no login manager.

~/.Xmodmap = not used

~/.xinitrc = not used

/etc/X11/xinit/.Xmodmap

```
pointer = 1 2 3 6 7 4 5

keycode 122 = F13

keycode 130 = F14

keycode 129 = F15

clear mod4

add mod4 = Super_L Super_R

```

Looking at things, the problem could possibly be that you are putting 

```
xmodmap -e 
```

 in your .xinitrc file.

Rename your ~/.xinitrc and ~/.Xmodmap, put the relevant content in /etc/X11/xinit/.Xmodmap similar to mine above and give things a try.

I gave up on the user config files because I figured I always wanted to use all the keys on my keyboard and mouse no matter what user I was logged in under.

----------

## LiamRoutt

There seem to be two tricks using imwheel (with settings pretty much like those presented earlier):

1. Use the Left and Right buttons, not Thumb1 and Thumb2 in the imwheelrc

2. I found that I needed to run it with:

```
imwheel -p -f -b "0067"
```

in order to get it to work with Firefox. (The -f was the important addition - without it, other apps recognized the translations, but not Firefox).

In the end I am using the following in my /etc/X11/imwheelrc:

```
".*Firefox.*"

None,           Left,   Alt_L|Left,     1

None,           Right,  Alt_L|Right,    1
```

And that seems to be doing the back and forward I expect just fine. I'm using an MX500, but it should work the same with the MX700.

Now, I'd like to be able to pass a different set of translations when the mouse is over the root window, but imwheel seems to ignore it at those times, as far as I can tell. I don't suppose anyone has any idea how to set up the root window behaviour? (the ".*" section doesn't work)

----------

## 2sheds

 *Wellu wrote:*   

> This is how I got my MS IntelliMouse Explorer 3.0 working as I wanted :
> 
> /etc/X11/XF86Config :
> 
> ```
> ...

 

worked a charm on my Microsoft Wireless Intellimouse Explorer 2.0 ! thanx

----------

## richardm

As previously stated the following applet is useful for actually enabling 800dpi on your MX series mouse, along with the "cruise control" buttons:

http://www.illogic.co.uk/linux/logitech-applet-0.3.tar.gz

By default the mouse only tracks at 400dpi. I believe this is due do buffer overflow problems faced when fast movements are made at 800dpi, as not enough usb bandwidth is available - which is why you would experiance "negative acceleration". This is where the next patch comes in:

http://www.illogic.co.uk/linux/hid_poll_interval-2.6.0test7.diff

This patch modifies the kernels USB polling interval from standard 125Hz to 500Hz, completely solving the "negative acceleration" problem. For gamers at least, this is something linux has over windows - due to stricter usb standards i doubt windows will ever allow your to change the polling interval.

I would personally liek to see this merged as an option into the vanilla sources as there must be loads of people out there using 800dpi mice now.

One final thing is this patch which i dont really know what it does but found it on the same site as the other one:

http://www.illogic.co.uk/linux/mbuttons_passthru-2.6.0test7.diff

Apologies if I have covered something already posted in the gaming forum but it seemed relevant here to non-gamers too.

PS. All the links provided are mirrored on my own webspace as the original site where I found them has recently gone down.[/url]

----------

## richardm

Btw here is my xorg/xf86 config too:   :Very Happy: 

 *Quote:*   

> 
> 
> Section "InputDevice"
> 
> 	Identifier "MX500"
> ...

 

Just to clear somethign up however, it seems that "Resolution" here is purely a paranoia setting. Xorg/XFree does not have the capability to set MX mice's resolution itself....

You MUST use the logitech applet above in order to do that as it is a hardware setting.

*EDIT* 

I'm not sure about  *Quote:*   

> Option "SampleRate" "125"

  either...

Im going to try bumping that up to 500 to reflect the kernel patch otherwise it wou;d be pointless   :Embarassed: 

----------

## beastmaster

it looks Lee   :Very Happy: 

by the way, what does this line do in your mouse session:

```

 Option "MaxHWRepInterval" "100" 
```

----------

## richardm

Looks Lee?

Ah L337  :Cool: 

OK did some research (difficult when the patch authors site is down... until i remembered to use google cache!) and discovered that the line:

```
Option "MaxHWRepInterval" "100"
```

is irrelevant and refers to an option made available by a previous patch he wrote for the 2.4 kernel series. 

For some reason it was left in his example config (which i copied) but it no longer needs to be there.

For anyone interested this is the site where im getting all this from

http://www.yhbt.net/normalperson/files/linux/ and his name is Eric Wong.

Youll have to put every address into google manually and use the cache to browse it lol.

----------

## Lorijho

@ firephoto

Thank you!! The thumb buttons of my MX500 work in Opera, Mozilla and Konqueror since I read your mini howto!

----------

## nlightn

ok, just when I was about ready to give up (I have literally been at this for weeks now), I think I am closer than ever (well, since it actually WORKED with imwheel and Firebird 0.7).

Anyway, I've tried all of the configs mentioned above, and they all produce pretty much the same results: thumb buttons act as the wheel and the wheel acts as thumb buttons on the KDE desktop and in firefox.

Now, mousewheel scrolls virtual desktops (normal behavior) and thum b buttons cycle my desktop icons (normal behavior).  However, when I open firefox, the thumb buttons work fine (back and forward), but the mousewheel ALSO acts as forward back instead of scrolling the webpage.

Here are my configs at the moment.  I repeat: I have tried the configs mentioned already, and they don't work for me.  These are my tweaks to get it as close to working as possible:

/etc/X11/xorg.conf "InputDevice" section:

```
Section "InputDevice"

        Identifier      "MX500"

        Driver          "mouse"

        Option          "Protocol"    "ExplorerPS/2"

        Option          "Device"      "/dev/input/mice"

        Option          "ZAxisMapping" "6 7"

EndSection
```

/etc/X11/Xmodmap (the *Audio* values are for my laptop volume controls):

```
pointer = 1 2 3 6 7 4 5

keycode 174 = XF86AudioLowerVolume

keycode 176 = XF86AudioRaiseVolume

keycode 160 = XF86AudioMute

clear mod4

add mod4 = Super_L Super_R
```

~/.xbindkeysrc:

```
"xvkbd -xsendevent -text "\[Alt_L]\[Left]""

  m:0x10 + b:4

"xvkbd -xsendevent -text "\[Alt_L]\[Right]""

  m:0x10 + b:5
```

so ~/.xbindkeysrc is pretty much the only file that's different from everyone else's, I believe.  I have yet to nail this thing, and I am so close I won't give up now.

EDIT: I have thumb buttons AND mousewheel working in Firefox, but it's such a dirty hack, mousewheel doesn't function normally under normal circumstances (i.e. rolling mousewheel on empty desktop space doesn't change virtual desktop in KDE).  I like this the best, but does anyone have any ideas?  As you can see, I have buttons 6 and 7 mapped as the up/down arrows on the keyboard, respectively.  Here is my new ~/.xbindkeysrc:

```
"xvkbd -xsendevent -text "\[Alt_L]\[Left]""

  m:0x10 + b:4

"xvkbd -xsendevent -text "\[Alt_L]\[Right]""

  m:0x10 + b:5

"xvkbd -xsendevent -text "\[Up]""

  m:0x10 + b:6

"xvkbd -xsendevent -text "\[Down]""

  m:0x10 + b:7
```

----------

## infinyt9

Hi everyone! I hope this isn't a closed topic yet... (sorry for my grammar...)

Okay, I've read the whole thread to see if someone had had the same problem as me, and it would seem not, so I must be doing something wrong.

Here is my setup: MX500 plugged USB, 2.6 kernel, X.org, gnome 2.6 and GDM.

So my problem is fairly simple. I got the thumb buttons to work with IMWheel, thats no trouble, the problem is the following. When I use GDM to login (as opposed to startx)  the .xinitrc, /etc/X11/Sessions/Gnome, /etc/X11/xinit/xinitrc files don't seem to get parsed. Now I'm saying this because I need to run the following commands to get it to work (following the suggestions of this thread)

```
/usr/X11R6/bin/xmodmap -e "pointer = 1 2 3 6 7 4 5" 

/usr/bin/imwheel -k -p -f -b "67" 

```

When I start Gnome with GDM, they don't seem to be executed, I need to run them manually, but when start Gnome with Startx, everything is perfect??

Here is the relevant part of my xorg.conf

```
Section     "InputDevice"

    Identifier  "Mouse1"

    Driver  "mouse"

    Option  "Protocol" "ExplorerPS/2"

    Option  "Device" "/dev/input/mice"

    Option  "ZAxisMapping" "6 7"

    Option "Emulate3Buttons"

    Option  "buttons" "7"

    Option  "Resolution" "800"

EndSection
```

Currently, I have the exec code in /etc/X11/Sessions/Gnome at the end of the file. I tried in a ~/.xinitrc and in /etc/X11/xinit/xinitrc to no avail (with GDM...)

So? Could anyone point me to a clue of some sort, so I can figure this one out?

Thank you  :Smile: 

----------

## mriswyth

schbond, I spent a long time on this also.  I do have everything working the way that *I* want and hopefully this helps you too.  (My scroll wheel doesn't cycle through virtual desktops, but I can scroll up and down in every window that I open.)

/etc/X11/XF86Config

```
    Identifier   "Mouse1"

    Driver   "mouse"

    Option "Protocol"    "ExplorerPS/2"

    Option "Device"      "/dev/input/mice"

    Option "Buttons"  "7"

    Option "ZAxisMapping" "6 7"
```

~/.xinitrc

```
/usr/X11R6/bin/xmodmap -e "pointer = 1 2 3 6 7 4 5" 

BINARY=$(which imwheel)

$BINARY -k -p -b "000067"
```

~/.imwheelrc

```
".*"

None,Thumb1,Alt_L|Left

None,Thumb2,Alt_L|Right

"(null)"

None,Thumb1,Alt_L|Left

None,Thumb2,Alt_L|Right
```

My .imwheelrc only sets the thumb buttons, because the scroll wheel works as it should.  I have the thumb buttons do Alt_L|<etc> for everything at the moment because I mostly find them useful for browsing things.  I have found that under KDE mozilla doesn't register its title correctly so if you want to specialize this code for additional applications keep this in mind.

----------

## mriswyth

 *infinyt9 wrote:*   

> 
> 
> ...
> 
> So my problem is fairly simple. I got the thumb buttons to work with IMWheel, thats no trouble, the problem is the following. When I use GDM to login (as opposed to startx)  the .xinitrc, /etc/X11/Sessions/Gnome, /etc/X11/xinit/xinitrc files don't seem to get parsed. 
> ...

 

Check your XSession file.  This gets called by GDM instead of .xinitrc. (Search for information on XSession).

----------

## wizard69

i am having the same problem as infinyt9 used to work fine for me from the kde Sessions file but stoped working since xorg. I have tried puting a .xinitrc file in my home directory but that doesn't work either.

Executing 

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

 from a shell works fine all the buttons on my mx700 respond like they should. But i don't understand why my configs don't get passed when i log on to kde. Perhaps someone can help

----------

## infinyt9

Thanks for your help mriswyth... I didn't realy work, but it helped me find an answer...

So for those who might be having the same problem, here a quick and dirty hack...

https://forums.gentoo.org/viewtopic.php?t=162521&highlight=sessions

Thanks again!

----------

## nlightn

 *mriswyth wrote:*   

> My scroll wheel doesn't cycle through virtual desktops, but I can scroll up and down in every window that I open.

 

That is exactly how my setup functions at the moment.  I can't cycle virtual desktops but I can scroll up/down in every window.  I have my wheel mapped as up and down arrows as if on the keyboard.  It works better than before, but I'd like it to function as a real wheel (i.e. it scrolls 3 or so lines per scroll - as opposed to 1 now, like the up/down keyboard arrows - and that it would scroll virtual desktops.

----------

## firephoto

Ok copy your /etc/X11/Xmodmap to ~/.Xmodmap and after your desktop starts up, open a user terminal and do a "xmodmap .Xmodmap" and see if you are getting the proper button sequence and such. Somewhere, somehow, for various people it seems the Xmodmap files aren't getting read and executed correctly or completly.

After that just try using the exact setting I was using and see if it works. We have the same mouse so my only guess is that it is in the way the configs are being read or not read.

You current Xmodmap looks just fine too, pretty much like mine but I had to do the "xmodmap .Xmodmap" thing because my keycode entries weren't getting enabled on login to kde (startx), and that's with the Xmodmap in ~/,  /etc/X11, /etc/X11/xinit. I'd guess there's a bug somewhere but I can't seem to figure out what it is.

```
pointer = 1 2 3 6 7 4 5

keycode 174 = XF86AudioLowerVolume

keycode 176 = XF86AudioRaiseVolume

keycode 160 = XF86AudioMute

clear mod4

add mod4 = Super_L Super_R
```

----------

## wizard69

@infinyt9 this hack seems to be for gdm but i use kdm and i don't have a directory /usr/share/xsessions so i am afraid my xmodmap config are not getting executed when i start kde 

 :Crying or Very sad: 

does someone have a solution?

----------

## drb

I just discovered this thread.

I found that to get all the buttons working individually and recognized on my MX500, I had to use  USB and the evdev protcol.

I don't know if this is supported in the 2.4 kernel as I am using 2.6. It must be turned on in the kernel. Also in the X config file:

```
# **********************************************************************

# Core Pointer's InputDevice section

# **********************************************************************

Section "InputDevice"

# Identifier and driver

    Identifier   "Mouse1"

    Driver   "mouse"

    Option      "Protocol"      "evdev"

    Option      "Dev Name"      "B16_b_02 USB-PS/2 Optical Mouse"

    Option      "Dev Phys"      "usb-*/input0"

    Option      "Device"        "/dev/input/mice"

    Option   "Buttons"   "8"

    Option      "ZAxisMapping"   "7 8"

    Option "Resolution"   "800"

EndSection

```

You may have a different DEV Phys and DEV Name depending on your mouse model and which USB port you have the mouse connected to.

I still don't have it all working exactly as I want, but with this config, I can see each mouse button in xev and the wheel and the buttons on the ends of the wheel are the same. Wheel up corresponds to the button at the top of the wheel, etc. I could never get that with the other protocols.

I'll post more when I get more figured out.

----------

## qgriffith

I am using the imwheel method to get all the buttons to work but I am having the same issue a lot of other people are having with the button above the scroll wheel it acts as both scroll up and the back button in the browser.  Has anyone found a way to get around this?  If I do not use imwheel and use the logitech applet I am able to use the scroll and the scroll buttons just fine however I can not use the thumb buttons.  So it seems to be an issue with imwheel maybe that is causing the weirdness with the scroll up button.

----------

## drb

Using xev I could see that when I used a protocol other than evdev, I would get two different button presses for some buttons.

----------

## qgriffith

I am using the 2.6.7 kernel and I have evdev module installed but when I put the option to use evdev in my xorg.conf file X would not start and said evdev is not a valid protocole.

----------

## drb

xorg does not have evdev at this time. You can patch it or use the ebuild in this tread:

https://forums.gentoo.org/viewtopic.php?t=122174

ebuild:

http://chshrcat.homelinux.net/~chshrcat/xorg.tar.bz2

----------

## katossi

I can connect my MX700 directly to the USB port, or with a adapter to the ps/2 port. Is there any benefit in connecting in one or another?

Thanks in advance for your answers,

Guillermo

----------

## nlightn

ALRIGHT!  It's about time!  It works now!  Thanks firephoto and everyone who responded.  I can't tell you how sane this makes me!   :Razz: 

For the record, the difference was that I didn't have read access to Xmodmap file, and qingy doesn't parse ~/.xinitrc.  Anyway, I modified firephoto's guide a bit in my original post for MX500 buttons.  Thanks again all!

----------

## serendipity

My MX700 attached to the PS/2 port on my 2.4.26 based XFree86 is running perfectly, all buttons except for the topmost doodad with the two rectangles on it working as they should. The config was remarkably simply, and pretty much copied directly from the suggestions here.

/etc/X11/XF86Config-4

```

Section "InputDevice"

    

    Identifier   "Mouse1"

    Driver "mouse"

    Option "Protocol"   "ExplorerPS/2"

    Option  "ZAxisMapping" "6 7"

    Option  "buttons" "7"

    Option  "Resolution" "800"    

    Option "Device"     "/dev/mouse"

EndSection

```

/etc/X11/imwheelrc

```

"(null)"

None,           Up,     Alt_L|Left              # Go back

None,           Down,   Alt_L|Right             # Go forward

Control_L,      Up,     Control_L|Page_Up       # Previous tab

Control_L,      Down,   Control_L|Page_Down     # Next tab

 

"^Firebird.*"

None,           Up,     Alt_L|Left              # Go back

None,           Down,   Alt_L|Right             # Go forward

Shift_L,        Up,     Control_L|Page_Up       # Previous tab

Shift_L,        Down,   Control_L|Page_Down     # Next tab

 

"^Firefox.*"

None,           Up,     Alt_L|Left              # Go back

None,           Down,   Alt_L|Right             # Go forward

Shift_L,        Up,     Control_L|Page_Up       # Previous tab

Shift_L,        Down,   Control_L|Page_Down     # Next tab

 

"^Mozilla.*"

None,           Up,     Alt_L|Left              # Go back

None,           Down,   Alt_L|Right             # Go forward

Shift_L,        Up,     Control_L|Page_Up       # Previous tab

Shift_L,        Down,   Control_L|Page_Down     # Next tab

 

"^Epiphany.*"

None,           Up,     Alt_L|Left              # Go back

None,           Down,   Alt_L|Right             # Go forward

Shift_L,        Up,     Control_L|Page_Up       # Previous tab

Shift_L,        Down,   Control_L|Page_Down     # Next tab

 

"^Dillo*"

None,           Up,     comma

None,           Down,   period

 

#last lines

".*"

None,           Up,     Alt_L|Left              # Go back

None,           Down,   Alt_L|Right             # Go forward

Control_L,      Up,     Control_L|Page_Up       # Previous tab

Control_L,      Down,   Control_L|Page_Down     # Next tab 

```

and of course, 

```

/usr/X11R6/bin/xmodmap -e "pointer = 1 2 3 6 7 4 5"

/usr/bin/imwheel -k -p -f -b "67"

```

----------

## C-Tine

I just want to scream. I have been trying to get my MX700 wheel to work, but I can't get anywhere. I've tried to follow everything I've read, but nothing comes close to working. Posting my XF86Config file is probably useless, as I have tried every single configuration posted on this thread, and not a single one will get my wheel to start working. I'm ready to just smash the mouse. On FC1, it had no problem whatsoever using the wheel, so I tried to copy the mouse section of my config file from FC1, to no avail. 

I'm using the 2.6.7 kernel. Can someone please help me?

----------

## drb

Is it just the wheel or the entire mouse that is not working?

If it is just the wheel run xev a terminal in X and see what events are coming through with each button and wheel up and down. That will give some good clues as to what is happening.

----------

## C-Tine

It's just the wheel. I ran xev, and it doesn't respond to the wheel at all. It responds to the side buttons, and the main 2 buttons, and the wheel click, but not the scroll wheel.

It shows the side buttons and wheel click as button 2. Left click is 1, and right click is 3.

----------

## drb

What do the side buttons show as? 

I have an MX-500 but if I recall, the MX-700 has the same button layout. I have one button on each end of the wheel. Does your mouse have them and what do they show in xev?

Also post the "InputDevice" Section of your X config file.

----------

## C-Tine

The two buttons on top don't show up at all when I run xev. Yeah, MX700 is the 500 but wireless.

The side buttons both show up as button 2.

```
Identifier   "Mouse1"

    Driver   "mouse"

    Option "Protocol"    "ExplorerPS/2"

    Option "Device"      "/dev/input/mice"

    Option "ZAxisMapping" "4 5"

    Option "Buttons" "9"

    Option "Emulate3Buttons" "no"
```

----------

## drb

Do you have xmodmap or imwheel running? Best to run without them until you get the buttons coming through in xev properly.

Also I would change the number of mouse buttons to 7 and comment out the Emulate3Buttons line.

You will have to restart x to have the changes registered.

----------

## C-Tine

Well, I commented out the emulate option, and change it to 7 buttons. REstarted x, and neither imwheel nor xmodmap were running. I got the exact same results from xev as before. Left click is button1, right click is button3, side buttons are both button2, and the wheel click is also button2.

----------

## firephoto

Sounds like a kernel problem. Do you have the hid items enabled?

2.6 kernel items that might be worth checking.

HID items

```

# cat /usr/src/linux/.config | grep -i -e hid

# USB Human Interface Devices (HID)

CONFIG_USB_HID=y

CONFIG_USB_HIDINPUT=y

# CONFIG_HID_FF is not set

CONFIG_USB_HIDDEV=y

```

MOUSE items

```

# cat /usr/src/linux/.config | grep -i -e mouse

CONFIG_INPUT_MOUSEDEV=y

CONFIG_INPUT_MOUSEDEV_PSAUX=y

CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024

CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768

CONFIG_INPUT_MOUSE=y

CONFIG_MOUSE_PS2=y

# CONFIG_MOUSE_SERIAL is not set

# CONFIG_MOUSE_VSXXXAA is not set

```

What kind of mother board model and cpu do you have? Also what kernel are you using?

----------

## C-Tine

It's an ASUS P4S8X, P4 2.4 ghz (533 fsb   :Wink:  ) I'm using 2.6.7-gentoo-r9

```
cat /usr/src/linux/.config | grep -i -e hid

# USB Human Interface Devices (HID)

CONFIG_USB_HID=y

CONFIG_USB_HIDINPUT=y

# CONFIG_HID_FF is not set

# CONFIG_USB_HIDDEV is not set

# CONFIG_USB_PHIDGETSERVO is not set

```

```
cat /usr/src/linux/.config | grep -i -e mouse

CONFIG_INPUT_MOUSEDEV=y

CONFIG_INPUT_MOUSEDEV_PSAUX=y

CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024

CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768

CONFIG_INPUT_MOUSE=y

CONFIG_MOUSE_PS2=y

# CONFIG_MOUSE_SERIAL is not set

# CONFIG_MOUSE_VSXXXAA is not set

```

----------

## drb

Then I would suspect a kernel config problem. From your device option, you are using a USB port for your mouse. USB configuration in the kernel can be a bit confusing. The big problem is USB 2.0 is sometimes not USB 2.0.

There are some really good threads on configuring the 2.6 kernel and usb mice. I had to go through by trial and error to find a config that worked with my motherboard. Some configs looked like they worked but I would get some mouse buttons generating multiple events and some without any events. It was a pain in the @%# to compile and test, try something else, compile and test, etc. 

I found that the only way I could see all the buttons on my mouse was to use the evdev in the kernel and in xorg. I haven't tried evdev with xfree, although I think it is supported. That might be different with your motherboard.

I'm afraid I've reached the limit of my knowledge to help you more with this, but I'm sure someone with more knowledge will jump in.

Do some searching on USB and kernel and you should get some good ideas.

----------

## drb

My kernel config if it helps. Running Win4Lin sources 2.6.5. Athlon processor with SIS 745 chipset.

```
bash-2.05b$ cat /usr/src/linux/.config | grep -i -e hid

# USB Human Interface Devices (HID)

CONFIG_USB_HID=y

CONFIG_USB_HIDINPUT=y

# CONFIG_HID_FF is not set

# CONFIG_USB_HIDDEV is not set

bash-2.05b$ cat /usr/src/linux/.config | grep -i -e mouse

CONFIG_INPUT_MOUSEDEV=y

CONFIG_INPUT_MOUSEDEV_PSAUX=y

CONFIG_INPUT_MOUSEDEV_SCREEN_X=1280

CONFIG_INPUT_MOUSEDEV_SCREEN_Y=1024

CONFIG_INPUT_MOUSE=y

# CONFIG_MOUSE_PS2 is not set

# CONFIG_MOUSE_SERIAL is not set

# CONFIG_MOUSE_INPORT is not set

# CONFIG_MOUSE_LOGIBM is not set

# CONFIG_MOUSE_PC110PAD is not set

# CONFIG_MOUSE_VSXXXAA is not set

bash-2.05b$ cat /usr/src/linux/.config | grep -i -e evdev

CONFIG_INPUT_EVDEV=y

bash-2.05b$

```

```
bash-2.05b$ cat /usr/src/linux/.config | grep -i -e usb

# ALSA USB devices

# CONFIG_SND_USB_AUDIO is not set

# USB support

CONFIG_USB=y

# CONFIG_USB_DEBUG is not set

# Miscellaneous USB options

# CONFIG_USB_DEVICEFS is not set

# CONFIG_USB_BANDWIDTH is not set

# CONFIG_USB_DYNAMIC_MINORS is not set

# USB Host Controller Drivers

# CONFIG_USB_EHCI_HCD is not set

CONFIG_USB_OHCI_HCD=y

# CONFIG_USB_UHCI_HCD is not set

# USB Device Class drivers

# CONFIG_USB_AUDIO is not set

# CONFIG_USB_BLUETOOTH_TTY is not set

# CONFIG_USB_MIDI is not set

# CONFIG_USB_ACM is not set

# CONFIG_USB_PRINTER is not set

# CONFIG_USB_STORAGE is not set

# USB Human Interface Devices (HID)

CONFIG_USB_HID=y

CONFIG_USB_HIDINPUT=y

# CONFIG_USB_HIDDEV is not set

# CONFIG_USB_AIPTEK is not set

# CONFIG_USB_WACOM is not set

# CONFIG_USB_KBTAB is not set

# CONFIG_USB_POWERMATE is not set

# CONFIG_USB_MTOUCH is not set

# CONFIG_USB_XPAD is not set

# CONFIG_USB_ATI_REMOTE is not set

# USB Imaging devices

# CONFIG_USB_MDC800 is not set

# USB Multimedia devices

# CONFIG_USB_DABUSB is not set

# Video4Linux support is needed for USB Multimedia device support

# USB Network adaptors

# CONFIG_USB_CATC is not set

# CONFIG_USB_KAWETH is not set

# CONFIG_USB_PEGASUS is not set

# CONFIG_USB_RTL8150 is not set

# CONFIG_USB_USBNET is not set

# USB port drivers

# CONFIG_USB_USS720 is not set

# USB Serial Converter support

# CONFIG_USB_SERIAL is not set

# USB Miscellaneous drivers

# CONFIG_USB_EMI62 is not set

# CONFIG_USB_EMI26 is not set

# CONFIG_USB_TIGL is not set

# CONFIG_USB_AUERSWALD is not set

# CONFIG_USB_RIO500 is not set

# CONFIG_USB_LEGOTOWER is not set

# CONFIG_USB_LCD is not set

# CONFIG_USB_LED is not set

# USB Gadget Support

# CONFIG_USB_GADGET is not set

bash-2.05b$

```

----------

## firephoto

I'd try remaking your kernel and change:

```
# CONFIG_USB_HIDDEV is not set 
```

Might be the problem but it's just a guess on my part.

Also if you're using Xorg then the next update that hits portage should have evdev and some logitech things. Not that I know what this will mean for us mx-* mouse users.  :Wink:  Guess I better do some searching and get ready for it.

----------

## C-Tine

Thanx. I can't seem to get it to work though. I mean, I have basically everything you have as far as the config goes. But I have it setup for EHCI, not OHCI. Maybe I'll try to add OHCI and hope that magically works   :Crying or Very sad: 

Hey firephoto, I noticed that earlier too. Right after I posted that I recompiled the kernel, but still no change. I'm using XFree86.

[EDIT]AND THERE WAS MUCH REJOICING. Thanx a bunch guys, without your help I would have never noticed the OHCI EHCI junk. I just remade my kernel with support for OHCI, and the little bugger started working right off the bat. Thank you very much.[/EDIT]

----------

## firephoto

There was a revision bump today for Xorg, xorg-x11-6.7.0-r2 brings the evdev patches and the logitech ps/2++ patches. I'm not sure what the ps/2++ patches are or what they do but evdev allows all the buttons on your mouse to work, 8 unique buttons.

Here's my new mouse section in my xorg.conf.

```

Section "InputDevice"

    Identifier   "Mouse1"

    Driver   "mouse"

    Option      "Protocol"      "evdev"

    Option      "Dev Name"      "B16_b_02 USB-PS/2 Optical Mouse" #cat /proc/bus/input/devices

    Option      "Dev Phys"      "usb-*/input0" #cat /proc/bus/input/devices

    Option      "Device"        "/dev/input/event1" # Choose the correct input event here.

    Option   "Buttons"   "8"

    Option      "ZAxisMapping"   "7 8"

    Option "Resolution"   "800"

EndSection

```

If you're using xbindkeys and xvkbd the setup should stay the same for them.

Your xmodmap needs to be:

```

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

$ xmodmap -pp

There are 8 pointer buttons defined.

    Physical        Button

     Button          Code

        1              1

        2              2

        3              3

        4              6

        5              7

        6              8

        7              4

        8              5

```

Apply your xmodmap in whatever way works for you (since getting it to auto-load seems to vary on different systems).

I guess I should mention that this gives you the use of the top button, all the other buttons work the same as before.

Someone want to explain the logitech-ps2-plusplus patches? 

(search terms: logitech ps2plusplus ps2++ ps/2++ )

----------

## Nefarious

Okay I have my MX700 plugged into my PS/2 Port. I've tried most of the moethods in this thread, and still no luck. I dont uderstand some of the steps tho.

is someone willing to post everthing I need to type into theconsole to get this to work please? 

TIA

----------

## boskone

 *Nefarious wrote:*   

> Okay I have my MX700 plugged into my PS/2 Port. I've tried most of the moethods in this thread, and still no luck. I dont uderstand some of the steps tho.
> 
> is someone willing to post everthing I need to type into theconsole to get this to work please? 
> 
> TIA

 

http://www.glaurung.demon.co.uk/info/linux.mx500.howto.html

That howto worked for me, with the caveat that I have to manually run 'xmodmap -e "pointer = 1 2 3 6 7 4 5"' every time X is restarted.  Why?  I dunno...still working on that part.  Otherwise it seems to work correctly.

----------

## cold_flame

i finally got the duo combo working, which includes the mx700

thanks heaps to the ppls in here for the tips..

a couple of thoughts..

it was _much_ easier to use the usb port to get it working. i tried the ps/2 plugs and i got nowhere. i used usb and i had it going in abt 10 mins and 2 kernel recompiles.

having the right kernel modules is crucial. 

evdev, usbhid, as well as your appropriate usb support stuff.

/var/log is your friend  :Smile: 

good luck for anyone else

----------

## iverson0881

 *cold_flame wrote:*   

> i finally got the duo combo working, which includes the mx700
> 
> thanks heaps to the ppls in here for the tips..
> 
> a couple of thoughts..
> ...

 

hehe do you think you could be a little more specific on how you got your mx700 set up and how you got your keyboard setup. i'm really trying to figure out how to map my keys. just no real luck on learning anything. I found this https://forums.gentoo.org/viewtopic.php?t=201513&highlight=logitech+cordless+keyboard but I still don't understand everything. Well thanks

----------

## teilo

 *firephoto wrote:*   

> There was a revision bump today for Xorg, xorg-x11-6.7.0-r2 brings the evdev patches and the logitech ps/2++ patches. I'm not sure what the ps/2++ patches are or what they do but evdev allows all the buttons on your mouse to work, 8 unique buttons.
> 
> 

 

< -- Lots of whooping and hollering -- >

Finally, evdev support! I've been waiting for this for a long time.

Your config (modified for my usb dev setup) worked flawlessly for me, for the first time ever. I have the Logitech Cordless Optical Trackman, which is functionally identical to the MX700.

With the xmodmap command, everything is now functioning perfectly. Forward-back works in firefox / gnome by default with the side buttons.

Of course, I've gotten so used to right and middle clicking using the side buttons (which are thumb buttons on the trackman), so now I might have to do some re-configuring. But at least all buttons fire as they are supposed to.

Hint for those trying to find the correct /dev/input/eventx device:

Do a "cat /dev/input/event0". Move your mouse. Ctrl-C. Next try event1, event2, etc. The first one to show input when you move the mouse is the one to use.

----------

## iverson0881

 *teilo wrote:*   

>  *firephoto wrote:*   There was a revision bump today for Xorg, xorg-x11-6.7.0-r2 brings the evdev patches and the logitech ps/2++ patches. I'm not sure what the ps/2++ patches are or what they do but evdev allows all the buttons on your mouse to work, 8 unique buttons.
> 
>  
> 
> < -- Lots of whooping and hollering -- >
> ...

 

Hmm I got the "evdev" driver to work since i was using the wrong thing /dev/input/mouse instead of event1 (for me). But I still have one problem and that is the top cruise button still does two functions for me. Scroll up and page back at the same time. I have xorg-x11-6.7.0-r2 installed so I'm not sure whats going on. Maybe I'll try re-emerging it or something and see whats up. My kernel is gentoo-dev-sources-2.6.7-r9. Hmm r11 seems to be out but the fixes seem to be related to archs other than x86.

Well thanks for the help. =)

----------

## y0zza

evdev is working well in xorg 6.7.0-r2 with my MX700. I have in my xinitrc:

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

and in xorg.conf:

```
Identifier    "Mouse1"

Driver    "mouse"

Option    "Protocol"      "evdev"

Option    "Dev Name"      "Logitech USB Receiver"

#Option    "Dev Phys"      "usb-0000:00:1d.1-1/input0" (using either Dev Name or Dev Phys works)

Option    "Device"        "/dev/input/event2" (/dev/input/mice also appears to work)

Option    "Buttons"       "8"

Option    "ZAxisMapping"   "7 8"

Option    "Resolution"     "800"
```

However, what I miss from the Windows driver is the ability to assign double click to the small thumb button. Is there a way to do this with xbindkeys or something similar?

iverson0881, have you tried setting up 10 buttons intead of 8, so that the cruise buttons act independently of the scroll wheel?

----------

## iverson0881

My relavant xorg.conf section:

```

Section "InputDevice"

    Identifier  "Mouse1"

    Driver      "mouse"

    Option      "Protocol"      "ExplorerPS/2"

    Option      "Dev Name"     "Logitech USB Reciever" 

    Option      "Dev Phys"      "usb-0000:00:07.2-2/input1" 

    Option      "Device"        "/dev/input/mouse0" 

    Option      "Buttons"   "8"

    Option      "ZAxisMapping"   "7 8"

    Option      "Resolution"   "800"

EndSection

```

When I change the protocol to "evdev" then the mouse pointer is unable to show and my X is unable to start a session causing it to crash. Any ideas?

Edit: Eh it doesn't matter it works fine on ExplorerPS/2 now and theres not weird back and up at the same time. Thanks all. =)

----------

## Strips

Hi.

I've managed to make my MX500 work with scroll and back forward thumb buttons with the info stated in this thread  :Very Happy: 

I made a small howto, mainly for my own use but if you want you can take a look here:

http://stupefy.net/modules/news/article.php?storyid=3

Regards

Stian H. Larssen

----------

## Strips

So I went and tried evdev in xorg.

It works splendidly. Scroll and thumb buttons works perfectly.

But I have 10 separate buttons now. All work in xev   :Cool:   I really don't know what to use them for?

Made another personal howto here:

http://stupefy.net/modules/news/article.php?storyid=5

Regards

Stian H. Larssen

----------

## Illissius

Works here  :Wink: 

So now I have it set up, via imwheel, so the two thumb buttons are Win+C and Win+X, and in turn those are amaroK global shortcuts for play/pause and next track.

Two more things I'd like to configure, if it's possible at all:

- Have the buttons above/below the scroll wheel map to the same "buttons" as scroll up/down. I know logitech_applet --enable-cc does something like this, but if there's a different way I'd like to try it.

- I need some way to map a buttonpress combination to a keyboard shortcut. Specifically, what I'd like to do is that when I hold the top button (progselect) and scroll up, it converts it to a keyboard shortcut, which in turn is set as a global shortcut in amaroK for increase volume; and vice versa for down and decrease. Without losing the standard scrollwheel functionality. Is there any utility, or combination of utilities, that can do this?

----------

## koroumel

I'm soooo confused. I read through this thread twice,  I use XFree and I have  just connected the MX700 in my computer. Amazingly it works right away! It even moves the pointer faster. The wheel is working, the two buttons behind and in front of it, and one thumb button. Here is my XF86Config:

```
Section "InputDevice"

        Identifier  "Logitech MX 700"

        Driver      "mouse"

        Option      "Protocol" "ImPS/2"

        Option      "Device" "/dev/psaux"

        Option      "ZAxisMapping" "4 5"
```

My kernel is 2.6.7-r13 and it is connected in the usb port. The question is, should I use evdev or so? Or should I stick to the following config;:

```
Section "InputDevice"

        Identifier  "Logitech MX 700"

        Driver      "mouse"

        Option      "Protocol" "ExplorerPS/2"

        Option      "Device" "/dev/input/mice"

        Option      "Buttons"   "7"

        Option      "ZAxisMapping" "6 7"

        Option      "Resolution"   "800"

EndSection
```

The rest I can follow, it is just this part that confuses me.

----------

## Illissius

With ExplorerPS/2, the buttons above and below the scrollwheel will correspond to scrolling up and down (which is probably what you want them for anyways), and the button on top will just be a left click. If you use evdev, you can assign different functions to the buttons next to the scrollwheel if you want, as well as to the button on top (ie, so each of your ten buttons will be recognized seperately). To do this you need to emerge the 6.7.0-r2 version of X.org (which is currently masked) - it's what I'm using and it's working perfectly, but I used the ExplorerPS/2 before it which worked just as well. Up to you, really.

(And if anyone knows of some arcane way to mangle together xvkdb, xbindkeys, imwheel, logitech_applet, khotkeys and whatever else to achieve the configuration in my previous post, do tell.)

----------

## koroumel

Nice and fast answer Illissius. I want to migrate to Xorg, though I want to let it mature a bit more. Thnx a lot!  :Smile: 

----------

## VinnieNZ

 *teilo wrote:*   

> Hint for those trying to find the correct /dev/input/eventx device:
> 
> Do a "cat /dev/input/event0". Move your mouse. Ctrl-C. Next try event1, event2, etc. The first one to show input when you move the mouse is the one to use.

 

I don't have any /dev/input/event anything there?  What am I missing, or how can I get them to show up?

----------

## Archangel1

You need "Event Interface" compiled into your kernel. It's under Device Drivers > Input Devices

----------

## bLu3

ok,

i tryed the mentioned configs and everything is owrking. my only problem is, that the buttons work the wrong way. the scroll wheel lets me going back and forard in firefox browser an the thumb buttons let me scroll in applications. is there a way to change the settings?

here is my ~/.Xmodmap:

```
pointer = 1 2 3 6 7 4 5

keycode 122 = F13

keycode 130 = F14

keycode 129 = F15

clear mod4

add mod4 = Super_L Super_R 
```

and my ~/.xbindkeysrc:

```
"xvkbd -xsendevent -text "\[Alt_L]\[Left]""

  m:0x10 + b:6

"xvkbd -xsendevent -text "\[Alt_L]\[Right]""

  m:0x10 + b:7
```

my XF86Config:

```
    Identifier  "Mouse1"

    Driver      "mouse"

    Option "Protocol"    "ExplorerPS/2"

    Option "Device"      "/dev/input/mice"

    Option "buttons"     "7"

    Option "ZAxisMapping" "6 7"
```

can anyone help me? i am using kernel 2.6.7 - xvkbd wont install on my distri, is that the problem?   :Embarassed: 

edit: after

```
/usr/X11R6/bin/xmodmap -e "pointer = 1 2 3 6 7 4 5"
```

it's working fine now...   :Cool: 

----------

## bLu3

ok one more time:

after restarting X the buttons are mapped wrong again. only if i type 

```
/usr/X11R6/bin/xmodmap -e "pointer = 1 2 3 6 7 4 5"
```

in the shell the are fine again. so i added this line to /etc/X11/Sessions/kde-3.2.3 but it still wont work after restartin X or xdm

big tia

----------

## Zyne

I'm about to test this evdev thingy, but I've seen quite a lot of ppl with an appearant problem with the logitech MX keyboards too.

I happen to have one logitech MX keyboard, and I've got it to work with lineakd (it's in portage)

However I've had to add a few things to the conf file that came with it, and this is the result:(add do the end of /etc/lineakkb.def

```

[LTCN]

brandname = "Logitech"

modelname = "Cordless Desktop MX - Logitech Y-RJ20"

        [KEYS]

                email = 236

                favorites = 230

                media = 129

                mute = 160

                myhome = 130

                next = 153

                play|pause = 162

                previous = 144

                search = 122

                sleep = 223

                stop = 164

                volumedown = 174

                volumeup = 176

                backbutton = 234

                go = 233

        [END KEYS]

[END LTCN]

# end Logitech Desktop MX - Y-RJ20

```

there are only a few things that aren't working (F-lock, Webcam, Messenger, standby-button), but I'm already happy with the one's that ARE working  :Razz: 

thanks for all the help with the MX700, cause I needed those 10 buttons lol.

EDIT:

everything works! Now I have ALL the buttons of my mouse that I can put to "good" use...  :Razz: Last edited by Zyne on Sun Aug 22, 2004 4:15 pm; edited 1 time in total

----------

## firephoto

 *bLu3 wrote:*   

> 
> 
> here is my ~/.Xmodmap:
> 
> ```
> ...

 

Those are keycodes for a microsoftpro keyboard, Search,  Web/Home, and the Media buttons to be specific. Unless you have this keyboard you don't need these. I'm guessing you copied it from one of my earlier posts. I've changed it now to btw to reflect the actual XF86 button names.

I'm going to be trying a Logitech MX DUO here i a week or so my goal will be to get all buttons working on the keyboard and the MX700 mouse. Maybe we need the "Definitive MX DUO Howto" ?  :Razz: 

----------

## mope

 *Zyne wrote:*   

> I'm about to test this evdev thingy, but I've seen quite a lot of ppl with an appearant problem with the logitech MX keyboards too.
> 
> I happen to have one logitech MX keyboard, and I've got it to work with lineakd (it's in portage)
> 
> However I've had to add a few things to the conf file that came with it, and this is the result:(add do the end of /etc/lineakkb.def
> ...

 

can you post your xorg.conf and xmodmap settings?

I have everything working, except that the two top buttons next to the scrollwheel are mapping the same as the scrollwheel.

Here's mine:

xorg.conf:

 *Quote:*   

> 
> 
> Section "InputDevice"
> 
>         Identifier  "mx700"
> ...

 

~/.xinitrc

 *Quote:*   

> 
> 
> /usr/X11R6/bin/xmodmap -e "pointer = 1 2 3 9 10 6 7 8 4 5" &
> 
> xbindkeys
> ...

 

~/.xbindkeysrc

 *Quote:*   

> 
> 
> "xvkbd -xsendevent -text "\[Alt_L]\[Left]"" 
> 
>   m:0x10 + b:9 
> ...

 

This has 8 buttons working, and the two side buttons as forward, rewind on Opera and firefox.

Now, if someone can tell me how to set up the Microsoft Natural Multimedia keyboard (didn't get very far with lineak), I'd be all set.

----------

## Illissius

If you're using the logitech_applet thingy, try --disable-cc (cc = cruise control).

----------

## talz13

just a little late bump to a good post, but i still have a problem.

I can manually run the

```

imwheel -k -p -f -b "67"

```

and it will let me use the side buttons on my mx700.  i tried a few things to get this to come on at startup, but nothing worked.  i checked the files that were discussed in this thread and they were all readable by others.  

i even tried adding a file to my ~/.kde/Autostart folder.  I made a simple shell script called .mouse in the Autostart folder:

```

#!/bin/sh 

/usr/X11R6/bin/xmodmap -e "pointer = 1 2 3 6 7 4 5"

/usr/bin/imwheel -k -p -f -b "67"

```

but it doesn't execute on startup.  I can manually run the script and it activates my side buttons, but it just doesn't do it on startup.  am i doing something wrong with the Autostart folder?

----------

## ashrobo

 *y0zza wrote:*   

> However, what I miss from the Windows driver is the ability to assign double click to the small thumb button. Is there a way to do this with xbindkeys or something similar?

 

I mapped my thumb keys to minimize and close an application in Windows.  It's really nifty. Anybody knows how to do the mapping?

My wheel only works when I type "xmodmap /etc/X11/Xmodmap" manually. Putting the line in ~/.xinitrc doesn't help at all. Any way to make xmodmap read the config file on startup? I've already done a chmod 644 on /etc/X11/Xmodmap. Thanks!

Edit: Just realised the thumbkeys don't work even after a manual xmodmap /etc/X11/Xmodmap, but that's ok for now.

----------

## Angryguy

After a fair amount of trial and error based on the nice collection of information here, and from subsequent google searches inspired by this post, I've managed to get my own MX700 mouse workign properly.  For some reason none of the other setting combinations on here completely worked for me, yet this is doing the job well.

I'm on an AMD64 system, with the Logitech Cordless MX Duo connected via the PS/2 adapter [USB won't work in the BIOS, at least not without tweaking that I never felt like doing]. 

My  xorg.conf file is as follows:

```
Section "InputDevice"

# Identifier and driver

    Identifier  "Mouse1"

    Driver      "mouse"

    Option "Protocol"    "ExplorerPS/2"

#    Option "Protocol"    "Auto"

    Option "Device"      "/dev/mouse"

Option "Buttons" "10"

Option "ZAxisMapping" "9 10"
```

And ~/.xinitrc is:

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

```

Remember, if you count the scroll wheel up/down as buttons, the MX700 is a 10 button mouse.  The xmodmap part is required, from what I've read, because the mouse wheel must always be mapped as the last buttons on the mouse.

Those are the only settings that I needed to change, and now all of the buttons work as they should (including the back/forward buttons), with the exception of the App-switch button which I can't seem to get xev to recognize no matter what I do.  If anyone knows how to get that button to be recognized, then this mouse will be 100% configured  :Smile: 

Edit: The ~/.xinitrc file does not appear to work.  Instead placing the information in the file .Xmodmap works perfectly.  ie create the file with: 

```
echo -e "pointer = 1 2 3 6 7 8 9 10 4 5\n" > ~/.Xmodmap
```

----------

## mkrisch

i'm trying to get this working on my laptop.  for this i have a synaptics touchpad defined as the corepointer, and the explorer ps/2 mouse defined as alwayscore.

what i've discovered is that with both pointers enabled, the xmodmap pointer remap doesn't seem to work.  xmodmap -pp seems to indicate things have been remapped, but the wheel and the side buttons don't seem to have been switched.

anyone have any thoughts on this?

----------

## Lindsey

 *katossi wrote:*   

> I can connect my MX700 directly to the USB port, or with a adapter to the ps/2 port. Is there any benefit in connecting in one or another?
> 
> Thanks in advance for your answers,
> 
> Guillermo

 

I found that when I connected mine to the USB port, I got the dreaded "spurious interrupt" error on boot.  Switched it back, and it was fine.  Maybe it was unrelated, but I'm sticking with the PS/2 port for now.   :Smile: 

----------

## VinnieNZ

Does anyone happen to have this working using evdev in KDE3.4 beta?

I've just upgraded today and previously when I've upgraded KDE its just worked.  For some reason now though it doesn't work at all.  I can't for the life of me work out what I've done wrong.

I've also noticed that it doesn't work in gnome, but if I drop back to KDE 3.3.2 it works just fine.

Ideas?

----------

## firephoto

evdev and my mx700 is working fine. Not sure what you have set that would be different between kde versions unless you're loading your xmodmap file for you button order with something in your ~/.kde/Autostart folder (that's what I do) and that didn't get copied over to 3.4.

----------

## Matt126

 *mkrisch wrote:*   

> i'm trying to get this working on my laptop.  for this i have a synaptics touchpad defined as the corepointer, and the explorer ps/2 mouse defined as alwayscore.
> 
> what i've discovered is that with both pointers enabled, the xmodmap pointer remap doesn't seem to work.  xmodmap -pp seems to indicate things have been remapped, but the wheel and the side buttons don't seem to have been switched.
> 
> anyone have any thoughts on this?

 

I'm having the same exact problem and it's driving me insane.. quite annoying.

----------

## Gof

 *Angryguy wrote:*   

> After a fair amount of trial and error based on the nice collection of information here, and from subsequent google searches inspired by this post, I've managed to get my own MX700 mouse workign properly.  For some reason none of the other setting combinations on here completely worked for me, yet this is doing the job well.
> 
> I'm on an AMD64 system, with the Logitech Cordless MX Duo connected via the PS/2 adapter [USB won't work in the BIOS, at least not without tweaking that I never felt like doing]. 
> 
> My  xorg.conf file is as follows:
> ...

 

This worked Perfectly  :Very Happy: 

My MX700 is now working just like it should. Thank you Angryguy !!

Gof

----------

## Benson

*BUMB*

Just installed the mouse with evdev, same problem here like many other people seem to have - i have to run /usr/bin/xmodmap -e "pointer = 1 2 3 6 7 4 5" in a console to get the mouse-buttons work correctly. I've tried it with an .xinitrc, tried it with a script in the autostart-folder of kde - no way, nothing can make it working when i restart my computer.

Has someone managed to get it working?

rgds

Benson

----------

## firephoto

Make a file in your Autostart folder named xmodmap.desktop and edit the file to look like this.

```

[Desktop Entry]

Comment=

Comment[en_US]=

Encoding=UTF-8

Exec=xmodmap ~/.Xmodmap

GenericName=

GenericName[en_US]=

Icon=exec

MimeType=

Name=

Name[en_US]=

Path=

StartupNotify=false

Terminal=false

TerminalOptions=

Type=Application

X-DCOP-ServiceType=none

X-KDE-SubstituteUID=false

X-KDE-Username=

```

You might need to make the line "Exec=xmodmap ~/.Xmodmap" look something like "Exec=xmodmap /home/{yourusernamehere}/.Xmodmap".

Now in your ~/.Xmodmap file make sure you have this line.

```

pointer = 1 2 3 6 7 8 4 5

```

If you need some keycode lines for your keyboard they would look like this in that file:

```

keycode 223 = XF86Sleep

```

Just make sure anything in your .Xmodmap file is similar to above, you don't need the quotes or other arguments when it's in the file.

Now restart your kde session and you should be good to go.

[/code]

----------

## Benson

Thanks firephoto, the xmodmap.desktop solved it for me - .Xmodmap was already in my home as suggested in this thread, and now it gets executed when i start kde! Very nice!

rgds

Benson

----------

## MadEgg

Somehow all 8 buttons only work for me when I use this xmodmap:

```

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

```

and not

```

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

```

That everyone here says. The last one makes the 8th button(the task-switching button) send no signal at all, while the first one makes the scrollwheel work, the forward/backword button do what I expect them to do, and the task-switching button send a ButtonPress/Release event which I can use in games to bind it to an action. Dunno why the last one does not work for me, but it doesnt  :Razz: 

----------

## MadDogE134

i have a MX 700... and have tried the fixes for it to no avail... everytime i change the xorg.conf file it refuses to work at all  :Sad: 

one thing that may be the probelm is... i have a Belkin Nostromo plugged into USB and it is basically a HID Mouse and Keyboard... so i am figuring that since it is being seen as a mouse and fglrxconfig gives the default /dev/input/mice as opposed to /dev/mouse... then maybe if i unplug the Nostromo, re-run fglrxconfig again to re-write /etc/X11/xorg.conf and then doctor the xorg.conf file with the MX 700 fixes... maybe... just maybe it will work.

but right now i have a 10 buttons/actions mouse running only 3 buttons/actions  :Sad: 

will work on it later... still setting up my new 80Gb SATA system  :Smile: 

----------

## dmgmidoh

Ok guys and gals.  I think I may have an answer to this issue.  Which then of course would lead to another problem.  I had my mouse working just fine with the "xmodmap" line in my ~xinitrc file.  All of the buttons worked fine as well as the scroll wheel.  It's an Intellimouse.  Then all of a sudden it stopped working.  I have to issue the xmodmap line in a terminal window and then it works but no other way.  On the other machine I am working on setting up, I could NEVER get it to work.  No matter what I did or where I put the xmodmap line, I still have to run the command manually to get it to work.

Then it hit me.  When the mouse worked properly on the first system, I had it boot to a prompt.  I would then login and run startx manually.  On the second machine I set it up to use kdm for the login.  After I decided I liked the kdm login, I set up the first machine to use kdm.  That's when the mouse quit working!

Short answer, I think kdm is broken right now.  It doesn't seem to be executing the xmodmap directive.  I would be curious to know if the other people who are having trouble getting the buttons mapped properly and have "done everything right" are using kdm and if those that it works for, if they are using something other than kdm.

So, let's here it.  Is this the problem or am I just chasing my tail.

----------

## WindforceV2

I think there is a very easy way to solve this. Just make sure that u r using the ExplorerPS/2 protocol, and ZAxisMapping 4 5 instead of 6 7 as many suggested. No more configuraion is needed. And this is the relavent section of my XF86config-4.conf.

```
 Identifier  "Mouse1"

    Driver "mouse"

    Option "Protocol"   "ExplorerPS/2"

    Option "Device"     "/dev/input/mice"

    Option "Buttons"    "7"

    Option "ZAxisMapping" "4 5"
```

----------

## JuveDuke

Here's my attempt at a guide:

http://www.slackerlounge.org/index.php?pageid=3

Suggestions are welcome.

I'll probably work on explaining xinitrc a little more to begin with.Last edited by JuveDuke on Tue Nov 22, 2005 3:58 pm; edited 3 times in total

----------

## upalom00

JuveDuke

Your link was live a few minutes ago....but now it seems "dead". Access error message.

----------

## iverson0881

Try this link instead

http://www.slackerlounge.org/slack.php?type=linux&id=1

Or go to the main domain and click the link to the guide.

----------

## Headrush

 *iverson0881 wrote:*   

> Try this link instead
> 
> http://www.slackerlounge.org/slack.php?type=linux&id=1
> 
> Or go to the main domain and click the link to the guide.

 

Some observations:

```
MX700 is a 10 button mouse, not 8

Mice and PS/2 Mouse modules in "Input Device Support" section are not needed to get this mouse working.

/dev/hiddev raw HID device support in "USB Support" section is not required.

Option "Device" "/dev/usbmouse" in xorg.conf will probably be /dev/input/xxxx for most people, not /dev/usbmouse. (xxxx is mouse0, event0, etc)

I don't think "Resolution" option in xorg.conf works for MX700 series. (Atleast it's not on mine)
```

----------

## snizfast

 *iverson0881 wrote:*   

> 
> 
> MX700 is a 10 button mouse, not 8

 

No its an 8 button mouse.  The glide up and down are the same as scrolling up and down in terms of the imput to the computer.

----------

## Headrush

 *snizfast wrote:*   

> 
> 
> No its an 8 button mouse.  The glide up and down are the same as scrolling up and down in terms of the imput to the computer.

 

Actually they are not. Those 2 buttons are "cruise control" buttons linked to the scroll wheel.

Using xev you can see that pressing either of those buttons produces 2 button codes: the first code is the same as wheel scroll and the second code is the cruise button code. Using the logitech_applet you can turn off the cruise feature and these buttons only produce their own code and not the scroll button code also.

This gives you 10 discreet button inputs. Works flawlessly here and having 10 buttons is great for ut2004 and activating public and team voice chats using those buttons.  :Smile: 

----------

## upalom00

I followed the link posted by jukedev and followed the guide. Now with different settings in xorg.conf my mouse is either not working at all when entering my desktop or gdm does not allow me to enter my desktop environment. Its a bit frusterating as I went from a semi-working mouse to no mouse at all. 

I am typing this in by hand in links

Here is my xorg.conf:

```

Section "InputDevice"

  Identifier "Mouse1"

  Driver "mouse"

  Option "Protocol" "uvdev"

  Option "Dev Name" "LogiTech USB Receiver"

  Option "Dev Phys" "usb-0000:00:02.1-2.21/input1"

  Option "Device" "/dev/input/event1"

  Option "Buttons" "10"

  Option "ZAxisMapping" "9 10"

  Option "Resolution" "1000"

EndSection

```

Here is what I get when I run the following command:

```

$cat /etc/src/linux/.config | grep -i -e hid

CONFIG_USB_HID=y

CONFIG_USB_HIDINPUT=y

# CONFIG_HID_FF is not set

CONFIG_USB_HIDDEV=y

# CONFIG_USB_PHIDGETKIT is not set

CONFIG_USB_PHIDGETSERVO=m

```

Another command

```

$cat /etc/src/linux/.config | grep -i -e mouse

CONFIG_INPUT_MOUSEDEV=y

CONFIG_INPUT_MOUSEDEV_PSAUX=y

CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024

CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768

CONFIG_INPUT_MOUSE=y

CONFIG_MOUSE_PS2=y

# CONFIG_MOUSE_SERIAL is not set

# CONFIG_MOUSE_INPORT is not set

# CONFIG_MOUSE_LOGIBM is not set

# CONFIG_MOUSE_PC110PAD is not set

# CONFIG_MOUSE_VSXXXAA is not set

# CONFIG_USB_IDMOUSE is not set

```

I also configured the kernel following jukedev's guide on his website.

So...where did I mess up? Would love to get my mouse working again.

----------

## Headrush

upalom00,

try changing

```
Option "Dev Phys" "usb-0000:00:02.1-2.21/input1"
```

to

```
Option      "Dev Phys"      "usb-*/input1"
```

Also, you can try event0 and mouse0 instead of event1 in 

```
Option "Device" "/dev/input/event1" 
```

----------

## upalom00

 *Quote:*   

> upalom00,
> 
> try changing
> 
> Code:
> ...

 

SWEET!

What a simple fix. Thanks dude! My mouse is now working as well as the scroll wheel.

----------

## JuveDuke

http://www.slackerlounge.org/index.php?pageid=3

Alright, sorry about that, fixed my link.

Learning php and mysql as I go (and ftp access on my host went down for a bit so I couldn't fix things).Last edited by JuveDuke on Tue Nov 22, 2005 3:59 pm; edited 4 times in total

----------

## JuveDuke

 *Headrush wrote:*   

>  *iverson0881 wrote:*   Try this link instead
> 
> http://www.slackerlounge.org/slack.php?type=linux&id=1
> 
> Or go to the main domain and click the link to the guide. 
> ...

 

Thanks for the input.   :Smile: 

In my opinion it's an 8 button and 10 input mouse (I'm not going by what the computer thinks, but what seems natural to most people (myself included), especially people just getting in to linux). I don't think it's anything to worry about.

I added an optional kernel settings section (I still think PS/2 support is important and wouldn't want to mislead people, and I'm not sure what raw HID device support does right now, so I don't want to take it off yet).

I saw that I made the usbmouse symlink so I fixed that up and took out the resolution (I think you're right about it not doing anything for this mouse, after testing it out).

EDIT:  Upon further investigation I took out the raw HID device support.

----------

## iverson0881

Alright well tried out the guide and it's quite nice but.......

I'm a bit confused with the last part, the xbindkeys configuration. I tried copying your config onto mine and that didn't work so I tried using xbindkeys -mk and I didn't get anything close to like yours. For example CTRL + R would yield m:0x04 + c:27. So I think something is up. My buttons are all screwed up too. For example, the left click does do the the normal clicking but I can't highlight. The quick scroll up/down does left clicking but with highlighting. It's a bit weird. 

.xinitrc contents:

```

 /usr/X11R6/bin/xmodmap -e "pointer = 1 2 3 6 7 8 9 10 4 5" &

xbindkeys

beagled

best

```

.xbindkeysrc

```

 "xvkbd -xsendevent -text "\[Alt_L]\[Left]""

m:0x08 + c:100

"xvkbd -xsendevent -text "\[Alt_L]\[Right]""

m:0x08 + c:102

xvkbd -xsendevent -text "\[Page_Up]""

m:0x0 + c:99

"xvkbd -xsendevent -text "\[Page_Down]""

m:0x0 + c:105

"xvkbd -xsendevent -text "\Cr""

m:0x4 + c:27

```

Thanks.

----------

## JuveDuke

The xbindkeys -mk utility is meant to (at least in this use of the program) capture mouse button clicks and tell you what mouse button is being pressed inside that little window.  This helps to match up the values coming after the "b:" with what you want.  

So, if you notice that what you're programming to be the forward button (in this case I was mapping "b:7" to be forward) actually corresponds to a different button (maybe the  back button) then you can switch up the b:7 and b:6 lines.

And when you did it originally what exactly happened?

----------

## [Lx]-=Mystify=-

I also try to get my MX500 to work...

I didn't solve the problem, that some buttons produce more than 1 button click...

I use evdev compiled into my kernel, and in the xorg config

```
Section "InputDevice"

        Identifier  "Mouse[1]"

        Option      "Name" "Logitech MX500 USB"

        Driver      "mouse"

####################################################################

# new configuration with evdev protocol

####################################################################

        Option      "Protocol" "evdev"

        Option      "Dev Name" "B16_b_02 USB-PS/2 Optical Mouse"

        Option      "Dev Phys" "usb-*/input0"

        Option      "Buttons" "10"

        Option      "ZAxisMapping" "9 10"

EndSection
```

my buttons give the following events (look here for my naming convention of the buttons):

```

Left: button1          <= that's ok

scroll press: button2          <= that's ok

sroll up: button9          <= that's ok

scroll down: button10          <= that's ok

right: button3          <= that's ok

up: button2, button7          <= NOT ok

down: button8          <= that's ok

program switcher: button1, button6          <= NOT ok

foward: button5          <= that's ok

back: button4          <= that's ok
```

smart scroll/cruise control is disabled via the logitech_applet.

can anoyone give a hint why the 2 mouse buttons produce 2 events when pressed? don't know where to search and what might be my problem...

----------

## Genfoo'

I got my MX1000 to work the way I want it to with this:

emerge -p gentoo-sources

```
[ebuild   R   ] sys-kernel/gentoo-sources-2.6.11-r6
```

/usr/src/linux/.config

```
...

CONFIG_USB_ARCH_HAS_OHCI=y

CONFIG_USB_EHCI_HCD=y

# CONFIG_USB_EHCI_SPLIT_ISO is not set

# CONFIG_USB_EHCI_ROOT_HUB_TT is not set

CONFIG_USB_OHCI_HCD=y

CONFIG_USB_UHCI_HCD=y

...

CONFIG_INPUT_EVDEV=y

...

CONFIG_USB_HID=y

CONFIG_USB_HIDINPUT=y

# CONFIG_HID_FF is not set

# CONFIG_USB_HIDDEV is not set

...

CONFIG_INPUT_MOUSEDEV=y

# CONFIG_INPUT_MOUSEDEV_PSAUX is not set

CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024

CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768

# CONFIG_INPUT_MOUSE is not set

# CONFIG_USB_IDMOUSE is not set

...
```

emerge -p xorg-x11

```
[ebuild   R   ] x11-base/xorg-x11-6.8.2-r1
```

/etc/X11/xorg.conf

```
...

Section "InputDevice"

    Identifier   "Mouse1"

    Driver "mouse"

    Option "Protocol"     "evdev"

    Option "Dev Name"     "Logitech USB Receiver"

    Option "Dev Phys"     "usb-0000:00:1f.2-2/input0"

    Option "Device"       "/dev/input/event0"

    Option "Buttons"      "12"

    Option "ZAxisMapping" "11 12"

    Option "Resolution"   "800"

EndSection

...
```

/etc/X11/xinit/Xmodmap

```
pointer = 1 2 3 8 9 10 11 12 6 7 4 5\n
```

~/.xbindkeysrc

```
# Back and Forward

"xvkbd -xsendevent -text "\[Alt_L]\[Left]""

m:0x10 + b:8

"xvkbd -xsendevent -text "\[Alt_L]\[Right]""

m:0x10 + b:9

# 'Cruise Control'

"xvkbd -xsendevent -text "\[Page_Up]""

m:0x10 + b:11

"xvkbd -xsendevent -text "\[Page_Down]""

m:0x10 + b:12
```

GNOME Menu -> Desktop -> Preferences -> Sessions -> Startup Programs -> add xbindkeys

The scroll and tilt on the wheel work, forward and back on the side work, and the 'Cruise Control' buttons work.  I haven't found a use for the App Switch button yet, but it does work.  All the buttons, except 'Cruise Control', work in America's Army.

Can anyone tell me how to get xbindkeys to start with X so the settings are global and not just for this user account?

----------

## kiel.wells

Why does the "Device" line have to be something besides /dev/input/mice?

No matter what I put for "Device", Xorg cannot find my mouse when I have this config

```
Section "InputDevice"

   Identifier  "Mouse1"

   Driver      "mouse"

   Option       "Protocol" "evdev"

#   Option       "Protocol" "auto"

   Option      "Dev Name" "Logitech USB Reciever"

   Option       "Dev Phys" "usb-*/input0"

   Option       "Device" "/dev/input/mouse0"

   Option       "Buttons" "10"

   Option       "ZAxisMapping" "4 5"

EndSection
```

 but it works like a regular 3 button mouse (without the extra buttons) when I use this config

```
Section "InputDevice"

   Identifier  "Mouse1"

   Driver      "mouse"

#   Option       "Protocol" "evdev"

   Option       "Protocol" "auto"

#   Option      "Dev Name" "Logitech USB Reciever"

#   Option       "Dev Phys" "usb-*/input0"

   Option       "Device" "/dev/input/mice"

   Option       "Buttons" "10"

   Option       "ZAxisMapping" "4 5"

EndSection
```

I don't quite understand how to get this working, and I've tried putting all sorts of different specifications in for Device, but none of them actually worked.

Also, is there a way to get all this working with gdm, or in such away that I can boot to graphics, and not have to type in startx from the command line and still get all the button functionality?

----------

## Genfoo'

If you are using evdev protocol then use:

```
Option "Device"       "/dev/input/event0"
```

To start GDM at boot type:

```
rc-update add xdm default
```

and look in /etc/rc.conf and make sure

```
DISPLAYMANAGER="gdm"
```

----------

## iverson0881

 *kiel.wells wrote:*   

> Why does the "Device" line have to be something besides /dev/input/mice?
> 
> No matter what I put for "Device", Xorg cannot find my mouse when I have this config
> 
> ```
> ...

 

You did what I did. Spell something wrong =P

   Option      "Dev Name" "Logitech USB Reciever" 

repeat after me I before E except after C

Change it to: 

   Option      "Dev Name" "Logitech USB Receiver" 

Uncomment the line and try again.

----------

## Headrush

kiel.wells, how are you testing the configuration?

Start the program xev and while the mouse pointer is in the window that appears, try each mouse button and see if it produces any code.

You'll probably want to use XAxisMapping "9 10" and then use xmodmap to change the mappings.Last edited by Headrush on Wed Apr 27, 2005 10:22 pm; edited 1 time in total

----------

## kiel.wells

Well, with my current config it recognizes left, right, scroll-up, scroll-down, and middle-click.

The cruise control buttons are attached to the scroll wheel, but when cruisecontrol is disabled, they aren't recognized.

the quick switch button is listed as button1.

I've tried the walk-through of that link above, followed it exactly to the letter, and couldn't get it to recognize a core pointer.

I also want to have imwheel and xmodmap run when gdm starts, so i don't have to 'startx' from a console.

TIA

-Kiel

----------

## Headrush

 *kiel.wells wrote:*   

> Well, with my current config it recognizes left, right, scroll-up, scroll-down, and middle-click.
> 
> The cruise control buttons are attached to the scroll wheel, but when cruisecontrol is disabled, they aren't recognized.

 

You keep saying it's recognized, but by what? An application or xev?

You have to start at basic levels first and see if the input layer recognizes the buttons, hence why you need to use xev. Don't run anything else effecting the mouse, including xbindkeys, xmodmap, imwheel.

You said when cruside control is disabled; are you using logitech_applet to try to disable? If so, ignore it for now. You are trying two many things at once.

 *kiel.wells wrote:*   

> I also want to have imwheel and xmodmap run when gdm starts, so i don't have to 'startx' from a console.

 Like I said, forget key mappings and such until we know input from device is being properly recognized.

----------

## kiel.wells

Sorry, I meant to say 'xev' but forgot when I posted earlier.

Yes, xev recognizes button 1(left click), button 2 (middle click), button 3 (right click), button 4 (scroll up), and button 5 (scroll down).  The 'quick switch' button produces a button 1 event in xev.

The cruise control buttons produce the same events as scroll up and down, just like they should.  When cruise control is disabled by the logitech_applet, neither button produces an event in xev.

The two side buttons do not produce an event in xev at all.

----------

## Headrush

kiel.wells,

Are you sure no other programs ran that modified mouse input?

The cruise buttons should produce two button pushes in xev, not one. Then when cruise is deactivated by logitech_applet you are left with the unique one. Seems like logitech_applet is correctly removing the second one, so leads me to believe, either something else is modifying the input, or your not getting the right input. 

Have you tried  the other inputs in /dev/input including /dev/input/event0?

You have to modify xorg.conf and restart X each time to test.

And can you change the ZAxisMApping to "9 10"

----------

## kiel.wells

Well, right now all the buttons produce separate events in xev, but they're a little confused.

Button 1 = Left click

Button 2 = middle click

Button 3 = right click

button 4 = big side button

button 5 = little side button

button 6 = quick switch button

button 7 = cruise up button

button 8 = cruise down button

button 9 = wheel up

button 10 = wheel down

The two side buttons control scrolling at the moment, but they are backwards (forward one goes down, rearward one goes up).

----------

## iverson0881

Dev name isn't just a display name. It does matter. it is what is listed in cat /proc/bus/input/devices . My spelling error made a big difference as X would refuse to run and would say no pointer was available. It isn't the same as "Identifier" as described in video card area. So yeah it isn't just a name it corresponds to your device.

----------

## Headrush

 *kiel.wells wrote:*   

> Well, right now all the buttons produce separate events in xev, but they're a little confused.
> 
> Button 1 = Left click
> 
> Button 2 = middle click
> ...

 

Do the cruise buttons show two button presses?

Seems your buttons are being correctly read. You can see how they are mapped by using

```
xmodmap -pp
```

This shows you the relationship between the physical buttons and the code you want it to produce. eg

```
jubenvi: tux > /usr/bin/xmodmap -pp

There are 10 pointer buttons defined.

    Physical        Button

     Button          Code

        1              1

        2              2

        3              3

        4              4

        5              5

        6              6

        7              7

        8              8

        9              9

       10              10
```

All lot of apps assume that buttons 4 and 5 are the scroll wheels. So we need to map buttons 9 and 10 which are the physical inputs, to the ones X expects.

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

What this does is change the mapping so button 9 and 10 report 4 and 5 to X and vice versa. eg

```
jubenvi: tux > xmodmap -pp

There are 10 pointer buttons defined.

    Physical        Button

     Button          Code

        1              1

        2              2

        3              3

        4              9

        5             10

        6              6

        7              7

        8              8

        9              4

       10              5
```

Your scroll wheel should now scroll a web page in konqueror without modification.

You can do the same to flip the side buttons around.

Now you have a choice of various tools (xbindkeys, etc) to map the buttons to functions you want.

Some apps like ut2004 will recognize all the buttons without modification.

----------

## [Lx]-=Mystify=-

just found out something curious, which I don't know why it happens, but maybe it can help solve my problem that not all 10 mice-buttons are recognized the right way...

I have a laptop with integrated ALPS touchpad and a MX500 attached via USB... I changed the config for my touchpad, and made a little writing-failure, so that Xorg doesn't load the driver, and the touchpad is disabled in my X11 session...

but since then my MX500 works just like it should. all 10 buttons are correctly recognized, and everyone produces his own button-press/-release event in xev, with cruise-control disabled via 'logitech_applet'...

also none of the buttons produce more than one button-press/-release event...

I'm going to test if this behaviour changes when the touchpad is re-activated...

maybe someone knows why this happens???

----------

## Headrush

[Lx]-=Mystify=-,

What are the device input locations for both devices in xorg.conf?

----------

## kiel.wells

No, the cruise control buttons don't create two events.

How do I set up xmodmap and to run when gdm starts?

----------

## Headrush

 *kiel.wells wrote:*   

> No, the cruise control buttons don't create two events.
> 
> How do I set up xmodmap and to run when gdm starts?

 

You can setup xmodmap in any script that is run after X is started. I use kdm, so I can't say for sure with gdm, but add the line to any script the gdm executes when you pick your window manager and it should work fine.

eg for me I modified /kde/3.4/share/config/kdm/Xsession and added 

/usr/bin/xmodmap -e "pointer = 1 2 3 9 10 6 7 8 4 5" to the top of script.

----------

## iverson0881

or add 

```
pointer = 1 2 3 9 10 6 7 8 4 5
```

to .Xmodmap

----------

## kiel.wells

Well, my 'pointer' line in Xmodmap looks like this 

```
pointer = 1 2 3 6 7 8 9 10 4 5
```

 and what that does is give me 4 and 5 on the scroll, and apparently, 6 and 7 have been bound to left and right, so now they are my side buttons.  now i just need the cruise control buttons bound to something, and i'll be set....

Thanks all you guys, for your extensive help.

----------

## Headrush

 *kiel.wells wrote:*   

> Well, my 'pointer' line in Xmodmap looks like this 
> 
> ```
> pointer = 1 2 3 6 7 8 9 10 4 5
> ```
> ...

 

6 and 7 have been bound to left and right? Do you mean to the side buttons? Or do you mean you have used another program to bind the side buttons to left and right keys?

All xmodmap does is modify the the events sent from the physical buttons before they are sent to X. 

To map button inputs to keys, you must use a different program. (xbindkeys, etc)

----------

## kiel.wells

6 and 7 right now act as backwards and forwards in firefox, and they are bound to the side buttons.

8, 9, and 10 are bound to the quick switch button, scroll up, and scroll down buttons respectively.

I think that they get that binding from imwheel, as I'm pretty sure I passed

```
imwheel -f "67"
```

somewhere.

----------

## [Lx]-=Mystify=-

@Headrush:

I had '/dev/psaux'. I tried some things out, now my touchpadconfig looks like this:

```

Section "InputDevice"

        Identifier  "Mouse[0]"

        Option      "Name" "Builtin Dell Touchpad"

        Driver      "mouse"

        Option      "Buttons" "3"

        Option      "Device" "/dev/input/mouse0"

        Option      "Emulate3Buttons" "yes"

        Option      "Protocol" "evdev"

        Option      "Dev Name" "AlpsPS/2 ALPS TouchPad"

        Option      "Dev Phys" "isa0060/serio1/input0"

EndSection
```

in the old configuration I used 'ExplorerPS/2' as protocol and '/dev/psaux' as device...

with that config my MX500 works and my touchpad partially. the problem with the touchpad is that it's a ALPS touchpad with additional stick to move the cursor. at the moment I can only move the cursor with the stick, not via touchpad.

just haven't found the time to get it to work with 'tpconfig', and maybe the synaptics driver for X11 (cause I love the feature of srolling horizontal & vertical via touchpad).

----------

## roswell-

I'm having the same problem getting my ALPS touchpad to "coexist" with my MX510. The best I've managed is using evdev for the mouse and the synaptics dirver for the touchpad. The touchpad works great, gestures and everything but the mouse has the thumb buttons and scroll wheel actions swapped:roll:   :Rolling Eyes:   All changes to .Xmodmap are ignored by the mouse and only end up affecting the touchpad.

Mouse config:

```

Section "InputDevice" 

   Identifier "Mouse1"

   Driver "mouse"

   Option "Protocol" "evdev"

   Option   "Dev Name" "Logitech USB-PS/2 Optical Mouse"

   Option   "Dev Phys" "usb-*/input0"

   Option "Device" "/dev/input/mice"

   Option "Buttons" "10"

   Option "ZAxisMapping" "6 7"

   #Option "Resolution" "800"

EndSection

```

Touchpad config:

```

Section "InputDevice" 

   Driver "synaptics" 

   Identifier "Touchpad" 

   Option "Device" "/dev/input/mouse0" 

   Option "Protocol" "auto-dev" 

   Option "LeftEdge" "120" 

   Option "RightEdge" "830" 

   Option "TopEdge" "120" 

   Option "BottomEdge" "650" 

   Option "FingerLow" "14" 

   Option "FingerHigh" "15" 

   Option "MaxTapTime" "180" 

   Option "MaxTapMove" "110" 

   Option "EmulateMidButtonTime" "75" 

   Option "VertScrollDelta" "20" 

   Option "HorizScrollDelta" "20" 

   Option "MinSpeed" "0.2" 

   Option "MaxSpeed" "0.5" 

   Option "AccelFactor" "0.01" 

   Option "EdgeMotionMinSpeed" "15" 

   Option "EdgeMotionMaxSpeed" "15" 

   Option "UpDownScrolling" "1" 

   Option "CircularScrolling" "1" 

   Option "CircScrollDelta" "0.1" 

   Option "CircScrollTrigger" "2" 

EndSection 

```

----------

## roswell-

I seem to have made it worki, at last!  :Very Happy: 

```

xsetpointer -l

```

showed my touchpad as the XPointer and thus xmodmap affected the touchpad and not the mouse. Changing my xorg.conf to:

```

Section "ServerLayout" 

Identifier "AtiLayout" 

Screen "ScreenAti" 

#InputDevice "Mouse1" "SendCoreEvents" 

#InputDevice "Touchpad" "CorePointer" 

InputDevice "Touchpad" "AlwaysCore"

InputDevice "Mouse1" "CorePointer"

InputDevice "Keyboard1" "CoreKeyboard" 

EndSection 

```

made the mouse XPointer and xmodmap changes applied to it. I used

```

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

```

to get the MX510 scrolling and everything just like it should. Hope this helps someone!

----------

## [Lx]-=Mystify=-

I'm that far that my touchpad and USB mouse work both and all buttons are usable and produce their own buttonpress event...

but if I start X without my USB mouse connected I have to restart X after I've plugged it in...

can anyone tell me how to configure X that the USB mouse does work even if I plug it in after X is started?

my current config:

ServerLayout

```

Section "ServerLayout"

        Identifier     "Default Layout"

        screen         "Screen0"

        InputDevice     "Mouse[0]"      "CorePointer"

        InputDevice     "Mouse[1]"      "SendCoreEvents"

        InputDevice     "Keyboard[0]"   "CoreKeyboard"

EndSection

```

Mouse[0] (ALPS touchpad)

```

Section "InputDevice"

        Identifier  "Mouse[0]"

        Option      "Name" "Builtin Dell Touchpad"

        Driver          "synaptics"

        Option          "Device"        "/dev/input/mouse0"

        Option          "Protocol"      "auto-dev"

        Option        "LeftEdge"              "120"

  Option        "RightEdge"             "830"

  Option        "TopEdge"               "120"

  Option        "BottomEdge"            "650"

  Option        "FingerLow"             "14"

  Option        "FingerHigh"            "15"

  Option        "MaxTapTime"            "180"

  Option        "MaxTapMove"            "110"

  Option        "EmulateMidButtonTime"  "75"

  Option        "VertScrollDelta"       "20"

  Option        "HorizScrollDelta"      "20"

  Option        "MinSpeed"              "0.3"

  Option        "MaxSpeed"              "0.75"

  Option        "AccelFactor"           "0.015"

  Option        "EdgeMotionMinSpeed"    "200"

  Option        "EdgeMotionMaxSpeed"    "200"

  Option        "UpDownScrolling"       "1"

  Option        "CircularScrolling"     "1"

  Option        "CircScrollDelta"       "0.1"

  Option        "CircScrollTrigger"     "2"

EndSection

```

Mouse[1] (Logitech MX500 USB)

```

Section "InputDevice"

        Identifier  "Mouse[1]"

        Option      "Name" "Logitech MX500 USB"

        Driver      "mouse"

        Option      "Protocol" "evdev"

        Option      "Dev Name" "B16_b_02 USB-PS/2 Optical Mouse"

        Option      "Dev Phys" "usb-*/input0"

        Option      "Buttons" "10"

        Option      "ZAxisMapping" "9 10"

        Option      "Device" "/dev/input/mouse1"

        Option      "Emulate3Buttons" "no"

EndSection

```

----------

## Dais

Hi,

I have a MX700 usb mouse and there are strange things about my buttons:

```
xmodmap -pp

There are 10 pointer buttons defined.

    Physical        Button

     Button          Code

        1              1

        2              2

        3              3

        4              6

        5              7

        6              4

        7              5

        8            183

        9             24

       10             95

```

Why these button codes ??? How can I change them ?

my .xinitrc part

```
/usr/X11R6/bin/xmodmap -e "pointer = 1 2 3 6 7 8 9 10 4 5" &

xbindkeys &
```

my xorg.conf part

```
    Identifier "Mouse1"

    Driver "mouse"

    Option "Protocol" "evdev"

    Option "Dev Name" "Logitech USB Receiver"

    Option "Dev Phys" "usb-*/input0"

    Option "Device" "/dev/input/event2"

    Option "Buttons" "10"

    Option "ZAxisMapping" "9 10"

```

my .Xmodmap

```
pointer = 1 2 3 6 7 4 5 8 9 10

```

my .xbindkeysrc

```
  GNU nano 1.3.4             File: .xbindkeysrc

"xvkbd -xsendevent -text "\[Alt_L]\[Left]""

m:0x10 + b:6

"xvkbd -xsendevent -text "\[Alt_L]\[Right]""

m:0x10 + b:7

xvkbd -xsendevent -text "\[Page_Up]""

m:0x10 + b:9

"xvkbd -xsendevent -text "\[Page_Down]""

m:0x10 + b:10

"xvkbd -xsendevent -text "\Cr""

m:0x10 + b:8

```

Because of that, I have:

buttons 1 to 3: working

left side buttons: working

button on top of wheel: acting as "wheel down" once

wheel: dunno, selecting text o_o

first button bottom the wheel: like the wheel o_O

second bottom button: acting as "wheel up" once o_O

Thanks.

EDIT: I changed ZAxisMapping from "9 10" to "6 7", my .xinitrc part from "pointer = 1 2 3 6 7 8 9 10 4 5" to "pointer = 1 2 3 6 7 4 5 8 9 10" and put exactly the dev phys I now have the wheel. So now, all my buttons work except the 3 buttons in the same vertical line as the wheel.

----------

## Headrush

You should try each step individually. Modifying several things at once makes it harder to find the answer quickly.

You are using xmodmap in several places, why?

Can you comment all those entries and post output from xmodmap -pp?

What desktop are you using?

----------

## Dais

Yeah .. I'll just use .Xmodmap now, not in .xinitrc.

My xmodmap -pp is the one I gave to you just before:

```
xmodmap -pp

There are 10 pointer buttons defined.

    Physical        Button

     Button          Code

        1              1

        2              2

        3              3

        4              6

        5              7

        6              4

        7              5

        8            183

        9             24

       10             95

```

for the desktop, I change often, but I'm using xfce 4.2 or e17 most of the time.

for the .xbindkeys, I fond it in this topic I think, but:

```
GNU nano 1.3.4             File: .xbindkeysrc

# makes "previous page" in browsers

"xvkbd -xsendevent -text "\[Alt_L]\[Left]""

m:0x10 + b:6

# makes "next page" in browsers

"xvkbd -xsendevent -text "\[Alt_L]\[Right]""

m:0x10 + b:7

# makes "page up"

xvkbd -xsendevent -text "\[Page_Up]""

m:0x10 + b:9

# makes "page down"

"xvkbd -xsendevent -text "\[Page_Down]""

m:0x10 + b:10

# supposed to refresh page in browsers

"xvkbd -xsendevent -text "\Cr""

m:0x10 + b:8 
```

----------

## Headrush

I'm looking for output of xmodmap --pp without allowing the entries in your files to run. (eg .Xmodmap. That is why I said to comment out)

If you're switching desktops, they don't all read the same files, so this may cause problems and you will need to make sure xmodmap entries are appropriate for each. I don't use XFCE so I can't be much help for specifics to it.

----------

## Dais

ok, new infos: xfce acts really strangely with my mouse ..

If I load another desktop (kde, gnome, etc), I have:

```
xmodmap -pp

There are 10 pointer buttons defined.

    Physical        Button

     Button          Code

        1              1

        2              2

        3              3

        4              4

        5              5

        6              6

        7              7

        8              8

        9              9

       10             10

```

button codes are OK, but I have to run the xmodmap -e "pointer = 1 2 3 6 7 4 5 8 9 10" command myself, because it seems that it doesn't work when I put it in .xinitrc or .Xmodmap

----------

## kiel.wells

I believe that would be because GNOME/KDE don't actually check either of those files when they load, if they load from GDM/KDM (I guess which I am assuming they are).

You have to put it in /etc/X11/Sessions for those two WM/DE's I believe, or someone will correct me if I'm wrong (please  :Smile: ).

----------

## Dais

So it would be because I use Entrance ? ok, I'll try with /etc/X11/Sessions and I'll tell you :p

EDIT: it works ! Thanks ^^

----------

## Headrush

 *kiel.wells wrote:*   

> I believe that would be because GNOME/KDE don't actually check either of those files when they load, if they load from GDM/KDM (I guess which I am assuming they are).
> 
> You have to put it in /etc/X11/Sessions for those two WM/DE's I believe, or someone will correct me if I'm wrong (please ).

 

Kde uses /usr/kde/3.4/share/config/kdm/Xsession. Changed 3.4 to your KDE version.

----------

## Headrush

When KDE starts it will source the file ~/.xprofile

If you add your changes there, they won't be erased if kdm is updated and each user can have different settings.

My ~/.xprofile

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

/usr/bin/xmodmap ~/.Xmodmap

/usr/bin/logitech_applet --disable-cc

/usr/bin/xbindkeys &
```

and ~/.Xmodmap contains

```
keycode 174 = XF86AudioLowerVolume

keycode 160 = XF86AudioMute

keycode 176 = XF86AudioRaiseVolume

keycode 162 = XF86AudioPlay

keycode 164 = XF86AudioStop

keycode 144 = XF86AudioPrev

keycode 162 = XF86AudioNext

keycode 178 = XF86HomePage

keycode 236 = XF86Mail

keycode 229 = XF86Search

keycode 195 = XF86MyComputer

keycode 196 = XF86Documents

keycode 187 = XF86New

keycode 188 = XF86Reply

keycode 189 = XF86Send

keycode 145 = XF86Messenger

keycode 146 = XF86WebCam

keycode 215 = XF86Pictures

keycode 216 = XF86Music

!keycode 237 = XF86Media
```

Last edited by Headrush on Thu Aug 11, 2005 11:03 am; edited 1 time in total

----------

## TheWitePony

the xmod command works fine for me when I'm already in kde, my problem is getting it to work when kde starts. I've added that line xmodmap -e "pointer = 1 2 3 6 7 4 5" to just about every place I can find and still nothing. Heres a list....

~/.xinitrc                           

~/.xprofile    

/usr/kde/3.4/share/config/kdm/Xsession 

/etc/X11/Session/Xsession

and yet it still DOESN'T FRAGGIN WORK!! ARG!

Yet once kde is up, all I have to do is run the once magic line

```

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

```

and my mouse has all the correct button fuctionality in firefox.

Please...anyone have any more ideas? This annoyance is slowly driving me INSANE.....

----------

## Headrush

 *TheWitePony wrote:*   

> the xmod command works fine for me when I'm already in kde, my problem is getting it to work when kde starts. I've added that line xmodmap -e "pointer = 1 2 3 6 7 4 5" to just about every place I can find and still nothing. Heres a list....
> 
> ~/.xinitrc                           
> 
> ~/.xprofile    
> ...

 

Post your /usr/kde/3.4/share/config/kdm/Xsession file so we can check that ~/.xprofile is being sourced.

Post your ~/.xprofile also.

----------

## TheWitePony

Xsession

```

#! /bin/sh

# Xsession - run as user

session=$1

exec /usr/bin/xmodmap -e "pointer = 1 2 3 6 7 4 5"

# Note that the respective logout scripts are not sourced.

case $SHELL in

  */bash)

    [ -z "$BASH" ] && exec $SHELL $0 "$@"

    set +o posix

    [ -f /etc/profile ] && . /etc/profile

    if [ -f $HOME/.bash_profile ]; then

      . $HOME/.bash_profile

    elif [ -f $HOME/.bash_login ]; then

      . $HOME/.bash_login

    elif [ -f $HOME/.profile ]; then

      . $HOME/.profile

    fi

    ;;

  */zsh)

    [ -z "$ZSH_NAME" ] && exec $SHELL $0 "$@"

    emulate -R zsh

    [ -d /etc/zsh ] && zdir=/etc/zsh || zdir=/etc

    zhome=${ZDOTDIR:-$HOME}

    # zshenv is always sourced automatically.

    [ -f $zdir/zprofile ] && . $zdir/zprofile

    [ -f $zhome/.zprofile ] && . $zhome/.zprofile

    [ -f $zdir/zlogin ] && . $zdir/zlogin

    [ -f $zhome/.zlogin ] && . $zhome/.zlogin

    ;;

  */csh|*/tcsh)

    # [t]cshrc is always sourced automatically.

    # Note that sourcing csh.login after .cshrc is non-standard.

    eval `$SHELL -c 'if (-f /etc/csh.login) source /etc/csh.login > /dev/null; if (-f ~/.login) source ~/.login > /dev/null; /bin/sh -c export'`

    ;;

  *) # Plain sh, ksh, and anything we don't know.

    [ -f /etc/profile ] && . /etc/profile

    [ -f $HOME/.profile ] && . $HOME/.profile

    ;;

esac

[ -f /etc/xprofile ] && . /etc/xprofile

[ -f $HOME/.xprofile ] && . $HOME/.xprofile

case $session in

  "")

    exec xmessage -center -buttons OK:0 -default OK "Sorry, $DESKTOP_SESSION is no valid session."

    ;;

  failsafe)

    exec xterm -geometry 80x24-0-0

    ;;

  custom)

    exec $HOME/.xsession

    ;;

  default)

    exec /usr/kde/3.4/bin/startkde

    ;;

  *)

    eval exec "$session"

    ;;

esac

exec xmessage -center -buttons OK:0 -default OK "Sorry, cannot execute $session. Check $DESKTOP_SESSION.desktop."

```

.xprofile

```

/usr/bin/xmodmap -e "pointer = 1 2 3 6 7 4 5"

```

bah I think I may see a problem, Xsession doesn't reference a .xprofile but it does reference a .profile. Perhaps renaming it will fix it? But I still have the xmodmap line in Xsession, so I wouldn't think it would make a difference. Either way I can't test it for a while, I need X to be up for the next few days  :Rolling Eyes: 

----------

## Headrush

This is wrong: *TheWitePony wrote:*   

> exec /usr/bin/xmodmap -e "pointer = 1 2 3 6 7 4 5"

 

You don't need the exec statement. It can simply be:

```
/usr/bin/xmodmap -e "pointer = 1 2 3 6 7 4 5"
```

I still would take it out of Xsession and put it in ~/.xprofile

 *TheWitePony wrote:*   

> bah I think I may see a problem, Xsession doesn't reference a .xprofile but it does reference a .profile. 

 

Yes it does, it is right here:

```
 [ -f /etc/xprofile ] && . /etc/xprofile 

 [ -f $HOME/.xprofile ] && . $HOME/.xprofile
```

----------

## TheWitePony

I took it out of Xsession and put it in .xprofile and it still doesn't work.....

----------

## firephoto

```

# ~/.Xmodmap

pointer = 1 2 3 6 7 4 5

```

```

# ~/.kde/Autostart/xmodmap.desktop

[Desktop Entry]

Comment=

Comment[en_US]=

Encoding=UTF-8

Exec=xmodmap /home/YOUR_USER_NAME_HERE/.Xmodmap ## EDIT THIS LINE

GenericName=

GenericName[en_US]=

Icon=exec

MimeType=

Name=

Name[en_US]=

Path=

StartupNotify=false

Terminal=false

TerminalOptions=

Type=Application

X-DCOP-ServiceType=none

X-KDE-SubstituteUID=false

X-KDE-Username=

```

That should do it. The second one is a normal kde "link to application" so once you create it you can right click on it and select the properties and edit it or just create it that way to begin with.

[/code]

----------

## TheWitePony

Oh thank you so much firephoto!! I did what you said and it works now!!!

Oh my, how could such a little thing get on my nerves so much....

----------

## Headrush

 *TheWitePony wrote:*   

> I took it out of Xsession and put it in .xprofile and it still doesn't work.....

 

Something is borked on your system, like $HOME not being set maybe.

This should work if you are starting from KDM.

As a test you could manually add a line to kdm with an absolute path to source that file and see what happens.

```
source /home/username/.xprofile
```

Change username to your user.

If it works I would say $HOME is not being set correctly. If it fails still, then I don't think the kdm script you posted is the one running.

I'm glad you got it by alternate methods, but I'm curious what the problem is.

----------

## Darknight

Simple dumb question of the day  :Smile: 

Why do you remap buttons 4, 5, 6 and 7?

I don't and everything seems to work, I don't see a reason.

----------

## kiel.wells

If you're using Xorg 7.x, which has the evdev support builtin now, then yeah, it works fine.

It didn't use to, however, hence this thread.  :Smile: 

----------

## Darknight

I'm using xorg 7.0, you are right, however I followed this thread to setup my mouse, I use the explorerps/2 protocol and I didn't have to swap the four buttons.

Maybe there's a better tutorial for xorg 7.0 users?

BTW: the "task list" button is still unrecognized

----------

## Angryguy

I just updated to xorg 7.0, and I had to do some weird things to get my mouse working again.  The original configuration stopped working, so I disabled the old xmodmap and followed the guide from http://gentoo-wiki.com/HOWTO_Advanced_Mouse to reconfigure my mouse for Xorg 7.0

My xorg.conf file for the mouse now contains:

 *Quote:*   

> Section "InputDevice"
> 
> # Identifier and driver
> 
>     Identifier  "Mouse1"
> ...

 

By default, this did not work properly for my mouse, so I had to use xmodmap again to redefine it.

The side buttons for some reason jumped to buttons 8 and 9.

To further my confusion, when I tried changing the xmodmap using /usr/bin/xmodmap -e "pointer = 1 2 3 4 5 6 7 8 9" I get a warning that only "9 of 32" buttons are being changed!  I've never heard of a 32-button mouse before . . . 

When I applied the xmodmap of "1 2 3 4 5 8 9 7 6" middle and right-click (buttons 2 and 3) got switched.

The working xmodmap currently is "1 3 2 4 5 8 9 6 7" defiing only  9 of 32 buttons but working perfectly . . . 

(For Reference, my original pre-7.0 xmodmap was  1 2 3 6 7 8 9 10 4 5)

It works, so I"m not complaining, but any ideas why I seem to be getting such strange results?  Did I maybe forget to disable an old configuration or is evdev simply just as strange as the old driver for me?

[And yes, the TaskList button doesn't work, and likely will never work in Linux unless Logitech makes an effort to support it]

----------

## Buddha001

 *Angryguy wrote:*   

> I just updated to xorg 7.0, and I had to do some weird things to get my mouse working again.  The original configuration stopped working, so I disabled the old xmodmap and followed the guide from http://gentoo-wiki.com/HOWTO_Advanced_Mouse to reconfigure my mouse for Xorg 7.0
> 
> My xorg.conf file for the mouse now contains:
> 
>  *Quote:*   Section "InputDevice"
> ...

 

Sweet! I was just about to give up (just migrated to modular X) and then I read your post. Working once again! Thanks so much...

----------

## Buddha001

 *Buddha001 wrote:*   

>  *Angryguy wrote:*   I just updated to xorg 7.0, and I had to do some weird things to get my mouse working again.  The original configuration stopped working, so I disabled the old xmodmap and followed the guide from http://gentoo-wiki.com/HOWTO_Advanced_Mouse to reconfigure my mouse for Xorg 7.0
> 
> My xorg.conf file for the mouse now contains:
> 
>  *Quote:*   Section "InputDevice"
> ...

 

Seems like with Xorg7.1 and xmodmap is not needed for the MX700...I just upgraded and the extra buttons were screwed up with the above definition but as soon as I put "1 2 3 4 5 6 7 8 9 10" everything seems to work properly...Hope this helps someone.

----------

