# 10 Button Mice

## vanjab

I'm trying to find a way to get my mx700 mouse's buttons to work in linux. At the moment i have my first 5 buttons plus wheel (buttons 6 and 7 working) just fine under kernel 2.6 (using xmodmap), but i cant find a way to get the other 3 to work (the little arrows near wheel and the top most button).

I have read up on this and found a patch that treats the arrow buttons as standard buttons, and the top most button works just fine, how ever my problem is that the ExplorerPS/2 protocol only supports 7 buttons on a mouse... i need 10.

The tutorial i was following said i had to patch the kernel, install 'evdev' (some kind of mouse driver :S) and patch xfree.

I have tried to patch the kernel with the supplied patch, but the file names are different and it fails (it was called a 2.6.64 kernel patch, seems rather bogus.) I have also tried searching for 'evdev', i think it may be related to patching xfree. I'm too new to gentoo to patch xfree through ebuilds though :/

looking through these forums i have seen that a lot of people have these mice, but dont seem to bother with trying to get the other 3 buttons to work, which is a little strange :/

Does anyone have any information about this? I will post up the link to the tutorial i followed when i get home, greatly appreciated  :Smile: 

----------

## CheshireCat

What kernel version are you using?  If you're using a 2.6 kernel, you shouldn't need to patch it at all.  I'm using the xfree86 evdev patches with my mx700, and I have a modified ebuild for xfree86-4.3.99.902.  If you need one for an earlier version, you'll need to give me a bit to get it fixed up.  I also have a local copy of a logitech ps/2 patch for xfree86, which does not require event device support, but I have not tested it at all.

Oh, yeah, and if you want to use the autoscroll buttons as buttons, you'll also need my patched copy of logitech_applet to turn autoscroll off.  I find autoscroll useful enough to leave it on, rolling the wheel up and down long docs is a pain.  I think the logitech ps/2 patch adds options in X to disable autoscroll, so you should only need logitech_applet if you are using the evdev stuff.

----------

## vanjab

really? I'd really appreciate these patches.

Im running kernel 2.6 and mainly want these buttons for games.

could you email me the patch and ebuild pls?

poopie_monstar@hotmail.com

ty  :Smile: 

----------

## CheshireCat

I've tarred up what should be all of the necessary files for xfree-4.3.0-r3 and xfree-4.3.99.902, you can get them at http://user.pa.net/~dbblm/xfree.tbz2.  Just unpack it in your portage overlay directory, and portage should do all the hard work.  Note that this includes the evdev patches only, not the logitech ps/2 ones.

----------

## vanjab

but evdev supports 10 buttons right? i only need logitech ps/2 patches if i dont use xfree? :confused: Either way im going to recompile xfree now, ty  :Smile: 

----------

## CheshireCat

The evdev patches in xfree86 are sufficient, as long as you're running a kernel w/ the new input layer stuff, like 2.6.  You should be fine, you'll just need to adjust your XF86Config file appropriately.  Set the "protocol" option for the mouse to "evdev", and you also need to specify either a "Dev Name" or "Dev Phys" option.  You can get the correct values for these from /proc/bus/input/devices.  If you might unplug the receiver and put it in a different port, you should use the name.  Phys specifies the location of the device on the bus, so it won't work if you move the device to another port, but you would need to use it if you have several identical devices.  You can use asterisks for for globbing.  For example, I have the MX duo, so I have to use both, the keyboard and mouse both have the name "Logitech USB Receiver", the keyboard has phys "*/input0" and the mouse is "*/input1".

Good luck getting yours to work, let me know if you run into trouble.

----------

## vanjab

I also have an MX Duo  :Smile:   :Smile: 

I ran into trouble :S

I unzipped untarred that package (bunzip2 <package>, cd /usr/portage, tar -xvf <package>)

and then built xfree (emerge xfree)

it all went well, until it finished, and i left X and edited my config.. only to find that putting "evdev" as my protocol caused an error and had X spit back an error about it. What might be the problem is i didnt do the Dev Phys thing, so ill try that now (i also didnt reboot :S)

Did my patching get messed up, or is this a config problem now?

(also, i use Option "Buttons" "10" in my config now, and xmodmap explicitly asks for the 10th button, so thats a good thing.. unfortunatly they dont get sent as messages yet :/ (xev))

----------

## CheshireCat

As long as the xfree86 you installed is 4.3.0-r3 or 4.3.99.902, you should have the patches.  If you didn't specify Dev Phys or Dev Name, (or both for Duo), that is the most likely cause of your problem.  I wouldn't recommend using the evdev keyboard support just yet, something is a bit goofy there in either the kernel or the XFree86, but you'll still probably need to specify that the mouse is input1.

By the way, do you know about portage's overlay feature?  Set PORTDIR_OVERLAY to something in your make.conf (it's probably already in there, set to /usr/local/portage and commented out), and stuff in ${PORTDIR_OVERLAY} will override stuff in the regular portage tree.  It's a big help if you're using ebuilds from another source, or developing your own ebuilds, because you don't have to fix them again after emerge sync.

----------

## vanjab

Can the mx700 support 800dpi opperation? I Found that applet and it was market as 'N' (as were all other wireless mice)

My mouse is in PS/2 port btw. I found out i didnt have evdev as part of kernel, im compiling as module now  :Smile: 

----------

## CheshireCat

It should still work with the PS/2 port, but you might need to move it to USB to get all the buttons to work.  I don't know if the kernel can translate all of those buttons to events yet when it's talking PS/2.  I also have no clue why the "documentation" with the MX Duo seems to suggest that the USB plugs are only for Macs, and that you should use the PS/2 plugs for PCs.

Regarding the 800dpi operation, I know that the packaging for mine advertised the mouse as 800dpi, but the 800/400 switch feature definitely does not work.  It may be 800 only, I'm not really sure how I'd measure the resolution.  Also, you probably need the patch I have for logitech_applet, the Duo receiver is identified differently than the plain mx700.  I can't find a web site for logitech_applet now, although I did find an email about changing the name to logitech-usb-util, so there may be a new revision out which knows about the Duo.

----------

## vanjab

'logitech_applet' in google turns up a debian mailing list wiht a link to download the file version 0.3

I recompiled my kernel with event support, and I'll change my mouse to USB as soon as i can. At the moment when i run logitech_applet, nothing happens. It just quits out :/

Ill search for the home page of the tool now.

How can i tell that evdev support is properly compiled into XFree? I'm leaning to the fact that i did something wrong there :S Its either that or a PS/2 problem, so ill change the mouse to usb.

----------

## CheshireCat

Try this:

```
chshrcat 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
```

If it didn't build right, maybe try setting up the new ebuilds in PORTDIR_OVERLAY, and using the full path to one of them instead of just "emerge xfree".

----------

## vanjab

something went wrong in build, it wasnt built in :/

im trying teh portage overlay method right now...

----------

## vanjab

update: it fails to compile now :/

i extracted the tarball in /usr/local/portage (the overlay dir) then i had to ebuild xfree.ebuild digest,..

now when i try emerge xfree it says "/<overlayportagepath>/site.def, no such file or directory"

any ideas?

----------

## CheshireCat

That is odd...  which version are you trying to build?  It's bedtime for me now, but I may be able to try building it again later and see if I can figure out what the problem is.

----------

## vanjab

4.3.0-Rx.. is that newest? (thats what emerge xfree defaults to)

----------

## vanjab

*bump*

am i doing something wrong with the emerge?

----------

## CheshireCat

Sorry it took me a while, I'm in US/Eastern and work long overnight shifts 3 days a week, so I have odd hours.

I think I've found the problem, there are patches referenced by the original ebuild that I neglected to include in my tarball.  I've uploaded a new tarball which has everything I have in my /usr/local/portage/x11-base/xfree, just download it again and unpack to your overlay dir.  You should definitely use the full path to the ebuild file, to make sure that portage doesn't select a different version that's not in my tarball.

Did you have any luck locating a newer logitech_applet?  If not, go ahead and apply my patch to make it work.  All it does is add the MX Duo receiver to the table of supported devices, with the appropriate flags to specify which features are supported.

----------

## vanjab

Nope i didnt find any more logi apps, tried to fiddle with it abit (different users, different permissions etc..) but i still couldnt get it to load. Ill be on my gentoo box soon and installing those patches, as well as trying out USB for mouse. wish me luck  :Wink: 

----------

## vanjab

ps is 4.3.99 the newest xfree? or is 4.3.0-Rx newer? emerge xfree defaults to 4.3.0 so i thought it was newest :/

----------

## CheshireCat

logitech_applet will only work with USB, but isn't really needed unless you want SmartScroll off (maybe to use all 10 buttons for gaming?).

4.3.99.X is 4.4 pre-release, and is newer than 4.3.0.  I've been running 4.3.99.902 for a while now without trouble.

----------

## vanjab

my mouse cant run in usb, it only has a ps/2 port  :Sad:   :Sad: 

the keyboard is usb but has an adapter for ps/2

i have xfree working now and evdev recognised, except i cant get the xserver started, i know/think its my config file.

When i start with out a dev phys/name it says it cant latch onto evdev brain or something, and when i set them it says cant initialise core pointer  :Sad: 

----------

## CheshireCat

You have the Cordless MX Duo, just like mine, right?  I'm pretty sure that you can just plug in the one USB plug from the receiver for both the mouse and the keyboard.  They appear on my system as one USB device with two interfaces, and everything should "just work" with one USB connection, although I do recall being a bit perplexed by this arrangement when I got it.

Here's what I have in my XF86Config for the mouse:

```
Section "InputDevice"

        Identifier  "Mouse0"

        Driver      "mouse"

        Option "Protocol" "evdev"

        Option      "ZAxisMapping" "7 8"

        Option "Emulate3Buttons" "0"

        Option      "Buttons" "8"

        Option "Dev Name" "Logitech USB Receiver"

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

EndSection
```

You'll want to tweak it a little if you intend to use the two SmartScroll buttons as regular buttons instead of using them for the SmartScroll function.  You should just need to change Buttons to "10" and ZAxisMapping to "9 10".  AFAICT ZAxisMapping must always use the last two buttons.  Since most applications expect buttons 4/5 for scrolling, you'll need to run xmodmap if you want scrolling to work.  I have the following in my Xsetup:

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

Good luck!

----------

## vanjab

Does that mean i have to change my Keyboard config as well?

----------

## CheshireCat

No, you can use the old keyboard driver if you wish, and I would recommend doing so, because of the problems I've had with the multimedia keys.  Most of mine become useless when I switch the keyboard to evdev, and xev doesn't even show keypress events for them, so it's not just a mapping issue.

----------

## vanjab

well using a loose definition of "it works"... i can say "it works"

My mouse works, my keyboard works (had to enable the usb support in BIOS)... and now i can use a fully functional 3 button mouse.

:/

the scroll wheel/side and top buttons dont work, and i still cant get logitech_applet to do anything (it just quits out straight away with no error message :/)

```
Section "InputDevice"

     Identifier "Mouse1"

     Driver "mouse"

#     Option "SendCoreEvents" "true"

     Option "Protocol" "evdev"

#     Option "Protocol" "ExplorerPS/2"

     Option "ZAxisMapping" "6 7"

     Option "Buttons" "10"

     Option "Dev Name" "Logitech USB Receiver"

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

#    Option "BaudRate"   "9600"

#     Option "SampleRate"   "200"

#     Option "Resolution"   "800"

EndSection
```

also when i first did this the mouse seemed kind of laggy and jumpy (stair case effect.. is it because USB only has 400dpi scan res or coz it updates less often or something?

----------

## CheshireCat

ZAxisMapping should be "9 10" if you want all 10 buttons functional.  You should also run "xev" in an xterm, put the mouse over the window that pops up, and try each mouse button to see if it generates events.  You should be able to get events for each button, although without SmartScroll turned off, the two SmartScroll buttons will both generate a button press of their own, and a series of presses on button 9 or 10.

If you can get events for all 10 buttons in xev, try running

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

and then try scrolling in something that you know supports the scroll wheel.  If that works, add the command to your Xsetup file (in /etc/X11/xdm for xdm, /usr/kde/<version>/share/config/kdm for kdm, and I don't know where for gdm).

As far as getting the other buttons to do anything useful, you're on your own there.  Some applications will let you map useful functions to buttons >5, but many will not.  On my system, some KDE apps seem to automatically map the side buttons to horizontal scrolling.

For logitech_applet, I'm not sure why it doesn't work for you, if you built it with my patch.  It may be that your receiver has a different ID than mine (perhaps there are two revisions of the product?).  Try finding the receiver in your /proc/bus/usb/devices file.  If the ProdID isn't c50b, you'll need to edit the table in logitech_applet.c.  Just copy the line in device_table for the Cordles MX Duo, and edit the second copy to have the right ID for your receiver.  The fact that logitech_applet exits silently if it doesn't find a device it recognizes is more than a little bit of a pain.

I'm not sure what's going on with the lagginess, I never see that unless my system is overloaded, and I mean really overloaded, which is pretty hard to do since I switched to 2.6.

----------

## vanjab

/proc/bus/input/devices

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

N: Name="ImPS/2 Generic Wheel 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=103 

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

N: Name="AT Translated Set 2 keyboard"

P: Phys=isa0060/serio0/input0

H: Handlers=kbd 

B: EV=120003 

B: KEY=4 2200000 c061f9 fbc9d621 efdfffdf ffefffff ffffffff fffffffe 

B: LED=7 

/proc/bus/usb/devices

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 6

B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0

D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS= 8 #Cfgs=  1

P:  Vendor=0000 ProdID=0000 Rev= 2.06

S:  Manufacturer=Linux 2.6.0-gentoo ehci_hcd

S:  Product=EHCI Host Controller

S:  SerialNumber=0000:00:02.2

C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=256ms

am i missing something here?

i am going to try change zaxis to 9 10

i was checking source of logi panel and just then came to conclusion its not picking up my reciever  :Wink: 

is it that my receiver isnt registered?

----------

## vanjab

ohhh crap. I just restarted X, and have come to the conclusion that if GDM cant get the mouse to work, it uses default driver (on startup).

This is why no buttons were working. Attempting to start xinit with proper xf86config got a 'core mouse pointer' error :/

Must be something to do with USB support or the lack off.

I have an nForce 2 board, any special requirements for USB support on it?

----------

## CheshireCat

Is that all that's in your /proc/bus/usb?  If it is, I'm fairly sure I know what your problem is.  It also explains why you needed to turn on USB support in your BIOS (you'd need to for BIOS and your boot loader to get the keyboard, but the kernel USB drivers should take over at boot).  You need to enable either the uhci or ohci driver (I'm not sure which, although I think it may be ohci for your board).  Ehci only supports USB2.0 devices, ohci/uhci handle USB1.x devices.

Once you have the correct USB1 driver installed, there should be an entry in your /proc/bus/usb/devices for your mouse, which I'm guessing will turn out to have the same ID as mine.  When you use logitech_applet with an mx700, it can't report on the status of SmartScroll, only set it.  If you want to make sure it gets turned off, run "logitech_applet -d" in either your Xsetup or put it into an init script.  The only other function that works on the Duo receiver is the battery check, and that seems to give erratic answers for me.

EDIT: oh, yeah, if you want to know which is right, you could try building both as modules first, and insmod'ing them to see which one gets your USB working.  Once you know which one to use, you can build it into your kernel if you want to.

----------

## vanjab

Thankyou very much for this. I will try this tomorow morning ( i just came back from work  :Sad: ).

The usb problem makes a lot of sense and i was leaning to this, but i checked my kernel for usb stuff and i had some in it, but i guess its the wrong stuff  :Razz: 

Ill do it tomorow and update on my status.

Again, thank you very much ceshirecat  :Smile: 

----------

## vanjab

crap.

I had to change usb controllers from UHCI to OHCI (my bad :S) and it now detects my logitech receiver, and when xdm start up i can have my 5 + wheel, but the top most button is just another button 1 and the ss scroll up is another button 4.

upon turning that off and starting x with xinit, i get another mouse initialisation problem  :Sad: 

something, then

No core pointer found...

i will post up my config and my log soon. This is just getting annoying :/

as a side note, logitech app now works, but doesnt seem to have much effect :/

I dont know what to do, where can i find some information about evdev?

----------

## CheshireCat

There isn't a whole lot to be found, unfortunately.  The site where I originally got the patches from hasn't been accessible for a while, the last time I checked it was a redirect to itself.

I learned most of what I know about this mess by way of Google, which is how I found logitech_applet, and the evdev patches.

Any idea why GDM is using a different X config than startx?  I think there must be something funny in your config if it's not working right.  The logs will hopefully say exactly what is going wrong.  When I get home, I'm going to try turning SS off on my system to see if I can still get all 10 buttons to work.

----------

## vanjab

THE LOG::

This is a pre-release version of XFree86, and is not supported in any

way.  Bugs may be reported to XFree86@XFree86.Org and patches submitted

to fixes@XFree86.Org.  Before reporting bugs in pre-release versions,

please check the latest version in the XFree86 CVS repository

(http://www.XFree86.Org/cvs).

XFree86 Version 4.3.99.902 (4.4.0 RC 2)

Release Date: 18 December 2003

X Protocol Version 11, Revision 0, Release 6.6

Build Operating System: Linux 2.6.0-gentoo i686 [ELF] 

Current Operating System: Linux aladin 2.6.0-gentoo #6 Sat Jan 10 14:22:01 Local time zone must be set--see zic manu i686

Build Date: 09 January 2004

Changelog Date: 19 December 2003

	Before reporting problems, check http://www.XFree86.Org/

	to make sure that you have the latest version.

Module Loader present

Markers: (--) probed, (**) from config file, (==) default setting,

	(++) from command line, (!!) notice, (II) informational,

	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.

(==) Log file: "/var/log/XFree86.0.log", Time: Sat Jan 10 14:55:03 2004

(==) Using config file: "/etc/X11/XF86Config"

Using vt 7

(II) Initializing extension GLX

(EE) Mouse1: cannot open input device

No core pointer

Fatal server error:

failed to initialize core devices

When reporting a problem related to a server crash, please send

the full server output, not just the last messages.

This can be found in the log file "/var/log/XFree86.0.log".

Please report problems to xfree86@xfree86.org.

XIO:  fatal IO error 104 (Connection reset by peer) on X server ":0.0"

      after 0 requests (0 known processed) with 0 events remaining.

myconfig::

Section "InputDevice"

# Identifier and driver

     Identifier "Mouse1"

     Driver "mouse"

     Option "Device" "/dev/mouse"

#    Option "Device" "/dev/misc/psaux"

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

#     Option "SendCoreEvents" "true"

#     Option "Device" "/dev/usbmouse"

     Option "Protocol" "evdev"

     Option "ZAxisMapping" "9 10"

     Option "Buttons" "10"

#     Option "Protocol" "ExplorerPS/2"

#     Option "ZAxisMapping" "6 7"

#     Option "Buttons" "7"

#     Option "Dev Phys" "*/input0"

#     Option "Dev Name" "ImExPS/2 Logitech Explorer Mouse"

#     Option "Dev Name" "ImExPS/2 Logitech*"

#     Option "Dev Name" "*Logitech Explorer Mouse"

#      Option "Dev Phys" "*/serio1/input0"

     Option "Dev Name" "Logitech USB Receiver"

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

# When using XQUEUE, comment out the above two lines, and uncomment

# the following line.

#    Option "Protocol"	"Xqueue"

# Baudrate and SampleRate are only for some Logitech mice. In

# almost every case these lines should be omitted.

#    Option "BaudRate"	"9600"

#     Option "SampleRate"	"200"

#     Option "Resolution"	"800"

EndSection

/proc/bus/input/devices::

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

N: Name="Logitech USB Receiver"

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

H: Handlers=kbd 

B: EV=120003 

B: KEY=10000 7f ffe00000 7ff ffbeffdf ffffffff ffffffff fffffffe 

B: LED=41f 

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

N: Name="Logitech USB Receiver"

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

H: Handlers=kbd mouse0 

B: EV=120007 

B: KEY=ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 0 0 1878 d800d100 1e0000 0 0 0 

B: REL=103 

B: LED=c00 

/proc/usb/devices

T:  Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 3

B:  Alloc= 28/900 us ( 3%), #Int=  2, #Iso=  0

D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=0000 ProdID=0000 Rev= 2.06

S:  Manufacturer=Linux 2.6.0-gentoo ohci_hcd

S:  Product=OHCI Host Controller

S:  SerialNumber=0000:00:02.1

C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=03 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=1.5 MxCh= 0

D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=046d ProdID=c50b Rev=21.00

S:  Manufacturer=Logitech

S:  Product=USB Receiver

C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr= 98mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=01 Driver=hid

E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=10ms

I:  If#= 1 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=hid

E:  Ad=82(I) Atr=03(Int.) MxPS=   8 Ivl=10ms

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 3

B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0

D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=0000 ProdID=0000 Rev= 2.06

S:  Manufacturer=Linux 2.6.0-gentoo ohci_hcd

S:  Product=OHCI Host Controller

S:  SerialNumber=0000:00:02.0

C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 6

B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0

D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS= 8 #Cfgs=  1

P:  Vendor=0000 ProdID=0000 Rev= 2.06

S:  Manufacturer=Linux 2.6.0-gentoo ehci_hcd

S:  Product=EHCI Host Controller

S:  SerialNumber=0000:00:02.2

C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=256ms

comment::

i am also interested as to why gdm uses a different config. I would say it has a fall back config except it never really "falls back".. it makes it into gdm onboot first attempt.

----------

## CheshireCat

I don't think it's possible for a display manager to "fall back", short of starting the X server again from a different config file.  If it looks like the server only starts once, gdm has to be loading a different config file somewhere.  Have you tried xdm or kdm?  The default xdm and kdm configs should just start the X server and let it load its default config file.

----------

## vanjab

The other config file loading doesnt bother me. What bothers me is that evdev doesnt work =(

Is it possible that evdev can be only loaded once, then it cant be loaded again? Or that when i quit gdm (killall gdm) that evdev screws its self?

----------

## vanjab

Im just thinking i might drop back to a 2.4.x kernel and apply the patches i found... Does evdev work on 2.4 kernels? I think thers a patch for it maybe...

http://www.yhbt.net/normalperson/files/linux/LogitechMX_kernel_and_X_patch/

would that enable evdev on 2.4s?

----------

## CheshireCat

 *vanjab wrote:*   

> Is it possible that evdev can be only loaded once, then it cant be loaded again? Or that when i quit gdm (killall gdm) that evdev screws its self?

 

Not that I know of.  I run a second X server on my TV, and both are using evdev at the same time without problems.

It looks like the patches you linked to are the XFree Logitech PS/2 protocol patch that I already have, and a patch to add extra features for Logitech USB mice to the kernel.  If you don't mind switching back to a PS/2 mouse, the XFree patch should do the job all by itself.  I'm not sure if the kernel patch adds Logitech PS/2 support to the kernel's emulated PS/2 mouse device, but I'm guessing not.

Is that X log from gdm, or from startx?  It seems a bit odd, I'm used to seeing more than that when something goes wrong with opening an input device.

----------

## vanjab

that was xinit 2> /err

My mouse was originally PS/2 and i didnt mind it compared to usb, except now i have patched my 2.6.1 kernel with the logi usb patches, (2ms poll time, w00t!!) and im very happy with it (q3 seemed much smoother  :Razz: )

I have given up my quest for 10 buttons, ill just go cry or something  :Razz: 

atm im running on evdev(god knows how) but seems like i only have support for 7 buttons, the SS Scroll buttons are same button as the wheel, and the task switch button is button 1 :/

----------

## CheshireCat

XFree86 writes a log file, ususally /var/log/XFree86.<display>.log, that is more verbose than its console output.  That should give a better clue as to what fails.

----------

## vanjab

(**) Option "Protocol" "ExplorerPS/2"

(**) Mouse1: Device: "/dev/mouse"

(**) Mouse1: Protocol: "ExplorerPS/2"

(**) Option "SendCoreEvents" "true"

(**) Mouse1: always reports core events

(**) Option "CorePointer"

(**) Mouse1: Core Pointer

(**) Option "Device" "/dev/mouse"

(**) Option "Buttons" "10"

(**) Mouse1: Emulate3Buttons, Emulate3Timeout: 50

(**) Option "ZAxisMapping" "6 7"

(**) Mouse1: ZAxisMapping: buttons 6 and 7

(**) Mouse1: Buttons: 10

(II) Keyboard "Keyboard1" handled by legacy driver

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

(II) XINPUT: Adding extended input device "NVIDIA Event Handler" (type: Other)

(II) Mouse1: ps2EnableDataReporting: succeeded

wtf?? why is it using explorer protocol :S

just doing search for other XF86Configs..

----------

## vanjab

well i found the problem *slaps self*

before i edited my working xf86config i made a back up of it and put it in / thinking it would be okay there... i just realised it has been booting of this config all this time :O

----------

## vanjab

(II) Initializing extension GLX

(**) Option "Protocol" "evdev"

(**) Mouse1: Protocol: evdev

(**) Option "CorePointer"

(**) Mouse1: Core Pointer

(**) Option "Buttons" "10"

(**) Mouse1: Emulate3Buttons, Emulate3Timeout: 50

(**) Option "ZAxisMapping" "9 10"

(**) Mouse1: ZAxisMapping: buttons 9 and 10

(**) Mouse1: Buttons: 10

(II) Keyboard "Keyboard1" handled by legacy driver

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

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

(II) XINPUT: Adding extended input device "NVIDIA Event Handler" (type: Other)

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

(**) Option "Dev Phys" "usb-*/input1"

(EE) Mouse1: cannot open input device

No core pointer

Fatal server error:

failed to initialize core devices

thats teh verbose log from /var/log/XFree86.0.log

----------

## freak4u

Can I just ask one question?  Not to be fecicious, but why on earth would you need a 10 button mouse?  I don't find myself backwards thinking, but 10 buttons is a little excessive...Sorry, had to ask.

----------

## vanjab

its okay  :Razz:  dont need 10 exactly but a few more would help  :Razz: 

for games

----------

## CheshireCat

Oh, just had a thought.  I'd forgotten that some of the needed stuff in the kernel actually can be disabled.  I believe under device drivers->input device support you'll need to make sure that "event interface" is enabled.  I've been carrying the same .config around for awhile, so I have no clue what its default is.  If you want to just grep your kernel's .config for it, the config option is "CONFIG_INPUT_EVDEV".

----------

## vanjab

Thats not it either :/ I've had evdev built in (and now as a module) for a long time now anticipating the moment it would work. :/

its = m atm

----------

## foosh

not into the whole gimmicky, multi-button, requires-extra-software-to-be-constantly-running mouse stuff...

anybody here use trackballs?

----------

## CheshireCat

Um...  huh?  It's not like you need anything extra running in the background to use one of these, especially for games.  A lot of games, especially FPS games, will let you bind all of the buttons to commands on mice with extra buttons.

----------

## StinkingMonkey

Thanks for the howto ChesireCat, managed to get my mx500 working nicely. One question did you manage to enable all the buttons ?, i got the smart scrolling buttons at the top working, but not the 2 side buttons, weird when i was using imwheel it was the other way around, anyway thanks again.

----------

## CheshireCat

I don't use them much, but the side buttons work for me.  I can get events for them in xev, and I've noticed that in konqueror they are bound to scroll left/right.  Probably other KDE apps, also, if I can arrange to have a need for side-scrolling in them.

----------

## StinkingMonkey

yup getting reports from xev for every button, would be nice if more manufacturers took note of linux, no worries though, happy with my mouse as it is, once again thanks.

----------

## Stolz

I'm not sure about all  the steps to get 10 buttons working.

I'm using gentoo-dev-sources-2.6.5-r1, should I patch something?

I've the evdev module loaded and /dev/input/event* are created succesfully, but when I set  

```
Option      "Protocol" "evdev"

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

it does not start and says protocol evedv is unknow.

Thanks in advice.

----------

## CheshireCat

Which X server are you using?  xorg-x11 does not include the evdev patches yet, but I believe xfree does.

----------

## Stolz

I'm using xfree-4.3.0-r5

How can I know if it is patched yet?

Thanks

----------

## wizard69

Does Xorg provide the patches for the logitech mx700? or will it only work with xfree just unmerged xfree two days ago for xorg

----------

## CheshireCat

wizard69:

When I tried xorg last week it didn't include the patches and I had to apply them myself.  I'm back to using xfree anyways as xorg will not run with the nvidia driver, despite all the others saying that it does for them.

Stolz:

According to bugzilla, the patches were added to xfree-4.3.0-r6.

----------

## wizard69

@CheshireCat does anyone provide a patched ebuild for xorg if not what steps are necessary to patch xorg with the logitech patches on you website

----------

## CheshireCat

Can't do a thing now, my computer locks spontaneously over the last 2-3 weeks and I'm not home to fix it right now.  I did get the xorg-x11 working w/ nvidia - it's not the nvidia driver that's the problem, xorg-x11 is broken if built with the pie USE flag.  It's patched and works, I'll put up the patched ebuild when I can.

----------

## CheshireCat

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

Suitable for unpacking in your portage overlay dir, includes all evdev patches and the logitech PS/2++ protocol patch as well.

----------

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

----------

## katossi

Hey, did you submit that patches tu bugs.gentoo.org so maybe someday they could be in the portage?

----------

## CheshireCat

Yes, I did, and I believe they've made it into newer xfree, but not xorg-x11 ebuilds.

----------

## katossi

I don't understand why the patch onlye xfree, since xorg is the future in the X business.

I hope this situation change.

Thanks for your answer,

Guillermo

----------

## CheshireCat

Probably because I only submitted the bug for the xfree package, before the xorg-x11 package existed?

----------

## katossi

Then submit the patch to the xorg please!!

Thanks for all

----------

## r3pek

just posting to say thanks to CheshireCat. With evdev i have all the 10 buttons of my MX500 working with diferent events... really thanks   :Very Happy: 

----------

## nx12

Just wanted to thank you, CheshireCat. You're my idol today. Everything works fine. I used your ebuild and just changed patches version in it to the latest one. Thanks again.

----------

## ashayh

Can anyone tell me about a problem where *connecting* a Logiteh MX510 makes xorg throw up a blank screen ?

The mouse is Ok as it works in WinXP and Knoppix. Removing the mouse makes xorg start normally.

----------

## nx12

What do /var/log/messages and xfree86 log say?

----------

## ashayh

 *nx12 wrote:*   

> What do /var/log/messages and xfree86 log say?

 

Heres a topic I started about this...

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

----------

## Stolz

 *CheshireCat wrote:*   

> According to bugzilla, the patches were added to xfree-4.3.0-r6.

 

It seems they don't have added them, because I've just merged xfree-4.3.0-r6 (using the complete path to the .ebuild) and it still says evdev is an unknown protocol.

```
# emerge -p xfree

These are the packages that I would merge, in order:

Calculating dependencies ...done!

[ebuild   R   ] x11-base/xfree-4.3.0-r6
```

```
# strings /usr/X11R6/bin/X | grep evdev

#
```

 :Sad: 

Now I'm downloading the "tarred" file for the pre-release you mentioned before. Hope It goes well.

Rgds.

----------

## CheshireCat

The latest xorg has the patches  :Very Happy: 

----------

## mope

 *r3pek wrote:*   

> just posting to say thanks to CheshireCat. With evdev i have all the 10 buttons of my MX500 working with diferent events... really thanks  

 

whoa, how did you get 10 different events? I have 10 buttons configured and almost all working, but the two buttons on either side of the scrollwheel are still sending the same events as the scrollwheel.

Would you mind posting your config sections from xorg.conf and xmodmap?

----------

## nx12

The only thing you can do with those buttons near scrollwheel is to change their behavour e.g. they scroll continuously or not. That's hardware design. Those buttons just duplicate scrollwheel.

----------

## Stolz

 *nx12 wrote:*   

> The only thing you can do with those buttons near scrollwheel is to change their behavour e.g. they scroll continuously or not. That's hardware design. Those buttons just duplicate scrollwheel.

 

I'm afraid your are wrong. You can disable the default behaviour using Logitech Mouse Applet.

```
# logitech_applet -d
```

then , if you have followed the steps to configure your mouse with evdev support, you'll see xev recognices those buttons as 9 and 10. You can use Imwheel or similar to asing those buttons any function.

Hope it helps  :Smile: 

----------

