# Logitech MX1000 Howto (WIP)

## purplerhino

EDIT by purplerhino, 2006.NOV.21:  Yeah I'm a slacker, check out this thread instead:  https://forums.gentoo.org/viewtopic-t-502422.html

EDIT by pjp, 2006.AUG.26:  I picked up the MX1000, and used the instructions mentioned on page 4 by floam.  Nothing else in the thread up to that point worked for me.  --pjp

I would like to make a complete, Gentoo-oriented MX1000 HOWTO.  I *HAVE* read these threads 

https://forums.gentoo.org/viewtopic.php?t=98028&highlight=mx1000

https://forums.gentoo.org/viewtopic.php?t=218242&highlight=mx1000

and of course this link

http://www.linux-gamers.net/modules/wfsection/article.php?articleid=46

and they've gotten me so far, but not far enough... you spend $80 on a mouse, you want to be able to enjoy it   :Very Happy: 

Lifted from the linux-gamers link, we have:

xorg.conf:

```
Section "InputDevice"

        Identifier  "Mouse[0]"

        Driver      "mouse"

        Option      "Protocol" "evdev"

        Option        "Dev Name" "Logitech USB Receiver" # cat /proc/bus/input/devices

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

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

        Option      "Buttons" "12"

        Option        "ZAxisMapping" "11 12"

        Option      "Resolution" "800"

EndSection
```

and then

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

and after that I get all the buttons to respond in xev.  But now what, linux-gamers step 4 was a bit too lacking, and RTFM only confused me more.

So TODO:

Best way to assign keys to buttons.  xbindkeysrc?  What about IMWHEEL?  How do you even tell IMWHEEL, in the -b option, to grab button 10 and above?

Post the (.xbindkeysrc or .imwheelrc) mimicking Windows behaviour so new MX1000 user have a starting point, and something to go off if they want to modify that behaviour.  And find a link to wherever those key codes are, cause I couldn't find it but I assume it's somewhere.

Side scrolling!  Make it work!

So obviously this is a Work In Progress and will be updated as I figure things out, and all help is appreciated, and frankly, is desperately needed, so any help with the TODOs please speak up!Last edited by purplerhino on Tue Nov 21, 2006 6:57 pm; edited 2 times in total

----------

## mensan

have you tested your method with hotplugging yet?  will doing this let you hotplug the mx1000?

----------

## purplerhino

I have hotplug installed, but i've never plugged it in while running, I'll try it though and see what happens.

----------

## colinb

Has anyone else noticed some other wheel direction (one of the side-scrolling directions, I think) getting activated when you're just trying to press the wheel? Whatever it is, it seems to be acting as a left-mouse-click, which is annoying when I'm just trying to open a new tab in a browser with middle-click. (The tab is opened, but the link is also followed in the current tab since both clicks are registered.)

Is there something mechanically wrong with my mouse, or do I just need to detach any functionality from the button event that I don't want to be processed? (How would I do that?)

--Colin

----------

## purplerhino

I don't have that problem... I've heard plenty of weird problems about this mouse though.  Actually, my cursor kinda jumps every now and then, which is starting to bother me.  It only does it once in a great while though.  That's about my only complaint.

----------

## colinb

 *purplerhino wrote:*   

> I don't have that problem... I've heard plenty of weird problems about this mouse though.  Actually, my cursor kinda jumps every now and then, which is starting to bother me.  It only does it once in a great while though.  That's about my only complaint.

 

Well, in light of Best Buy's non-awesome policies, and the fact that I'm not convinced that there isn't something physically wrong with the wheel button on this MX1000 I bought there, I think I'm going to return it and go back to my MX700 for now.

--Colin

----------

## purplerhino

I think I might bring mine back to best buy too, but i'll get another one, but I got the jumpy cursor syndrome, which i've found other places to reportedly be just  bad reciever.  This wheel thing is crazy, I've never had that happen, sorry you're disappointed!

about hotplug, I came in and plugged the mouse in on my computer at work and it worked... That's Fedora Core 2 though.... guess I'll see when I go home tonight and plug it back in.

----------

## mensan

one of my friends had to return his for the jumpy problem, getting a new one took care of it though.

anyway, let me know about the hotplugging.

i have xorg 6.8.0-r1 and i can post my xorg.conf if necessary.  i am sure that it is a xorg problem because i can hotplug it outside of X (at prompt only) and the buttons register.

thx.

-men$an

----------

## purplerhino

I returned mine and got a new one, and this one works great.

Actually when I brought it home and plugged it in, it didn't work until I reset, but if I bring it in the computer at work (now running gentoo) it works fine...  the difference, I dunno, here I'm x86 and genkernel (so i'm assuming devfs) while at home it's ~x86 and udev, both gentoo-dev-sources.

----------

## purplerhino

using this xmodmap

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

side scrolling seems to be working in some places...  though in galeon here it goes back and forth in history..  i still haven't figured out how to use more than 9 buttons with imwheel, so i'm trying the xbindkeys, but I also can't figure out what the keycode is for Page UP and Page Down, that's what I'd like to assign to the up and down above and below the scroll wheel....

----------

## JjcampNR

Just for another POV, I have an MX1000 and the first one I had didn't sit flat, the pads on the bottom were off a bit and it wiggled side to side even on a flat surface.  I took it back, got another one and everything works perfectly.

I think they may be having some quality control issues, or they're letting some slip out that shouldn't so they can meet the demand before the holiday season is over.

--Josh

----------

## purplerhino

Yeah there must have been some quality problems in the beginning but the mouse I have now I'm 100% happy with, well, hardware wise anyway.... as far as making it work in linux, i'm so/so, but not anymore or less than any other mouse with more than 2 buttons...   :Confused: 

----------

## mensan

well, i got the hotplug working, but not the way i wanted.  i had to go to the ExplorerPS\2 protocol.  evdev didnt seem to want to work period.  FWIW.

----------

## purplerhino

ahh that makes sense, my xorg at work has ExlorerPS/2.  So that's worth noting   :Smile: 

----------

## purplerhino

here's the .xbindkeysrc i'm using.  i gave up on side scrolling, and i set the wheel side to side to switch tabs in galeon (and in all mozilla based browsers)  and I'm quite happy with it!

I haven't decided what to do with the app switch button yet...  Alt-tab doesn't really work cause if you keep pressing it you just go back and forth between the same two windows.

# back and forward

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

  m:0x10 + b:6

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

  m:0x10 + b:7

# the up and down by the wheel pages up and down

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

  m:0x10 + b:9

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

  m:0x10 + b:10

# Left and Right on the wheel switch tabs

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

  m:0x10 + b:11

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

  m:0x10 + b:12

----------

## Doogman

Great topic.  I don't have a MX1000, but this thread helped greatly in getting the buttons on my brand new Logitech 510MX working correctly.  Most people tell you to RTFM but all the big threads on mouse buttons are badly out-of-date.  Like you, I've been having great success using evdev.  I was somewhat stumped with how to assign tasks to the buttons, but with modifiying your .xbindkeysrc I was able to get everything working.  I think that IMWHEEL is obsolete now.

I'm wondering if you have found a good use for the "App switch" button on top of the mouse?  Like you said, it won't work in Linux like windows because it only sends one event when pressed.

----------

## purplerhino

I don't think I'd say IMWheel is obsolete, it was last updated August 2004, so it doesn't appear to be abandonded, that wasn't that long ago... But the more than 10 button issue is certainly an issue stopping it from being useful to me...  Plus the gui tool that comes with IMWheel makes no sense to me, what is that thing good for??  If the developer sticks with IMWheel though, I would say it should eventually be a better solution, because you  can make the mouse work different in different applications.

I set the app-switch button to close windows (control-w) but I'm not sure I like it.  I'd like it toggle maximize/restore I think, but whenever I set something in the Gnome keyboard shortcuts, and then try assinging that to a button, it doesn't work...  so that's something else I got look into   :Confused: 

----------

## eriq

I have an MX1000 question regarding the scroll wheel.  I just changed over to using the evdev protocol and when I am viewing a web page and use the scroll wheel to move the page down the mouse will highlight a word then go to the next hyperlink and open it up in a new window.  If I scroll down the page when the mouse is not over any link than scrolling is normal.  

Here are my devices:

```

 ~ $ cat /proc/bus/input/devices

I: Bus=0011 Vendor=0001 Product=0001 Version=ab41

N: Name="AT Translated Set 2 keyboard"

P: Phys=isa0060/serio0/input0

H: Handlers=kbd event0

B: EV=120013

B: KEY=4 2000000 3802078 f840d001 f2ffffdf ffefffff ffffffff fffffffe

B: MSC=10

B: LED=7

I: Bus=0003 Vendor=046d Product=c50e Version=2500

N: Name="Logitech USB Receiver"

P: Phys=usb-0000:00:1d.0-1/input0

H: Handlers=kbd mouse0 event1

B: EV=120007

B: KEY=ffff0000 10000 0 0 0 0 0 0 0

B: REL=103

B: LED=fc00

```

Here is what I have in my Xorg.conf file:

```

Section "InputDevice"

        Identifier  "Mouse0"

        Driver      "mouse"

        Option      "Protocol" "evdev"

        Option      "Dev Name" "Logitech USB Receiver" # cat /proc/bus/input/devices

        Option      "Dev Phys" "usb-0000:00:1d.0-1/input0" # cat /proc/bus/input/devices

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

        Option      "Buttons" "12"

        Option      "ZAxisMapping" "11 12"

        Option      "Resolution" "800"

EndSection

```

I have the following in my local.start:

```

 ~ # cat /etc/conf.d/local.start

# /etc/conf.d/local.start:

# $Header: /home/cvsroot/gentoo-src/rc-scripts/etc/conf.d/local.start,v 1.4 2002/11/18 19:39:22 azarah Exp $

# This is a good place to load any misc.

# programs on startup ( 1>&2 )

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

```

Everything looks good to me, what obvious setting have I overlooked?  One thing that annoys me is that logitech_applet says I'm not running the mouse at 800cpi:

```

~ # /usr/local/bin/logitech_applet -g

002/002     046D/C50E   M-RAG97         MX1000 Laser Mouse

   Channel 2    Battery: 7    Single channel   No 800cpi support   No Horiz Roller   No Vert Roller   2 butt.

 ~ # /usr/local/bin/logitech_applet -s800

002/002     046D/C50E   M-RAG97         MX1000 Laser Mouse

   Channel 2    Battery: 7    Single channel   No 800cpi support   No Horiz Roller   No Vert Roller   2 butt.

```

I don't want to revert back to using the IMPS/2 protocol and the normal ZAxisMapping "4 5".  Thanks for the suggestions.

To state the obvious, yes I have Event Device evdev enabled in my kernel-2.6.9-gentoo-r9.

----------

## purplerhino

I don't think that xmodmap command you're running in local.start is getting the job done, that's how it behaved when I had forgot to do that step.

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

Is there a reason you don't want to do that?  Maybe you need to put that xmodmap -e command in X startup script instead of in the system start up, I'm not really sure how to make that work, the above worked for me and I was satisfied with it.

----------

## eriq

Yes, you were right.  There was some garbage in my .Xmodmap.  My mouse is working now via evdev and Xmodmap.  I haven't tested the side scrolling yet, but the back thumb button works and so does the forward.  The only thing I notice so far is that when clicking the forward thumb button the page you want to go forward to will load but it will also bring up the mouse menu that you see when you right click.  The logitech_applet still says No 800cpi support:

```

/usr/local/bin/logitech_applet -g

002/002     046D/C50E   M-RAG97         MX1000 Laser Mouse

   Channel 2    Battery: 7    Single channel   No 800cpi support   No Horiz Roller   No Vert Roller   2 butt.

```

but other than that it seems great.  Thanks for the help.

----------

## Doogman

I think I finally found a use for button 10, the button on top of the mouse.  I would like it to do the "hide all windows and focus desktop" function of Gnome/Metacity.  The default keys for that are CTRL-ALT-D.  But it won't work!

This is from my .xbindkeysrc

# Hide all windows and focus desktop with top button

"xvkbd -xsendevent -text "\[Control_L]\[Alt_L]d""

m:0x10 + b:10

What am I missing?  Yes, I definately have button 10 support, but xvkbd will not send CTRL-ALT-D correctly.  Has anyone used xvkbd to put two modifiers on a key?

----------

## purplerhino

That's what I observed before...  Any of Gnome's shortcuts don't seem to work.  I haven't figured out why yet, I haven't put much time into it yet really, but it was kind of annoying.

----------

## Doogman

You are right, the problem lies with Gnome or more specifically Metacity.  It seems that the way Metacity grabs keyboard shortcuts doesn't work with the xvkbd hack.

What is needed is for Gnome to natively support extra mouse buttons.  Look at http://bugs.gnome.org bug #108775 and bug #155457 (list of key/mouse binding bugs/feature requests).  Maybe now it's easier to implement with Xorg and perhaps if more people show interest in this feature something will happen.

----------

## Thiamant

My English sucks a bit, but I'll do my best to explain my problem as clear as possible.

I tried to get all buttons working but i couldn't, X server only detected about 7 buttons or so. I was using PS/2 port but I thought that using USB may solve the problem. Then, I changed it into the USB port and after that I get this:

```

$ cat /proc/bus/input/devices

I: Bus=0011 Vendor=0001 Product=0001 Version=ab41

N: Name="AT Translated Set 2 keyboard"

P: Phys=isa0060/serio0/input0

H: Handlers=kbd event0

B: EV=120013

B: KEY=4 2000000 3802078 f840d001 f2ffffdf ffefffff ffffffff fffffffe

B: MSC=10

B: LED=7

I: Bus=0011 Vendor=0002 Product=0006 Version=000f

N: Name="ImExPS/2 Logitech Explorer Mouse"

P: Phys=isa0060/serio1/input0

H: Handlers=mouse0 event1

B: EV=7

B: KEY=1f0000 0 0 0 0 0 0 0 0

B: REL=103

```

As you can see, my mouse isn't detected in USB port, but in PS/2, so X server doesn't work. 

I think my kernel is compiled properly, I have HID support enabled.

----------

## Doogman

Just for the record, I use a MX510 in the PS/2 port and all the buttons work fine.  To activate all the mouse features you need to add this to the kernel line in your booter:

psmouse.rate=200 psmouse.resolution=800

You can disable "smartscroll" by adding this:

psmouse.smartscroll=0

This is all documented in the kernel-paramters.txt file of the kernel documentation.  Of course, none of the above has anything to do with mouse buttons, but I thought I would post it since I don't believe I've seen this mentioned in this forum.

----------

## Le0

 *Thiamant wrote:*   

> My English sucks a bit, but I'll do my best to explain my problem as clear as possible.
> 
> I tried to get all buttons working but i couldn't, X server only detected about 7 buttons or so. I was using PS/2 port but I thought that using USB may solve the problem. Then, I changed it into the USB port and after that I get this:
> 
> ```
> ...

 

Hey ya, im by far no expert, but i had a similar problem, and the way i fixed it was enable OHCI_HCD, so in my kernel OHCI_HCD, UHCI_HCD, and EHCI_HCD all included in my kernel (they are under Device Drivers --> USB support) i also took out support for my PS/2 ports so my kernel had to choose USB, but i dont know if that was nessisary .. 

Also, you might want to put in your boot-cd and check out what your mouse looks like in /proc/bus/input/devices and if its more to you likeing in there look at the modules that are loaded by the boot-cd's kernel by using the command lsmod, 

Also, for any one looking on how to enable evdev in your kernel (i know it took me a while to find it) it is in Device Drivers --> Input device support ---> Event interface ... and of course yours may be different, but thats what i have for the kernel 2.6.9 r9 .. so yea .. im still working on getting my wheel to work properly, but im sure ill have it by the end of the night, thanks everybody for this thread it helped alot!! .. 

Out for now ..

Le0

Btw, your english is fine  :Razz: 

----------

## ryceck

First of all thnx for this wonderful manual.

It helped me a lot but I have one problem with all this.

Whenever I put the info into my .Xmodmap (-e "pointer = 1 2 3 6 7 8 9 10 11 12 4 5\n") or in my .xinitrc (xmodmap -e "pointer = 1 2 3 6 7 8 9 10 11 12 4 5\n") It dont work...

When I manually run the `xmodmap -e "pointer = 1 2 3 6 7 8 9 10 11 12 4 5"`it works, but it doesnt run automatically.

Running is from my local.start isnt an option cuz I run my X as a user, not as root...

It looks like my system doesnt see the .xinitrc and the .Xmodmap. Can anyone clear this up?

----------

## Coalfire

I think my computer hates me.    I have my xorg configured right I believe.  But, X refuses to start and goes into its black screen of hate.  Anyway, here is my problem:

This is what my xorg section looks like:

```
#    Identifier  "MX1000"

#        Driver      "mouse"

#        Option      "Protocol" "evdev"

#        Option      "Dev Name" "Logitech USB Receiver" # cat /proc/bus/input/devices

#        Option      "Dev Phys" "usb-0000:00:1d.1-1/input0" # cat /proc/bus/input/devic$

#        Option      "Device" "/dev/input/mouse0" # (/dev/input/mice also appears to wo$

#        Option      "Buttons" "12"

#        Option      "ZAxisMapping" "11 12"

#        Option      "Resolution" "800"

```

I've tried /dev/input/mice as well, no go.

This is what I get when I do cat /proc/bus/input/devices 

```
I: Bus=0003 Vendor=046d Product=c50e Version=2500

N: Name="Logitech USB Receiver"

P: Phys=usb-0000:00:1d.1-1/input0

H: Handlers=mouse0 kbd 

B: EV=120007 

B: KEY=ffff0000 10000 0 0 0 0 0 0 0 

B: REL=103 

B: LED=fc00 

```

Everything looks fine, right?

Well, apparently it isn't because then X won't start and I get this error in my log file:

```
(II) XINPUT: Adding extended input device "Keyboard1" (type: KEYBOARD)

(II) XINPUT: Adding extended input device "evdev brain" (type: evdev brain)

(II) XINPUT: Adding extended input device "MX1000" (type: MOUSE)

(**) Option "Dev Name" "Logitech USB Receiver"

(**) Option "Dev Phys" "usb-0000:00:1d.1-1/input0"

(EE) MX1000: cannot open input device

No core pointer

Fatal server error:

failed to initialize core devices

```

I just don't know what is wrong, any ideas?  Oh, btw, how and where do I check if I have OHCI_HCD, UHCI_HCD, and EHCI_HCD support in my kernel?  Maybe that is my problem...

Thanks very much

::Edit::

Looks like I didn't even have the evdev module configured in my kernel.  Once that was done, I managed to use EvDev.   But, have another problem that I'll post as a reply.

----------

## Headrush

 *ryceck wrote:*   

> First of all thnx for this wonderful manual.
> 
> It helped me a lot but I have one problem with all this.
> 
> Whenever I put the info into my .Xmodmap (-e "pointer = 1 2 3 6 7 8 9 10 11 12 4 5\n") or in my .xinitrc (xmodmap -e "pointer = 1 2 3 6 7 8 9 10 11 12 4 5\n") It dont work...
> ...

 

Are you using kdm or gdm?

When you use kdm/gdm they use versions of several files that startx uses, but they are stored in different locations. 

When using kdm, make your changes in /usr/kde/3.3/share/config/kdm/Xsession, (eg xmodmap ... ) and they should work.

So for example, my /usr/kde/3.3/share/config/kdm/Xsession file starts with 

```
#! /bin/sh

# Xsession - run as user

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

imwheel -k -b "6 7"

...
```

----------

## Coalfire

Turns out, when I have evdev enabled for my mouse, I can generate all the right mouse events in xev, but my drag no longer works.  Ain't that a bummer?  

Has anyone encountered this and/or have a fix?

::EDIT::

When I use evdev, in xev when I click and drag, the movement events are generated, but the buttonPressed and buttonReleased events get generated after I release the button.  

When I use the old protocol, dragging works and xev reports a buttonPressed movement with the mouse and then the buttonReleased.

----------

## floam

This xmodmap line made the horizontal scrolling work in everything for me. I had to swap the horizontal scrolling buttons to be buttons 6 and 7.

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

And this .xbindkeysrc for Back/Foward and Page Up/Down (required xbindkeys and xvkbd to be installed)

```
# Back and Foward in browsers that use this key combo

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

m:0x10 + b:11

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

m:0x10 + b:12

# Page Up and Page Down

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

m:0x10 + b:10

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

m:0x10 + b:8
```

----------

## TheKarn

hi, i have followed all the how-to's, i beleive to ahve everything set up as its supposed to be, but yet i dont get any response from xev when i press either wheel-left or wheel-right.  neither return a response, however i do get information about keyboard.c from syslogd about keycode 240 not being recognised or something. 

has anyone else found this? or is it just me?

i'm running gentoo-dev-sources 2.6.10-r1 and xorg 6.8.2 RC1 i believe

i hope someone can help, currently the mouse only works entirely in windows :@

----------

## Legoguy

 *purplerhino wrote:*   

> here's the .xbindkeysrc i'm using.  i gave up on side scrolling, and i set the wheel side to side to switch tabs in galeon (and in all mozilla based browsers)  and I'm quite happy with it!
> 
> I haven't decided what to do with the app switch button yet...  Alt-tab doesn't really work cause if you keep pressing it you just go back and forth between the same two windows.
> 
> 

 

If you use something, like, say, Fluxbox - you can set up extra key sequences such as for example Alt-Shift-Tab to go through all of the windows, not just between two. Might be possible in gnome too, but I don't know for sure as I don't use it. So anyway, setting up that sequence in Fluxbox makes my MX1000 complete. Thanks for the howto and other pointers.

[edit] turns out that Alt+Shift+Tab / Alt+Tab won't work from xbindkeys - trying other key combos..

[edit2] Hmmph. Turns out I was wrong.. I could have sworn it was working..

[edit3]

Ok. Figured out a way around it. It seems that Fluxbox' "NextWindow" command that can be used in its keyboard shortcuts doesn't go through all of the windows unless you're still holding the first modifier key, such as alt -  BUT, PrevWindow always goes to the next one in the list (well, more like previous one) no matter if you're still holding a modifier or not. So I set up a shortcut for control+alt+l (randomly picked) for a second PrevWindow command (Alt+Shift+Tab is fluxbox' default but xvkbd can't seem to correctly do multiple modifiers, except for how noted below).

In order to do multiple modifiers one must use xvkbd -text "\C\Al", which is Control+Alt+L. If you read the manpage, it makes that fairly clear. So anyway once you specify any key sequence that doesn't use shift in it (again, if you read the manpage, you'll know why) to change to PrevWindow, the app switcher button works as a (theoretically reverse) app switcher, with this ~/.xbindkeysrc:

```
# Back and forward

"xvkbd -text "\A\[Left]""

m:0x10 + b:6

"xvkbd -text "\A\[Right]""

m:0x10 + b:7

# Tab Switching in applicable programs

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

m:0x10 + b:11

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

m:0x10 + b:12

# Page Up and Page Down (when cruise control isn't enabled)

"xvkbd -text "\[Page_Up]""

m:0x10 + b:9

"xvkbd -text "\[Page_Down]""

m:0x10 + b:10

# App Switcher

"xvkbd -text "\C\Al""

m:0x10 + b:8
```

If one reads the manpage for xvkbd, you would also see that the -xsendevent is not needed unless your x server doesn't have XTEST. All of the X servers in portage have XTEST, so there's no use in adding filesize by specifying that we should use an old piece of code  :Wink: 

Using the first xmodmap posted in this thread fyi.

Sorry I can't help any of the non-Fluxbox users.

----------

## max1m

How i can start xbindkeys automatically so that i wouldnt have to type "xbindkeys" into term everytime i start X (xorg, gnome). 

Please help   :Confused: 

----------

## Doogman

Good catch on using just the "-text" flag for xvkbd, because now I can use xvkbd to send keyboard shortcuts to Metacity in Gnome.  Before that, using the additional "-xsendevent" flag, it wouldn't work.  Now I can finally use that top button for something useful!

I wasn't very interested in using that button for ALT-TAB (cycle through active windows) because that's a easy key combo to type and I prefer having the extra mouse buttons perform mouse tasks (like the scroll buttons).  In any event, it wouldn't work right anyway because in Gnome you need to hold down ALT-TAB for the menu to work correctly and this button will only fire a button sequence once, unlike the wheel buttons.

I have been playing with using the top button to toggle the maximization state of windows.  In Gnome, if you go to the Desktop Preferences/Keyboard Shortcuts you can find a action "toggle maximization state of windows."  On my system, it wasn't set so I set it to <ALT>F12.  You can then use xbindkeys to send those keypresses so you can alternate between maximized and normal window sizes.  I like it.

Here's the .xbindkeysrc for my MX510.  Although the button numbers will be different, you MX1000 users should be able to easily convert it to your use:

```
# Thumb buttons: Tab left and tab right 

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

m:0x10 + b:6

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

m:0x10 + b:7

# Wheel buttons: Page up and Page down

"xvkbd -text "\[Page_Up]""

m:0x10 + b:9

"xvkbd -text "\[Page_Down]""

m:0x10 + b:8

# Toggle window maximization state with top button

"xvkbd -text "\[Alt_L]\[F12]""

m:0x10 + b:10

```

The mouse works very well in Gnome: the wheel buttons smooth scroll, etc.  I don't know how I lived without it!  :Smile: 

max1m:

Desktop Preferencs/Advanced/Sessions/Startup Programs

Add xbindkeys there.  It will startup automatically whenever you login.

----------

## Legoguy

Heh, cool. I didn't know that would make that much of a difference, you're welcome I guess  :Very Happy: 

----------

## XtAzY

OK i followed the linux site on how to setup the mouse. But when i made the change to the mouse, it cause a black screen after i start x (right after the nvidia splash) , but if i change the mouse to its original settings (from xorg's autoconfig) it goes fine?

----------

## bushk

i've read all the threads i've found related to this problem, still no luck.

here's the deal:

i own a mx1000, trying to get the extra buttons to work (will suffice if even just the scroll wheel works).

i've compiled the logitech bus support into my kernel

2.6 kernel

mouse is attached via USB.

i've tried every combo suggested of xorg.conf settings: protos ps/2 imps/2 Explorerps/2 auto, evdev.  5, 7, 12 buttons.  Zaxismapping45, 67, 1112, etc.

NONE of which show ANY event response on xev for anything but buttons 1-3.  some of which even crash not only X but the whole system (gatta restart, frozen).

current state of affairs:

```
Section "InputDevice"

#        Option      "Protocol" "evdev"

#        Option        "Dev Name" "Logitech USB Receiver" # cat /proc/bus/input/devices

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

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

#        Option      "Buttons" "12"

#        Option      "ZAxisMapping" "11 12"

#        Option      "Resolution" "800"

        Identifier  "Mouse0"

        Driver      "mouse"

        Option      "Protocol" "auto"

        Option      "Device" "/dev/mouse"

        Option      "Buttons" "5"

        Option      "ZAxisMapping" "4 5"

        #        Option      "Resolution" "800"

        #       Option      "CorePointer"

        #       Option "Emulate3Buttons" "true"

EndSection

```

```

bash-2.05b$ cat /proc/bus/input/devices 

I: Bus=0011 Vendor=0001 Product=0001 Version=ab41

N: Name="AT Translated Set 2 keyboard"

P: Phys=isa0060/serio0/input0

H: Handlers=kbd 

B: EV=120013 

B: KEY=4 2000000 3802078 f840d001 f2ffffdf ffefffff ffffffff fffffffe 

B: MSC=10 

B: LED=7 

I: Bus=0011 Vendor=0002 Product=0001 Version=0000

N: Name="PS/2 Generic Mouse"

P: Phys=isa0060/serio1/input0

H: Handlers=mouse0 

B: EV=7 

B: KEY=70000 0 0 0 0 0 0 0 0 

B: REL=3 

```

HELP! 

cheers!

----------

## purplerhino

you want to be using the evdev protocol.  

I'm not sure what this "logitech bus support is"  make sure you have Device Drivers -> Input Device Support -> Event Interface built into your kernel or modularized and loaded.  

at the linuxgamers site there's also a test to make sure your xorg can do evdev, but I imagine it can, but that's something you can check.

that cat /proc/bus/input/devices doesn't help much here because you have it plugged in the PS/2 port there apparently.  Plug it in the USB and do that again.  This line should work:

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

and it works great for me, if it doesn't you can try to put the actual numbers in there you get from the devices file.  See the linuxgamers link for help on that too.

----------

## Xamindar

Is there some great advantage to using this mouse on the usb port versus the ps/2 port?

By the way, I have it working for the most part from using suggestions in this thread.  Thanks guys.

I only have one small problem and that is the mouse will all of a sudden stop responding in xorg and simply switching to a console and back again makes it work again (this is on the usb port).  Maybe getting a newer kernel compiled will fix that?

----------

## bushk

 *purplerhino wrote:*   

> you want to be using the evdev protocol.  
> 
> 

 

everytime i choose evdev as my protocol my screen flashes on (and black) and off a couple times, that it locks up as on with a few random lines of color at the bottom and my system locks, hard reboot is only solution.

 *purplerhino wrote:*   

> 
> 
> I'm not sure what this "logitech bus support is"  make sure you have Device Drivers -> Input Device Support -> Event Interface built into your kernel or modularized and loaded.  
> 
> 

 

interesting...i did not have that built in, however i recompiled and booted into the new kernel, now.

 *Quote:*   

> 
> 
> at the linuxgamers site there's also a test to make sure your xorg can do evdev, but I imagine it can, but that's something you can check.
> 
> 

 

hmm, maybe this is my problem, i'll check it and report back.

 *Quote:*   

> 
> 
> that cat /proc/bus/input/devices doesn't help much here because you have it plugged in the PS/2 port there apparently.  Plug it in the USB and do that again.  This line should work:
> 
> 

 

interesting you say this...because it's DEFINATELY plugged into the usb port. :/

 *Quote:*   

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

 

?

----------

## bushk

according to that site, my xorg passes the test.

i tried moving the usb plug to a different adaptor...still the same ps2 phys addy when i cat /proc/bus/input/devices

any ideas?

thanks, cheers!

bushk

----------

## Xamindar

Ack I just compiled a new kernel and my mouse still fails randomly as I mentioned above.  System logs output the following when it stops working:

```
Feb  5 12:29:36 [kernel] drivers/usb/input/hid-core.c: input irq status -84 received

                - Last output repeated 4 times -

Feb  5 12:29:36 [kernel] usb 1-2: USB disconnect, address 6

Feb  5 12:29:36 [hal.hotplug] DEVPATH is not set

Feb  5 12:29:36 [hald] Timed out waiting for hotplug event 629. Rebasing to 631

Feb  5 12:29:36 [kernel] usb 1-2: new low speed USB device using uhci_hcd and address 7

Feb  5 12:29:37 [hal.hotplug] DEVPATH is not set

```

Can anyome shed some light on what might be causing this?  This happens while using the evdev protocol for my mx1000 mouse connected to the usb port.

----------

## purplerhino

 *bushk wrote:*   

> i tried moving the usb plug to a different adaptor...still the same ps2 phys addy when i cat /proc/bus/input/devices

 

then your problems must start there, because that output is not normal.  here's what mine looks like:

```
I: Bus=0003 Vendor=046d Product=c50e Version=2500

N: Name="Logitech USB Receiver"

P: Phys=usb-0000:00:02.1-2/input0

H: Handlers=mouse0 event0

B: EV=120007

B: KEY=ffff0000 0 0 0 0 0 0 0 0

B: REL=303

B: LED=fc00
```

so what I meant before with this line

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

is you can either put it in just like that, which I recommend, or in my case it could have been

```
Option        "Dev Phys" "usb-0000:00:02.1-2/input0" # cat /proc/bus/input/devices
```

but that certainly doesn't seem to be the issue right now.  something strange is going on with your USB setup in general.

----------

## bushk

 *purplerhino wrote:*   

> 
> 
> but that certainly doesn't seem to be the issue right now.  something strange is going on with your USB setup in general.

 

agreed.  also interest of note, whenever i use evdev as the protocol, my screen flickers on and off for a few secs then locks and i must hardreboot.  sketchy...

----------

## purplerhino

 *bushk wrote:*   

> also interest of note, whenever i use evdev as the protocol, my screen flickers on and off for a few secs then locks and i must hardreboot.  sketchy...

 

i had similar behavior whenever i had the "Dev Phys" numbers wrong, it locked up, so it's apparently pretty sensitive to that.  Since you can't figure out what your numbers are supposed to be, they can't possibly be right!  so yeah, forget that for now and focus on making sure it registers as a "Logitech USB Receiver" in your devices!

I'm not really sure what you're missing though.   Here's the USB section of my kernel:

[edit: link removed]

I have an Nforce2 mobo, so I need OHCI, you might need UHCI.

[edit: link removed]

There's my entire config, if that helps.  This is with Nitro sources, I've had no problems using it with Gentoo-dev sources either.

good luckLast edited by purplerhino on Mon Feb 07, 2005 3:15 pm; edited 2 times in total

----------

## bushk

 *purplerhino wrote:*   

>  *bushk wrote:*   also interest of note, whenever i use evdev as the protocol, my screen flickers on and off for a few secs then locks and i must hardreboot.  sketchy... 
> 
> i had similar behavior whenever i had the "Dev Phys" numbers wrong, it locked up, so it's apparently pretty sensitive to that.  Since you can't figure out what your numbers are supposed to be, they can't possibly be right!  so yeah, forget that for now and focus on making sure it registers as a "Logitech USB Receiver" in your devices!
> 
> I'm not really sure what you're missing though.   Here's the USB section of my kernel:
> ...

 

SOLVED:  you were RIGHT ON with the OHCI, i got nforce2 board as well.  compiled it in, reboot, set protocol to evdev, thing works perfect.  thnx alot.

----------

## elvisthedj

Thanks very much for this thread.  It saved me a lot of googling I'm sure.  Still not sure if the mouse is worth 80 bucks.  To be honest, I think my old logitech mouseman/wheel that i bought in 98 is more comfortable, but perhaps that's because my hand has molded to it over the past seven years  :Very Happy: 

___  Ok, so the only thing that took a sec to figure out was where to execute xmodmap and xbindkeys.  Tried .xinitrc but it didn't work for me, local.start seemed a silly place to do it, so I ended up with:

```
       # cat .kde/Autostart/mousestuff

#!/bin/bash

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

xbindkeys

```

(kde flamers hold your tongues :p)

20x more accurate?? optical is obsolete??  hmm.. i dunno about that.  I considered buying a razorback which boasts 1600dpi and some nerdy holster.. Hmm.. 1600 dpi.. I run 1280x1024 So I guess I could use a postage stamp for a mousepad.

Ok, bye all!  Hapy laser mousing.

----------

## ptitoine

hello,

I've read this tuto, and i've problem with my mouse it was the Laser Midnight Version

http://images.ldlc.com/photosldlc/00/00/41/29/LD0000412907_1.jpg

I've the wheel left, wheel right and the middle left side button how do not generate any events in xev  :Confused: 

any idea ?

thanks

----------

## ptitoine

i've switch to xorg 6.8.2 and kernel 2.6.11 rc4-nitro-1 and now i've got all events working  :Wink: 

----------

## packetloss

ptitoine,

Congrats on getting everything working.

Please provide your xvkbd settings.  Thanks!

----------

## donjuan

Has anybody gotten all their buttons working with KDE?  They were all working with Gnome then decided to check out KDE 3.4 and suddenly the only buttons that worked were the three main ones, left-click, right-click, and middle-click, not even the scroll wheel.  I decided to browse a bit and didn't find anything helpful, and I screwed around with my xorg.conf and xmodmap a bit and that didn't help, except I did get forward and back bound to the buttons above and below my scroll wheel at one point.  It didn't help me much since I didn't really know what was going on in the first place.

Here's my mouse section of my xorg.conf that worked with Gnome (I'm using an MX700) 

```
Section "InputDevice"

        Identifier  "Mouse0"

        Driver      "mouse"

        Option      "Protocol" "evdev"

        Option          "Dev Name" "Logitech USB Receiver"

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

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

        Option      "Buttons" "10"

        Option          "ZAxisMapping" "9 10"

        Option      "Resolution" "800"

EndSection
```

Edit: OK, kinda quick, but after I posted this I got an idea reading that it was the display manager that screwed up the mapping.  The idea was to use gdm to log me into KDE.  So I kinda cheated.  Now all my buttons are in working order again  :Smile: .  I would like to know how other people got all the buttons working in KDE though.

----------

## elvisthedj

 *Quote:*   

> I would like to know how other people got all the buttons working in KDE though.

 

(xorg.conf... note the 12 buttons  :Wink: )  *edit, OOPs..  I just noticed that you weren't using an MX1000.  Sorry.. (got thrown off by the subject of the thread  :Razz:  )

```

Section "InputDevice"

        Identifier  "Mouse1"

        Driver      "mouse"

        Option      "Protocol" "evdev"

        Option        "Dev Name" "Logitech USB Receiver"

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

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

        Option      "Buttons" "12"

        Option        "ZAxisMapping" "11 12"

        Option      "Resolution" "800"

EndSection

```

That got all mine working.  And believe it or not, I actually use them all  :Very Happy: 

(My firefox friendly ~/.xbindkeysrc)

```

"xvkbd -xsendevent -text "\[Control_L]\[w]""

  m:0x10 + b:2

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

  m:0x10 + b:11

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

  m:0x10 + b:12

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

  m:0x10 + b:6

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

  m:0x10 + b:7

"xvkbd -xsendevent -text "\[Control_L]\[t]""

  m:0x10 + b:8

```

I still kinda wish I got a razer  :Confused: 

----------

## 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?

----------

## mope

I think, but I haven't used KDE in a while, that you add it to /etc/X11/Sessions/kde*

----------

## foxx1337

nice thread, thanx for the solution.

i put the pointer = ....... setting in .xinitrc though; didn't work anywhere else (kde and xorg)

also i have some hardware questions:

how long does your battery usually last (mine does 4-5 days and i think there's a problem with it)?

i've seen in various places about the laser turning off after lifting the device (if i lift mine i can observe the red laser there, and if i wat for a few [~10] seconds i notice it starting to blink)

some people speak this mouse lags after being lifted from the surface (mine doesn't, but i think it has to do with the previous, also like the battery issue)

----------

## Takker

Hi.

I got almost all Logitech MX1000 Buttons working. Two things missing:

- The two Buttons below and above the mouse wheel are interpreted as Mousewheel-Up and Mousewheel-Down (xev grabs the same button number). As this is the original function of these buttons I don't care.

- The third thumb-button doesn't work. imwheel supports only two thumb buttons  :Sad: 

So this is what I did:

Make sure you have compiled "Event interface" into your kernel (Device Drivers -> Input device Support).

Modify your /etc/X11/xorg.conf ... this is the mouse-section:

```
Section "InputDevice"

         Identifier      "Mouse0"

         Driver          "mouse"

         Option          "Protocol"      "evdev"

         Option          "Dev Name"      "Logitech USB Receiver" #cat /proc/bus/input/devices

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

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

         Option          "Buttons"       "12"

         Option          "ZAxisMapping"  "9 10 11 12"

         Option          "Resolution"   "800"

         Option          "CorePointer"

EndSection
```

For a nice explanation (especially the "Dev Phys" line) read

http://www.linux-gamers.net/modules/wfsection/article.php?articleid=46

```
emerge imwheel
```

Either modify /etc/X11/imwheel/imwheelrc or create ~/.imwheelrc (I created ~/.imwheel and deletet the /etc one so default options are executed e.g. when pressing the horizontal scroll buttons). You can do lot's of stuff here, read "man imwheel". My examples (which will care about the horizontal scrolling in firefox and add "Back" and "Forward" to the thumb keys for every window):

```
".*firefox.*"

,       Left,           Left

,       Right,          Right

".*"

,       Thumb1,         Alt_L|Left

,       Thumb2,         Alt_L|Right
```

You have to run this commands everytime you log in. That's why I create a file in ~/kde/Autostart/, added the following commands and made it executeable:

```
nano -w ~/.kde/Autostart/startup
```

Enter

```
#!/bin/bash

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

imwheel -k
```

Now run imwheel debug mode:

```
imwheel -k -D
```

Check if everything works: Start Firefox and press a thumb key ... some output like this should appear

```
Testing: ".*" ?= "TakKaHz! News - Mozilla Firefox"

RegEx Match found:".*" = "TakKaHz! News - Mozilla Firefox"

Matched with : id=".*" button=9 pri=0
```

----------

## cancech

Hi, 

  I've been trying to get the extra mouse buttons on my MX1000 working this morning, but I've been running into a problem. As far as I can tell I did everything right, but it doesn't work. After I edit the lines in xorg.conf then the xserver won't run, complaing that the mouse isn't started. Is there anything which needs to be installed for this to work (ie: imwheel)? Here's what I did:

Checking for evdev:

```

tux root # strings /usr/X11R6/bin/X | grep evdev

evdevStart

evdevNewDriver

evdevGetFDForDriver

%s: cannot register with evdev brain

%s: cannot start evdev brain

evdev

evdev

%s: cannot register with evdev brain

%s: cannot start evdev brain

/tmp/.X11-unix/evdev%d

evdev brain

```

Mouse info

```

tux root # cat /proc/bus/input/devices

I: Bus=0011 Vendor=0001 Product=0001 Version=ab41

N: Name="AT Translated Set 2 keyboard"

P: Phys=isa0060/serio0/input0

H: Handlers=kbd

B: EV=120013

B: KEY=4 2000000 3802078 f840d001 f2ffffdf ffefffff ffffffff fffffffe

B: MSC=10

B: LED=7

I: Bus=0010 Vendor=001f Product=0001 Version=0100

N: Name="PC Speaker"

P: Phys=isa0061/input0

H: Handlers=kbd

B: EV=40001

B: SND=6

I: Bus=0003 Vendor=046d Product=c01d Version=2100

N: Name="Logitech USB-PS/2 Optical Mouse"

P: Phys=usb-0000:00:10.1-1/input0

H: Handlers=mouse0

B: EV=f

B: KEY=ff0000 0 0 0 0 0 0 0 0

B: REL=103

B: ABS=300 0

```

From /etc/X11/xorg.conf

```

Section "InputDevice"

# Identifier and driver

    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"      "12"

    Option  "ZAxisMapping" "11 12"

    Option "CorePointer"

EndSection

```

Xmodmap:

```

bash-2.05b$ cat ~/.Xmodmap

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

```

Is there anything which I missed? I've looked it over a few times, but I can't find any mistakes. Reverting back to my original xorg.conf brings my mouse back to life, but no extra buttons. Any suggestions?

----------

## Genfoo'

Try:

 *Quote:*   

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

 

----------

## cancech

 *Genfoo' wrote:*   

> Try:
> 
>  *Quote:*   Option "Device"       "/dev/input/event0" 

 

Nope, still tells me that it can't "open" my mouse. In case it helps here's the contents of my /dev/input folder:

```

bash-2.05b$ ls /dev/input

mice  mouse0

bash-2.05b$

```

----------

## Genfoo'

Then Try:

 *Quote:*   

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

 

----------

## Takker

Anyone knows, how I can fix those ones? (The second is the important one)

 *Takker wrote:*   

> 
> 
> - The two Buttons below and above the mouse wheel are interpreted as Mousewheel-Up and Mousewheel-Down (xev grabs the same button number). As this is the original function of these buttons I don't care.
> 
> - The third thumb-button doesn't work. imwheel supports only two thumb buttons 
> ...

 

----------

## cancech

 *Genfoo' wrote:*   

> Then Try:
> 
>  *Quote:*   Option "Device" "/dev/input/mouse0" 

 

Nope, that didn't do the trick.I still get the error: "Mouse1: cannot open input device"

I checked the log and it get's as far as 'Option "Dev Phys" "usb-*/input0" ' , then the error get thrown.   :Crying or Very sad: 

----------

## Takker

 *Quote:*   

> Nope, that didn't do the trick.I still get the error: "Mouse1: cannot open input device" 

 

That's because you define your mouse as 

```
Identifier  "Mouse1" 
```

Scroll up, you'll find a section like

```
Section "ServerLayout"

        Identifier     "Takkahz xorg.conf"

        Screen      0  "Screen0" 0 0

        InputDevice    "Mouse0" "CorePointer"  ### <---- This line is important

        InputDevice    "Keyboard0" "CoreKeyboard"

EndSection
```

Your identifier must match those you typed in at ServerLayout

----------

## cancech

```

Section "ServerLayout"

    Identifier  "Simple Layout"

    Screen "Screen 1"

    InputDevice "Mouse1" "CorePointer"

    InputDevice "Keyboard1" "CoreKeyboard"

EndSection

```

I don't think that that's the problem, because the mouse is named "Mouse1" and that's the input device that I'm trying to use

```

Section "InputDevice"

# Identifier and driver

    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"      "12"

    Option  "ZAxisMapping" "11 12"

    Option "CorePointer"

EndSection 

```

Unless of course the name itself matters....

----------

## donjuan

cancech, for the MX1000 the Dev Name must look like so:

```
    Option   "Dev Name"   "Logitech USB Receiver"
```

check 

```
cat /proc/bus/input/devices
```

and you will see that is the device name.

----------

## cancech

It would seem that I have managed to narrow down my problem a little bit

1) Stupidity on my part.....I *thought* that I had a MX1000.....counting the buttons and checking the model number on the mouse convinced me otherwise. I actually have a MX510 ..... :Embarassed:   :Embarassed:   :Embarassed:   :Embarassed:   :Embarassed:   :Embarassed:   :Embarassed: 

2) After fiddling around with the various options, it would seem that:

```

Option "Protocol"     "evdev" 

```

is screwing things up. The with the other options enabled I've actually managed to get some input from the extra buttons (the thumb ones) but all the other ones are messed. ie: the thumb buttons behave as scroll up/down, while the scroll wheel does a thing of its own and the "cruise control" up works, but down doens't do anything. Do I need to enable something for evdev to work? (in the kernel,...etc). I've tried modprobing, but that doens't do anything.

----------

## donjuan

Yes there is a little bit of a difference between the MX1000 and MX510  :Laughing: .

Based on your first post in this thread it looks like you have evdev working, but you can check your kernel anyway if you want.  The option is Device Drivers --> Input Device Support --> Event Interface.  

The mouse section of your xorg.conf should look like so: 

```
Section "InputDevice"

        Identifier  "Mouse1"

        Driver      "mouse"

        Option      "Protocol" "evdev"

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

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

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

        Option      "Buttons" "10"

        Option        "ZAxisMapping" "9 10"

        Option      "Resolution" "800"

EndSection
```

And your ~/.Xmodmap:

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

Depending on your window manager, you may or may not have to do more work to get all your buttons working correctly.  With gdm everything "just works" but with kdm you have to do a bit more work.  You have to modify /etc/X11/imwheel/imwheelrc or create ~/.imwheelrc.  I still haven't done this and still have gdm log me into kde, so I can't help you with this.

----------

## cancech

Heh....I didn't have Device Drivers --> Input Device Support --> Event Interface enabled in my kernel, enabled it and my problem is (kinda) fixed. With this: 

```

Section "InputDevice"

        Identifier  "Mouse1"

        Driver      "mouse"

        Option      "Protocol" "evdev"

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

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

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

        Option      "Buttons" "10"

        Option        "ZAxisMapping" "9 10"

        Option      "Resolution" "800"

EndSection

```

the buttons are messed (like I had before....). The thumb buttons behave like the scroll, scrolling behaves like clicking as does cruise control up. Cruise control down doesn't do anything, and the "alt-tab" button behave like click. Changing the ZAxisMapping back from "9 10" to "4 5" gets rid of the odditiest  as well as input from the other (ie: thumb) buttons (though the alt-tab button behaves the alt-left_arrow and cruise up behaves as both alt-right as well as it's normal functionality...hmmm). I assume that this is what the problem with using kdm is. Anyone find a way around this issue? 

 *donjuan wrote:*   

> 
> 
> You have to modify /etc/X11/imwheel/imwheelrc or create ~/.imwheelrc
> 
> 

 

I thought that you didn't need to have imwheel installed....

----------

## Takker

Nobody has still no idea??

 *Takker wrote:*   

> Anyone knows, how I can fix those ones? (The second is the important one)
> 
>  *Takker wrote:*   
> 
> - The two Buttons below and above the mouse wheel are interpreted as Mousewheel-Up and Mousewheel-Down (xev grabs the same button number). As this is the original function of these buttons I don't care.
> ...

 

----------

## Genfoo'

Use Xmodmap to remap the buttons to what you would like.

----------

## Takker

 *Genfoo' wrote:*   

> Use Xmodmap to remap the buttons to what you would like.

 

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

How can I tell KDE or whatever to do an explicit action when pressing on my 3rd thumb button? imwheel doesn't work because it only supports 2 thumb buttons.

----------

## Genfoo'

You can use xbindkeys to bind keyboard key-combos to mouse buttons.

Here is how I got mine to work.

http://myweb.cableone.net/charger/mx1000.html

----------

## Archangel1

Has anyone else had any trouble with their mx1000 skipping? Mine has a habit of suddenly jumping to the left or top of the screen at fairly random intervals.

Logitech's solution is "Upgrade to the latest version of Setpoint" which obviously isn't much use  :Rolling Eyes: 

I can fix it by plugging it into the PS/2 port; movement is fine then. Unfortunately the side scrolling dies because none of the PS/2 protocols (I'm using ExplorerPS/2 atm) support more than 10 buttons. evdev just fails with a message about not being able to initialise the evdev brain - I'm guessing it just doesn't do PS/2?

Anyway, does anyone know a solution for the original issue, or a way to make it work fully with PS/2?

----------

## Archangel1

Well you can ignore my last post - I seem to have fixed it.

I had a play with a lot of options and wound up playing with the HID polling interval. I haven't thought about it recently, but my current kernel is a 2.6.12-rcsomething so it has the patch, but you set it as a module parameter rather than in menuconfig. Hence I forgot about it completely and it was set to 0 - which presumably means some sort of default.

Anyway, reducing it to 2 (for the good old 500Hz, completely breaking specs) seems to have fixed most of the issue. There's still a small jump very occasionally but it's not flicking to the side of the screen any more.

I guess it somehow wasn't synchronising with the poll rate or something along those lines. Seems odd, but I don't really care so long as it now works  :Smile: 

----------

## kyPixel

Great HOWTO guys, Used the xorg.cof in the first post and got it working perfectly, all I had to change was the protocall to auto instead of evdev.

----------

## floam

I put together some information on getting the MX1000 working with the new Xorg 6.8.99 snapshots, along with some other stuff.

Comments?

----------

## Archangel1

 *floam wrote:*   

> I put together some information on getting the MX1000 working with the new Xorg 6.8.99 snapshots, along with some other stuff.
> 
> Comments?

 

Yeah, I tried Xorg 6.8.99 and evdev just plain wouldn't work. You mentioned some dirty hacks Gentoo had applied in that regard - what's the story? Is it liable to work if I just "emerge xorg-x11" (having unmasked)?

----------

## floam

Xorg won't magically work if you just emerge the new one and use your old xorg.conf. The gentoo hacks used the old mouse driver with an evdev protocol. The new xorg has an independant evdev driver. You'll need to read my guide and look at how the xorg.conf is set up now (it's simpler).

----------

## Genfoo'

I tried compiling evtest.c and got this:

```
toy root # gcc evtest.c -o evtest

evtest.c:260: error: `MSC_RAW' undeclared here (not in a function)

evtest.c:260: error: nonconstant array index in initializer

evtest.c:260: error: (near initialization for `misc')

evtest.c:261: error: `MSC_SCAN' undeclared here (not in a function)

evtest.c:261: error: nonconstant array index in initializer

evtest.c:261: error: (near initialization for `misc')

```

This is with kernel 2.6.11-gentoo-r9 and xorg 6.8.2-r1.  How do I make this work?

My mouse works fine the way it is, I just want to play with this.

----------

## floam

Strange. What version of GCC are you using?

----------

## Genfoo'

 *floam wrote:*   

> Strange. What version of GCC are you using?

 

```
gcc version 3.4.3-20050110 (Gentoo Linux 3.4.3.20050110-r1, ssp-3.4.3.20050110-0, pie-8.7.7)
```

----------

## floam

Weird, I've got no idea. Did you download it directly, no copy and paste that could mess the syntax up? 2.6 kernel and headers?

----------

## Genfoo'

Yes.

I clicked the link and Epiphany asked me what to do with it.  I selected 'Save As' then opened a term window and typed 'gcc evtest.c -o evtest' and got those errors.

Kernel headers are 2.6.8.1-r2.

Thanks anyway, dude.

----------

## cancech

I bought a MX1000 yesterday, and I edited the various files which I had used previously for my MX510. All of the buttons work except for the "change window button" (3rd thumb button) and the scroll wheel tilt right/left. Here's what I've got:

~/.Xmodmap

```

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

```

/etc/X11/xorg.conf - the important part

```

# Identifier and driver

    Identifier  "Mouse1"

    Driver      "mouse"

    Option "Protocol"     "evdev"

    Option   "Dev Name"   "Logitech USB Receiver"

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

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

    Option "Buttons"      "12"

    Option  "ZAxisMapping" "11 12"

    Option "CorePointer"

EndSection

```

.xbindkeysrc

```

# back and forward

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

m:0x10 + b:6

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

m:0x10 + b:7

# the change window button

"xvkbd -xsendevent -text "\[Control_L]w"

m:0x10 + b:8

# the up and down by the wheel pages up and down

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

m:0x10 + b:9

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

m:0x10 + b:10

# Left and Right on the wheel switch tabs

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

m:0x10 + b:11

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

m:0x10 + b:12

```

The 3rd thumb button (num. eight) is being recognized as a normal click as is scroll wheel left/right.

Another problem I'm having is with the cruise control buttons. xev recognizes them as if they were two buttons....

cruise down = button 5 + 10, cruise up = button 4 + 9

Thanks, any help would be greately appretiated.

----------

## Genfoo'

For the problem with the cruise control buttons, go to Floam's website and follow the instructions to install 'lmctl' then issue the command 'lmctl --no-sms'.

----------

## cancech

 *Genfoo' wrote:*   

> For the problem with the cruise control buttons, go to Floam's website and follow the instructions to install 'lmctl' then issue the command 'lmctl --no-sms'.

 

Thanks alot!! lmctl was in portage, emerged ran 'lmctl --no-sms' and the problem with cruise control is gone!! 

but..... instead of being pag up/down it's just click. So as of the moment the buttons 8 - 12 behave as a normal click.

Any ideas?

[EDIT] How do you go about having the command 'lmctl --no-sms' be issued on boot automatically? Or does lmtctl remember from one boot to the next the options I set?

----------

## mks99

 *Genfoo' wrote:*   

> I tried compiling evtest.c and got this:
> 
> ```
> toy root # gcc evtest.c -o evtest
> 
> ...

 

Tell gcc to use the header files from the kernel sources. On my machine

```
gcc -I/usr/src/linux/include evtest.c -o evtest
```

worked.

----------

## Genfoo'

Woot!  That worked.  Thanks.

----------

## cancech

*bump*

Anyone know what my problem could be? Rereading this thread I think I've got everything setup properly, but 5 pf my buttons don't work  :Crying or Very sad: 

----------

## Genfoo'

The only thing I can tell you is to look at what I did to get it working and compare it to your setup.

With Xmodmap set to defaults, I tried the mouse in a few applications (particularly Epiphany) to see what buttons already had actions assigned to them then I used Xmodmap to map the actions to the proper buttons.  When I did that two of the buttons lost their actions so I had to use xbindkeys to create actions for them and two more buttons.

Hopefully future versions of Xorg and applications will recognized all tilt actions and page-up/down (aka Cruise Control) actions by default so xbindkeys won't be necessary.

----------

## Mankale

thanx for all the hints in this thread, got my MX1000 working as I want it.

----------

## gehidore

 *Archangel1 wrote:*   

> Has anyone else had any trouble with their mx1000 skipping? Mine has a habit of suddenly jumping to the left or top of the screen at fairly random intervals.
> 
> Logitech's solution is "Upgrade to the latest version of Setpoint" which obviously isn't much use 
> 
> I can fix it by plugging it into the PS/2 port; movement is fine then. Unfortunately the side scrolling dies because none of the PS/2 protocols (I'm using ExplorerPS/2 atm) support more than 10 buttons. evdev just fails with a message about not being able to initialise the evdev brain - I'm guessing it just doesn't do PS/2?
> ...

 

Change your Xorg.conf ... took me a while but this works for me.

Section "InputDevice"

        Identifier      "MX1K"

        Driver          "mouse"

        Option          "Protocol"      "evdev"

        Option          "Dev Name"      "PS2++ Logitech MX Mouse"

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

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

        Option          "Buttons"       "12"

        Option          "ZAxisMapping"  "4 5"

        Option          "CorePointer"

EndSection

----------

## astaroth_pod

Hm, hopefully this is the right thread to put this in.

I have a MX1000 mouse, but the DiNovo version with Bluetooth.

I have it connected no problem via my laptop's internal bluetooth system, and it comes up as /dev/input/mouse2 and /dev/input/event4.

However, a cat /proc/bus/input/devices give me this:

```
I: Bus=0010 Vendor=001f Product=0001 Version=0100

N: Name="PC Speaker"

P: Phys=isa0061/input0

H: Handlers=kbd event0

B: EV=40001

B: SND=6

I: Bus=0011 Vendor=0001 Product=0001 Version=ab41

N: Name="AT Translated Set 2 keyboard"

P: Phys=isa0060/serio0/input0

H: Handlers=kbd event1

B: EV=120013

B: KEY=4 2000000 3802078 f950d001 f2ffffdf ffefffff ffffffff ffffffff

B: MSC=10

B: LED=7

I: Bus=0011 Vendor=0002 Product=0007 Version=0000

N: Name="SynPS/2 Synaptics TouchPad"

P: Phys=isa0060/serio4/input0

H: Handlers=mouse0 event2

B: EV=b

B: KEY=6420 0 70000 0 0 0 0 0 0 0 0

B: ABS=11000003

I: Bus=0011 Vendor=0002 Product=000a Version=0000

N: Name="TPPS/2 IBM TrackPoint"

P: Phys=synaptics-pt/serio0/input0

H: Handlers=mouse1 event3

B: EV=7

B: KEY=70000 0 0 0 0 0 0 0 0

B: REL=3

I: Bus=0005 Vendor=046d Product=b003 Version=4310

N: Name=""

P: Phys=

H: Handlers=mouse2 event4

B: EV=7

B: KEY=1f0000 0 0 0 0 0 0 0 0

B: REL=103

```

Where the last entry is my MX1000 mouse.

How can I get this working via evdev? Can I specify just "/dev/input/event4"?

*EDIT* Nevermind, I found the error completely elsewhere. Have a look here if you think you can help...

----------

## born

Hi,

I used foams HOWTO and I got the MX1000 to work. The three "normal" mouse buttons work, vertical and horizontal scrolling also works. Cruise control works, there are inserted the two keycodes in between the cruise control keycodes, but that isn't annoying for me, so I don't use the fix.

My problem is that the mouse buttons on the left side (8, 9, 10; I think they are called side buttons) are mapped to a normal mouseclick. When I try to use xbindkeys, the keys seem to have the correct function, but everything takes very very long. I have to wait about 5-10 seconds for a response. If I click the bind keys multiple, I can freeze my X server (100% cpu time) and get ugly stuff on my screen, because the input is going to other applications. It looks really crazy (or funny?)  :Wink: 

Again: Without xbindkeys everything works fine, except the side buttons. With xbindkeys the side buttons work, too; but the response time is sucking the whole cpu time and takes really long.

I used floams HOWTO, this is my configuration:

/etc/udev/rules.d/10-local.rules

```

KERNEL=="event*", SYSFS{manufacturer}=="Logitech", SYSFS{product}=="USB Receiver", NAME=="input/mx1000", MODE=="0644"

```

/etc/modules.d/usb

```

options usbhid mousepoll=1

```

/etx/X11/xorg.conf

```

Section "ServerLayout"

    Identifier     "X.org Configured"

    Screen      0  "Screen0" 0 0

    InputDevice    "Logitech MX1000" "CorePointer"

    InputDevice    "Keyboard0" "CoreKeyboard"

EndSection

...

Section "InputDevice"

    Identifier  "Logitech MX1000"

    Driver      "evdev"

    Option      "Device" "/dev/input/mx1000"

EndSection

```

My ~/.xbindkeysrc looks like this:

```

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

m:0x10 + b:8

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

m:0x10 + b:9

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

m:0x10 + b:6

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

m:0x10 + b:7

"xvkbd -text "\[Alt_L]\[F5]""

m:0x10 + b:10

```

I really don't know why it is so slow...

EDIT: I use the modular xorg-x11 builds.

----------

## dpetka2001

guys do you have only the MX1000 in your posession or the desktop set MX3100?? because i'm having the MX3100 and can't figure out hot to make it properly work...any suggestions would be welcome...

----------

## born

I talked only about the Logitech MX1000 mouse. I tried to unset options usbhid mousepoll=1, but it doesn't seem to give any results.

I tried to work with xmodmap, but I get a very strange error:

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

```
xmodmap:  commandline:1:  bad number of buttons, must have 32 instead of 12

xmodmap:  1 error encountered, aborting.

```

I didn't know so far that I have a mouse with 32 buttons  :Wink:  Enough kidding, why does xmodmap say that I have to provide 32 buttons?

----------

## rampage7

 *born wrote:*   

> 
> 
> My problem is that the mouse buttons on the left side (8, 9, 10; I think they are called side buttons) are mapped to a normal mouseclick. When I try to use xbindkeys, the keys seem to have the correct function, but everything takes very very long. I have to wait about 5-10 seconds for a response. If I click the bind keys multiple, I can freeze my X server (100% cpu time) and get ugly stuff on my screen, because the input is going to other applications. It looks really crazy (or funny?) 
> 
> 

 

I've exacly the same problem.

But I've discovered something:

```

karol@localhost ~ $ xbindkeys -n -v

displayName = :0.0

rc file = /home/karol/.xbindkeysrc

4 keys in /home/karol/.xbindkeysrc

min_keycode=8     max_keycode=255 (ie: know keycodes)

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

    m:0x0 + b:8   (mouse)

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

    m:0x0 + b:9   (mouse)

"xvkbd -text "\[Page_Up]""

    m:0x0 + b:11   (mouse)

"xvkbd -text "\[Page_Down]""

    m:0x0 + b:12   (mouse)

starting loop...

Button press !

e.xbutton.button=9

e.xbutton.state=0

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

    m:0x0 + b:9   (mouse)

got screen 0 for window 136

Start program with fork+exec call

Button release !

e.xbutton.button=9

e.xbutton.state=0

Warning: Missing charsets in String to FontSet conversion

^[[1;3CCatch CHLD signal -> pid 17550 terminated

```

And now xvkbd started by hand:

```

karol@localhost ~ $ xvkbd -text "\[Alt_L]\[Left]"

Warning: Missing charsets in String to FontSet conversion

```

Any ideas?

----------

## KRA

 *born wrote:*   

> I talked only about the Logitech MX1000 mouse. I tried to unset options usbhid mousepoll=1, but it doesn't seem to give any results.
> 
> I tried to work with xmodmap, but I get a very strange error:
> 
> xmodmap -e "pointer = 1 2 3 6 7 8 9 10 11 12 4 5"
> ...

 

I've got the same problem !! any solution yet ??

I'm using xorg7 and gnome, and the mouse works, although the scrollwhell left/right doubles av back/forward in browser, as well as left and right, not very practical. And all the thumb buttons works as a normal button1 click :S

----------

## azp

 *born wrote:*   

> I tried to work with xmodmap, but I get a very strange error:
> 
> xmodmap -e "pointer = 1 2 3 6 7 8 9 10 11 12 4 5"
> 
> ```
> ...

 

I have the same problem too, but I'm using a MX510. There seems to be some problems in evdev together with Xorg7.0. I haven't found a good answer on the forum though.. Keep looking and report back if you find a solution?

I'm back to three buttons (+scroll) since I switched to xorg7, would be great to have it working when Americas Army 2.6 comes out for Linux. =)

----------

## KRA

Try adding numbers all the way up to 32.

It worked for me, however I have another problem. Running XGL it says I only have 7 buttons rather than 12, and appchanger button and forward button doesn't give a respons in xev.

----------

## johoe

KRA, I've the same problem with XGL - did you find any solution yet?

 johoe

----------

## KRA

Never found a solution, I'm on Ubuntu dapper drake now, and have the exact same problem. I've tried a few different settings, but nothing seems to work. There are some wierd stuff though, like removing the Option "corepointer", makes the app changer button work (as button 1), but then the scroll wheel sideways doesn't work anymore.

Using driver "mouse" and protocol "evdev" (the previous way to do things) doesn't work either, X will fail.

I have no idea but my theory is that Xgl is using an older version of the evdev driver!?

----------

## johoe

Even tried "driver mouse, protocol ExplorerPS/2" - same results. 

Few hours ago I though I got it: xev responded to all mouse  buttons and I could bind them in .xbindkeysrc and they worked! But after a restart everything was gone. Later xev gave other results for the buttons - same procedure... And now - my thumb buttons are simply ignored.

Something is messed with the XGL input system - will wait for another cvs....

thanks for your reply,

   johoe

----------

## enkil

I had some trouble making the mouse work with modular-x, so here's what I've done so far:

IMHO Mousebutton 2 is extremely weird on this mouse. What I understand as button 2 is instead "tilt wheel left", so I remapped the buttons (throwing away button 2).

With xorg-6.8, I had to turn off smart scroll in order to get "my" button 2 working without triggering "wheel down" at the same time. With the new evdev-driver however, I have to enable it, otherwise the tilt-wheel doesn't produce any key-events. Anyone knows why? I'm now only using 9 of the 12 buttons (which is okay). Here's my layout (I name the buttons as floam labelled them on his guide)

Far side button: I used xbindkeys to map it to ctrl+pageup (next tab in firefox)

Near side button: ctrl+pagedown (prev. tab)

Middle side button: xmms -f

tilt wheel left: button 2

tilt wheel right: ctrl+w (close tab)

With the old xorg, I used the "buttons above/below" the scroll-wheel, too (page up/down), but I don't need them anymore..

Here's my .Xmodmap:

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

Am I the only one who thinks the out-of-the-box-layout of button 2 is unusable?

----------

## cancech

I was happily using all 12 buttons on my MX1000 till a little while ago.... Following what was mentioned here I managed to get it to work, but no evdev doesn't seem to be working....

```

Section "InputDevice"

# Identifier and driver

    Identifier  "Mouse1"

    Driver  "mouse"

    #Option "Protocol"    "evdev"

    Option "Dev Name" "Logitech USB Receiver"

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

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

    Option "Buttons"      "12"

    Option "ZAxisMapping" "11 12"

    Option "CorePointer" 

```

With the protocol line commented out, I can use the mouse (and most of the buttons). If I leave the evdev line available, then my mouse won't respond. X will start and everything seems nice and dandy, but I can't move my mouse. 

I've had this problem before, where if I unplug my mouse (regardless of if the computer is on or off), that the mx1000 isn't recognized on boot. A couple of reboots would fix the issue. I'm guessing that my current problem is just an extension of this, where a reboot doesn't fix the problem....

Any ideas as to how I could fix this?

Kinda related to this, is the problem that the MX1000 is the only mouse that I can use with my computer. Is there a way I can add in a second mouse entry into xorg.conf, so that I would be able to use more mice?

----------

## cancech

Ok, well.... I fixed my problem.

Just to put a bit more light on the issue, I've got a wireless keyboard (LX700) combo, and there's interferance with the two base stations.... I'm going to have to look into hooking it all up via one base station, to make sure that I don't have these problems in the future.

Any advice on a second mouse entry would still be appretiated.

----------

## WladyX

HI! I have a strange problem, sometimes the kernel boots and shows in dmesg: 

```

input: ImExPS/2 Logitech MX Mouse as /class/input/input2

```

 and other times (usually) shows: 

```

input: PS2++ Logitech MX Mouse as /class/input/input2.

```

 In the first case some of the buttons don't work. I have a gentoo-sources-2.6.16 kernel, but with 2.6.15 was the same. Any ideeas? Thanks.

----------

## enkil

Regarding the 32 button-problem:

You just have to specify all 32 buttons atm. AFAIK it's a problem with evdev, it assumes 32 buttons (I read that this might get changed someday). My .Xmodmap looks like this:

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

Please note that I'm using the "tilt wheel" left (or right, don't remember) as the middle mouse-button.

----------

## richiefrich

 *Quote:*   

> Code:
> 
> Section "InputDevice"
> 
> # Identifier and driver
> ...

 

This doen't work for me  I needed to change the 

```
Driver  "mouse"    to   Driver "evdev"

Option "Device"      "/dev/input/mice"  to      Option "Device"      "/dev/input/event2"
```

To get Modular X to load here.. So that might help if anyones haveing problems

What string dows everyone use on the xmodmap ?

i tried these --> 

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

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

but i cant seem to combine them and get Copy/Paste & Back/Forward  to work together.. one or the other 

 + Forward & Back to work

----------

## MorpheuS.Ibis

did any1 get the middle side button workin'? I'm using it quite a bit (in win) and i would like to have the same mouse settings for both OS (side buttons are enough) can anyone help? btw. space is [Space or [KP_Space]<

----------

## enkil

 *MorpheuS.Ibis wrote:*   

> did any1 get the middle side button workin'?

 

These are a bit tricky - at least with the evdev-driver included in modular-x. I can only use these buttons (wheel left, wheel right) when I enable smart-scroll/cruise-control via lmctl (lmctl --sms). But if I remember correctly, another button doesn't work then (the buttons above and below the wheel)

----------

## JoKo

Is there any way to work using the simple "mouse" driver in X.org v7.0 for my MX1000? GNOME still has problems with evdev... I don't care if the additional buttons don't work for the time being.

----------

## Tanj

MX5000 Keyboard Mouse combo from logitech ( bluetooth )

after much ado, I finaly got evdev to not crash X

now I am getting this happening

```

(==) Using config file: "/etc/X11/xorg.conf"

(==) ServerLayout "Simple Layout"

(**) |-->Screen "Screen 1" (0)

(**) |   |-->Monitor "KDS XF-70"

(**) |   |-->Device "TI4600"

(**) |-->Input Device "Mouse1"

(**) |-->Input Device "MX1000"

(**) |-->Input Device "Keyboard1"

(WW) Duplicate core pointer devices.  Removing core pointer attribute from "MX1000"

.....snip

(**) Mouse1: Core Pointer

(**) Option "Device" "/dev/input/mouse1"

(**) Option "Buttons" "5"

(==) Mouse1: Emulate3Buttons, Emulate3Timeout: 50

(**) Option "ZAxisMapping" "4 5"

(**) Mouse1: ZAxisMapping: buttons 4 and 5

(**) Mouse1: Buttons: 9

(**) Mouse1: SmartScroll: 1

(**) Option "CorePointer" "False"

(**) MX1000: Device: "/dev/input/event4"

(II) MX1000: Found x and y relative axes

(II) MX1000: Found mouse buttons

(II) MX1000: Found keys

(II) MX1000: Configuring as mouse                  #big WTF here

(II) MX1000: Configuring as keyboard

```

```

Section "InputDevice"

# Identifier and driver

    Identifier  "MX1000"

    #Driver     "mouse"

    Driver      "evdev"

    #Option "Protocol" "IMPS/2"

    #Option "Protocol" "evdev"

    Option "Dev Name" "Logitech Logitech BT Mini-Receiver"

    #Option "Dev Name" "Logitech BT MINI-RECEIVER"

    Option "Dev Phys" "usb-0000:00:02.0-2.3/input0"

    Option "Device"      "/dev/input/event4"

    Option "Buttons" "12"

    Option "ZAxisMapping" "11 12"

    Option "Resolution" "800"

 Section "InputDevice"

    Identifier  "Mouse1"

    Driver      "mouse"

    Option      "Protocol"      "IMPS/2"

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

    Option      "Buttons" "5"

    Option      "ZAxisMapping" "4 5"

 EndSection

    InputDevice "Mouse1" "CorePointer"

    #InputDevice "MX5000" "CoreKeyboard"

    InputDevice "MX1000" "CorePointer"

    InputDevice "Keyboard1" "CoreKeyboard"

```

----------

## Tanj

ok I fixed my problem....only one corepointer allowed  :Sad: 

oh well

----------

## Tanj

mapping isn't happening right.

mouse wheel works, forward/backward works. But the buttons with the wheel act the same as the wheel and generate the same event in xev

----------

## Tanj

Has anyone else found evdev doesn't not perform well when the system is under heavy load? aka playing games. I found that just starting up UT and UT2k4 cause my mouse to be unusable with lag. I tried doing the mousepolling thing but it didn't help at all.

----------

## xante

Here is what I have as a working 12 button mouse with the following xorg/evdev/mouse

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

[ebuild   R   ] x11-drivers/xf86-input-evdev-1.0.0.5  

[ebuild   R   ] x11-drivers/xf86-input-mouse-1.0.4  

```

```
xorg.conf:

Section "InputDevice"

        Identifier  "Mouse0"

        Driver      "evdev"

        Option      "Protocol" "evdev"

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

        Option      "Buttons" "12"

        Option      "ZAxisMapping" "4 5"

EndSection

```

```

xante@localhost ~ $ xmodmap -pp

There are 32 pointer buttons defined.

    Physical        Button

     Button          Code

        1              1

        2              3

        3              2

        4              4

        5              5

        6              6

        7              7

        8              8

        9              9

       10             10

       11             11

       12             12

       13             13

       14             14

       15             15

       16             16

       17             17

       18             18

       19             19

       20             20

       21             21

       22             22

       23             23

       24             24

       25             25

       26             26

       27             27

       28             28

       29             29

       30             30

       31             31

       32             96

localhost xante # 

```

```
xante@localhost ~ $ cat .xbindkeysrc 

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

  m:0x10 + b:6

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

  m:0x10 + b:7

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

  m:0x10 + b:8

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

  m:0x10 + b:9

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

  m:0x10 + b:11

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

  m:0x10 + b:12

"aterm -bg black -fg white -trsb -sh 100 -fade 40 -pr grey +vb +sb -sl 10000 -g 100x20"

  m:0x10 + b:10

"firefox"

  m:0x14 + c:37 + b:10

```

----------

## anhlon

just a quick question regarding the mx1000 buttons.

currently i have it detect all the buttons in xev, what is odd is that when i press the cruise scroll button it shows 2 key bindings to it 5 & 12 for both the keypress & key release events same for the other button it gives 4 & 11, but 4 & 5 is already occupied by the wheel.  is that normal? if not where i did i mess up?

```

Section "InputDevice"

   Identifier "MX1000"

   Driver "evdev"

   Option "Protocol" "evdev"

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

   Option "Dev Name" "Logitech USB Receiver"

   Option "Dev Phys" "usb*/input0"

   Option "Resolution" "800"

   Option "Buttons" "12"

   Option "ZAxisMapping" "11 12"

   Option "CorePointer"

EndSection

```

current have nothing setup for xmodmap, but if i set it up with

pointer = 1 2 3 6 7 8 9 10 11 12 4 5 it still does it and my right click becomes the wheel button (if you press down, not scroll) :S

any tips?

thanks in advance.[/code]

----------

## Iced-Tux

I've found this nice howto for setting up your mouse 

https://wiki.ubuntu.com/MX1000Mouse

Probably one can enhance it one way or the other  :Wink: 

Hope you find it useful.

iced-tux

----------

## pjp

Added this to the first post, as there seems to be a lot of, at least, outdated information prior to this set of instructions.

 *First post in this thread wrote:*   

> EDIT by pjp, 2006.AUG.26:  I picked up the MX1000, and used the instructions mentioned on page 4 by floam.  Nothing else in the thread up to that point worked for me.  --pjp

 

----------

## GenKreton

Whenever I run xmodmap I get the error:

Warning: Only changing the first 32 of 11 buttons.

It says first 12 of 11 when I try to use the other xmodmap pointer's posted.

I don't know what I did wrong really. Since I tried following the guides here I switched from IMPS/2 to evdev and followed it to the T and now scrolling with the wheel doesn't even work  :Sad: 

If anyone could post a COMPLETELY working configuration, that would be best. 

Right now I have 

```
Section "Input Device"

        Identifier  "Mouse1"

        Driver      "evdev"

        Option      "Protocol" "evdev"

        Option      "Device" "/dev/input/mx1000"

        Option      "ZAxisMapping" "11 12"

        Option      "Resolution"   "800"

        Option      "Buttons"      "12"

```

I have tried every xmodmap pasted here with 12 and 32 buttons. I have also tried every zxismapping combo listed and without it.

Another edit:

(EE) PreInit returned NULL for "Mouse1"

is an error in my xorg logs.

----------

## Doogman

When I switched to the new modular X I had a ton of problems getting my mouse buttons to work correctly as almost all the docs are badly out of date.

I guess it's time for a new and updated topic specifically about getting Logitech mice to work correctly with the new software.  :Smile: 

----------

## GenKreton

I agree, this thread is horrendous to navigate. Hell, the little logitech applet is now on its third name, locomo or something.

I fixed the xorg error by finding a thread about using Dev Name since udev rules don't work now. Still, scrolling and the extra buttons don't work right at all. The keyboard is doing funny things this way too. I never changed anything keyboard related.

----------

## KevinLarson

I've been trying to follow many of the various guides and fixes, but x won't run when I set my driver to evdev in my xorg.conf.  I have event0,3,4,5 all in my /dev/input and I think this means evdev is working, but I am failing to startx x when evdev is set to the driver.

Any suggestions are greatly appreciated, as I have wanted to get these buttons working for some time now.

----------

## Doogman

I believe the latest Xorg doesn't accept the Option "device" line anymore, so you are going down the wrong path.

Try following the info in this post:

https://forums.gentoo.org/viewtopic-p-3608720.html#3608720

----------

## Seron

rampage7 and born had some problem with slow response and a warning message. Try to start xbindkeys like this

```
LC_ALL=C xbindkeys
```

----------

## Berniyh

 *Seron wrote:*   

> rampage7 and born had some problem with slow response and a warning message. Try to start xbindkeys like this
> 
> ```
> LC_ALL=C xbindkeys
> ```
> ...

 

Thanks, that solved it.

----------

## szym

 *purplerhino wrote:*   

> I think I might bring mine back to best buy too, but i'll get another one, but I got the jumpy cursor syndrome, which i've found other places to reportedly be just  bad reciever.  This wheel thing is crazy, I've never had that happen, sorry you're disappointed!
> 
> about hotplug, I came in and plugged the mouse in on my computer at work and it worked... That's Fedora Core 2 though.... guess I'll see when I go home tonight and plug it back in.

 

I had the same cursor jumping problem, i discoverd the reason for that was my cell phone with bluetooth switched on laying nearby. I've switched off the damn thing and no problems so far.

Had anyone manage to get 800cpi support?

----------

