# Logitech Cordless Desktop MX 3100

## Taily

How-to get your Logitech Cordless Desktop MX 3100 to work in linux..

The solutions are the following:

 A. Get all buttons on your keyboard and mouse to work using ps/2

 B. Get all buttons on the mouse to work using USB, but none of the keyboard multimedia-keys work

 C. Have some (most) multimedia buttons work on the keyboard and a few on the mouse using USB

Here we go:

```
 A.

   1. What you need:

       * Kernel patch by TheAlamo from [url=http://130.232.30.60:3800/logips2pp.diff]here[/url]

       * Kernel supporting event interface

       * Xorg with evdev support

   2. Unpack your 2.6.x kernel and configure it to your liking, make sure you enable event interface in "Device Drivers" --> "Input Device Support" --> <*> Event Interface

   3. Apply the patch (make sure your kernel is symlinked to /usr/src/linux):

       # cd /usr/src/linux

       # wget http://130.232.30.60:3800/logips2pp.diff

       # cat logips2pp.dif | patch -p3 (p3 should do the trick)

   4. Compile your kernel and make sure you boot into it!

   5. Before starting X, edit your xorg.conf!

   5a. If you have Xorg 6.8.99.x then follow this:

        Section "InputDevice"

         Identifier                  "MX1000"

         Driver                      "evdev"

         Option "Device"         "/dev/input/eventX"

        EndSection

   5b. If you have Xorg 6.8.2

        Section "InputDevice"

         Identifier                  "MX1000"

         Driver                      "mouse"

         Option "Protocol"       "evdev"

         Option "Device"         "/dev/input/eventX"

        EndSection

   6. This is to make all multimedia buttons recognized in X:

       # setkeycodes e014 179 e013 221 e015 202 e055 157 \

        e011 203 e075 217 e074 212 6a 160 e004 180 \

        6b 140 e003 177 e002 178 6c 168 6e 190 6d 183 \

        e001 184 e03b 59 e03c 60 e03d 61 e03e 62 \

        e03f 63 e040 64 e041 65 e042 66 e043 67 \

        e044 68 e057 87 e058 88 e02d 170 e02f 161 \

        e031 185 e078 167 e02c 186 e025 187 e026 188

   7. Start X..

```

```
 B.

   1. What you need:

       * Kernel supporting event interface

       * Xorg with evdev support

   2. Follow setps 2, 4 and 5 from section A.

   3. Start X

```

```
 C.

   1. What you need: Same as B

   2. Follow steps 2 and 4 from A

   3. Editing your xorg.conf

      Section "InputDevice"

       Identifier                  "mouse"

       Driver                      "mouse"

       Option "Protocol"           "ExplorerPS/2"

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

       Option "Buttons"            "12"

       Option "ZAxisMapping"       "11 12"

      EndSection

   4. Start X! Only forward and backward buttons will have their own button-press!

```

To assign commands to button presses please read on using xev and xbindkeys

As of now my problem is solved; this was the original message -----------------------------------------

Hey,

I recently bought the package mentioned in the topic, it comes with a usb receiver, wirless keybaord and mouse.

I'm in a bit of a dilemma since i would have to choose either between the multimedia keys on my keyboard, OR the extra buttons on my MX 1000 mouse..

I have evdev support in my kernel, but that's not very important at the moment.

If i specify my mouse to use the evdev driver to support my extra buttons:

Section "InputDevice"

    Identifier                  "MX1000"

    Driver                      "evdev"

    Option "Dev Name"           "Logitech USB Receiver"

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

    Option "Device"             "/dev/input/event3"

EndSection

I would get almost perfect functionality, except the "Cruise controll" buttons don't work properly, with SMS (smartscroll) enabled i get clicks "wheel up (b:4)" and b:11 from the upward button, and just "wheel down (b:5)" from the one pointing down.. with SMS disabled i get only b:11 from the upward button and nothing from the one pointing down..

Now doing this all multimedia keys give no response what-so-ever in X.. the log gives the output of "LookupDeviceIntRec id=0x0 not found"  :Sad: 

However if i define my mouse as a normal mouse, eg ExplorerPS/2 and 9 buttons i can only get a few buttons working like i want, however most of the multimedia keys generate a keycode.

The problem here is that evdev is somehow also used for the keyboard when you specify it for the mouse? Is there any way to change this?

Any help appreciated :p

-------------------------------------------------------------------------Last edited by Taily on Fri Aug 26, 2005 3:09 pm; edited 2 times in total

----------

## Taily

Hmm, I've done some testing with evtest, and confirmed that using evdev all my multimedia keys for some reason produce events in event3 which is my mouse!..

This is most likely a problem with the kernel event driver?

----------

## pilo

You probably need to specify the number of buttons on your mouse, that's what I had to do with mine, or else no or wrong events were registered. My MX500, for example, has 9 "buttons", for which i use this code in xorg.conf:

```

Section "InputDevice"

...

Option  "Buttons"       "9"

...

EndSection

```

Also, you should not have to use the event driver for your keyboard in order to access your extra keys. Have you tried Lineakd or Xbindkeys?

----------

## Taily

No believe me, that's not the problem..

As a matter of fact when i use evdev for the mouse i am unable to specify the amount of buttons it uses, it will always no matter what put 32 buttons on it  :Razz: .. of which 12 should work, but it gets a bit confused when the receiver is associated with both keyboard and mouse.

As for lineakd and xbindkeys (lets not forget imwheel), it's a bit hard to make them work without any key-presses to assign the keys to, no?  :Very Happy: 

So basically my only problem lies with the keyboard and "Cruise controll"-buttons  :Sad: 

Also, how would i disable using event driver for the keyboard? I mean if i don't start X with evdev support for my mouse, then the multimedia keys on my keyboard work O_O..

/proc/bus/input/devices

I: Bus=0003 Vendor=046d Product=c512 Version=3007

N: Name="Logitech USB Receiver"

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

H: Handlers=kbd event2 

B: EV=120003 

B: KEY=10000 7 ff800000 7ff febeffdf ffefffff ffffffff fffffffe 

B: LED=1f 

I: Bus=0003 Vendor=046d Product=c512 Version=3007

N: Name="Logitech USB Receiver"

P: Phys=usb-0000:00:11.2-1/input1

H: Handlers=kbd mouse1 event3 

B: EV=f 

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

B: REL=143 

B: ABS=100 0 

Thanks anyway for your reply pilo  :Smile: 

----------

## pilo

Yeah, I see the peculiarity now. 

Well, I saw this thread: http://www.linuxquestions.org/questions/history/342005 and I thought, maybe you could test evtest? It is a part of Lineakd, and it seems as the events it finds can be used with Lineakd aswell. 

Really, I think you should specify ZAxisMapping and Buttons in your xorg.conf, but I may be wrong again.  :Smile: 

----------

## Taily

 *pilo wrote:*   

> Yeah, I see the peculiarity now. 
> 
> Well, I saw this thread: http://www.linuxquestions.org/questions/history/342005 and I thought, maybe you could test evtest? It is a part of Lineakd, and it seems as the events it finds can be used with Lineakd aswell. 
> 
> Really, I think you should specify ZAxisMapping and Buttons in your xorg.conf, but I may be wrong again. 

 

Thanks, but as a matter of fact, as i posted my first post, i did have they Buttons ans ZAxisMapping options set but i didn't include them as they make no difference if i am using the evdev driver (meaning always, no matter what the mouse gets 32 buttons)

Evtest produces different output in VC and X, in VC i can get all the multimedia keys (on the keyboard) in the event of my mouse! and in X the multimedia keys wont produce any output what-so-ever :/

Lineakd works with X, so if X doesn't give keycodes to the buttons, there's nothing lineakd can do :/..

What i don't understand is why the heck the multimedia keys on the keyboard get mapped to the event of the mouse >_<.. definetly has to be the kernel evdev driver in this case..

----------

## pilo

I shouldn't be sticking my nose in things I don't fully understand.

http://linux.seindal.dk/item65.html

Hope something helps.

----------

## Taily

Thanks, but doing this i still have to choose between functionality of the mouse or keyboard  :Sad: 

----------

## TheAlamo

Hi,

my experiences with the MX 3100 so far:

1. connected via USB

All mouse buttons work, but most of the multimedia keys do not work.

2. connected via PS2

the whole keyboard works - if you follow http://linux.seindal.dk/item65.html (well, more or less, I had to change some keycodes, scancodes)

some mouse buttons and horizontal wheel do not work

Here's what I did:

connect the receiver to the PS2 port (mouse and kbd)

switched to xorg 6.8.99

made some ugly patches to the ps2 mouse driver in my 2.6.12 kernel to get the mouse fully functional.

----------

## Taily

Yes, however if i have the mouse and keyboard both in ps2 my system messes up :\..

Been using 6.8.99 for a while now, but i'll take a look at the mouse driver  :Smile: ..

Do _ALL_ keys work? Like lets say for me the, eject, audio-presets etc.. don't work

EDIT: Damn, i just realized the ps/2 plug in my receiver must be b0rked or something O_o.. since the mouse won't ever be detected unless it's in the usb plug

----------

## TheAlamo

 *Taily wrote:*   

> Yes, however if i have the mouse and keyboard both in ps2 my system messes up :\..
> 
> Been using 6.8.99 for a while now, but i'll take a look at the mouse driver ..
> 
> Do _ALL_ keys work? Like lets say for me the, eject, audio-presets etc.. don't work

 

yes, with setkeycodes and xmodmap

 *Taily wrote:*   

> EDIT: Damn, i just realized the ps/2 plug in my receiver must be b0rked or something O_o.. since the mouse won't ever be detected unless it's in the usb plug

 

maybe we're lucky and this is not a hardware problem. Try and have a look at your BIOS settings. If there are options for USB mouse / USB kbd, disable it.

----------

## Taily

Afraid i ain't that lucky.. My other mous(es) work, and it doesn't work in windows either so it really can't be the problem  :Sad: 

Luckily I'll be able to change my package tommorow  :Smile: , hopefully the new one won't have any problems

----------

## Taily

Seems problem was at my end anyways (with the receiver), the mouse plug was a little short for my ps/2 so it wouldn't connect properly x_x... Anyways i have it working now and Alamo, if you wouldn't mind posting or pm'ing me your patches I'd be very happy  :Razz: 

----------

## TheAlamo

@Taily

you got mail

----------

## Taily

Thank you!!  :Smile: 

Your patch did the trick, you're a life-saver  :Razz: 

Now everything works great  :Smile: 

----------

## Zyzzyva100

So now I'm curious, what exactly did you do to get this working?  Right now I have the keyboard on usb and the mouse on ps2. 

Should I just try both on ps2?  Im not really terribly concerned about getting every extra key on the keyboard to work, but having the scroll wheel and back/forward buttons on the mouse working would be nice.

----------

## Taily

 *Zyzzyva100 wrote:*   

> So now I'm curious, what exactly did you do to get this working?  Right now I have the keyboard on usb and the mouse on ps2. 
> 
> Should I just try both on ps2?  Im not really terribly concerned about getting every extra key on the keyboard to work, but having the scroll wheel and back/forward buttons on the mouse working would be nice.

 

Well, keeping the mouse in the ps2 has actually no effect if you have plugged it through usb, i think unless then there are both usb and ps2 action for the mouse, anyway, as far as my experience goes;

1. You keep mouse and keyboard connected through ps2 and can get all keys on the keyboard and all buttons on the mouse (by using for example TheAlamos patch), however using his patch i find that tilt-wheel just gives one click, not repeated (giving a scroll effect) -- i see if i can fix this in the source :p..

2. Keep both in usb

 a. And get all buttons on the keyboard working and on the mouse the regular buttons plus the previous/next and the "switch app" button..

 b. Use evdev for the mouse to get all buttons working but NONE of the keyboard buttons will work  :Sad:  (this just conecerns the multimedia keys, not regular ones)

3. Try something new  :Very Happy: 

Choose which one you want to go with and i will help you to my best to get it working for you  :Smile: 

----------

## Zyzzyva100

I guess using ps2 for mouse and keyboard will work fine.  I really don't care too much about the tilt wheel.  Having my back and forward buttons back would be nice, as would the use of the extra keyboard buttons.

So how exactly do I go about using this patch?

Thanks for the help!

----------

## Zyzzyva100

Could someone who has this working through ps2 post their config, and what this patch is?

----------

## Taily

Sorry I've not been around to reply  :Sad: 

Anyways, the patch can be found here http://130.232.30.60:3800/logips2pp.diff (i mirrored it).. All credits goto TheAlamo

so you goto /usr/src/linux(-xxx) and apply the patch, if you don't know how i guess i could explain but pretty much anyone who uses gentoo should know  :Razz: 

recompile your kernel with the ps2 driver as either module or built in, reboot and you should be good to go

As for your xorg configuration, all you need to do is use the evdev driver and define which device to use..

Here's what i use to get all the keys on the keyboard working..

setkeycodes e014 179 e013 221 e015 202 e055 157 e011 203 e075 217 e074 212 6a 160 e004 180 6b 140 e003 177 e002 178 6c 168 6e 190 6d 183 e001 184 e03b 59 e03c 60 e03d 61 e03e 62 e03f 63 e040 64 e041 65 e042 66 e043 67 e044 68 e057 87 e058 88 e02d 170 e02f 161 e031 185 e078 167 e02c 186 e025 187 e026 188

And the buttons for the mouse..

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

Also assign functions to buttons and clicks..

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

"mpc toggle"

c:162

"mpc next"

c:153

"mpc prev"

c:144

"mpc stop"

c:164

"amixer -c 0 set PCM,0 2%+"

c:176

"amixer -c 0 set PCM,0 2%-"

c:174

.... you get the idea

and then run

# xbindkeys

----------

## dpetka2001

I am interested in you explaining how to apply the patch because I am new to Gentoo and I've just obtained the Logitech MX3100 and would like to get it to work as soon as possible...thanks in advance...

----------

## Taily

Well, ok..

as root..

# cd /usr/src/linux (make sure linux is symlinked to the right source tree)

# wget http://130.232.30.60:3800/logips2pp.diff

# cat logips2pp.diff | patch -p0 (i use p0, depending on your directory stucture you might have to use p1, p2, p3 ... etc..)

And that with that you should be ready to do

# make && make modules modules_install && mount /boot && make install (or however you want to compile your kernel)

 :Razz: 

----------

## dpetka2001

 *Taily wrote:*   

> # cat logips2pp.diff | patch -p0 (i use p0, depending on your directory stucture you might have to use p1, p2, p3 ... etc..)
> 
> 

 what do you mean depending on the directory structure I use?? how can I tell which option to use?? I read the man but didn't understand which number I should use...let's suppose that I save the patch in /usr/src/linux...what number do I have to use in the -p Option?? Also could you explain what cat does?? thanks...

----------

## Taily

Ok, I'm not entirely sure myself  :Razz: , i never needed to find out i just read somewhere about the * stucture  :Very Happy: , don't remember if it was directory even.. :/

Anyway, i just start with -p0 then if it doesn't automatically go through i would hit ctrl+c and increment the number  :Razz: ..

I just realized though.. 

--- /usr/src/linux-2.6.12-nitro4/drivers/input/mouse/logips2pp.c	2005-07-16 05:09:48.000000000 +0200

+++ /usr/src/linux-2.6.12-nitro5/drivers/input/mouse/logips2pp.c	2005-08-07 13:26:04.000000000 +0200

those lines, could be that..

p0 = /usr/src/linux-2.6.12-nitro5/drivers/input/mouse/logips2pp.c

p1 = src/linux-2.6.12-nitro5/drivers/input/mouse/logips2pp.c

p2 = linux-2.6.12-nitro5/drivers/input/mouse/logips2pp.c

p3 = drivers/input/mouse/logips2pp.c

no?

----------

## Zyzzyva100

Now if I can just figure out how to emerge evdev....

I was hoping to avoid using it by going with ps2, but it seems that I can't really do that.  evdev is masked, and I can't seem to get it unmasked, it seems as though there is something else that is needed which needs to be unmasked first, so I just kinda quit trying for the time being.

Anyone else run into this trouble with evdev, or have I done something wrong.

----------

## Taily

There is no need to emerge it, latest versions of Xorg come with evdev..

You just need to make sure you have enabled event interface in your kernel

----------

## Zyzzyva100

Ok, well i enable event interface in my kernel, recompiled, applied the patch, recompiled and the errors are worse than before.

How do I determine the device location now?  And could someone please just post the relevant part of their xorg config?

When I tried using evdev as my driver, xserver wouldn't start, and I was just left at a blank screen with a cursor, unable to do anything, or if starting from a cold boot, was dumped back to a login prompt.  This is the one thing that I just can't get working right with linux, and at the same time is the one thing that is going to force me back to windows if I can't get it working soon.  Boy I wish there was an easier way to do this.

----------

## Zyzzyva100

Anyone?  I would be forever grateful if someone could help me to get this working.

----------

## Taily

Ok, just wait a moment, I have to go to school; after that I'll try to post a step-by-step guide to doing this!

EDIT: First post has been updated

----------

## Zyzzyva100

Ok, so that is what I was doing, but I have never seen an "eventX" when I look to see where my mouse is.  That is the thing that I can't figure out.  All the guides say that it will say eventX (replacing X with whatever number it says), but I never see that.

Am I missing some sort of support?

----------

## Taily

sorry, your not supposed to look for eventX..

X = random number, usually 1

you just need to know which event is for your mouse and use that number

DO:

# cat /proc/bus/input/devices

and see for yourself

----------

## Zyzzyva100

No, I know that I am looking for a number, but in my output I never see anything relating to event.  See:

```

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=0006 Version=0042

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

P: Phys=isa0060/serio1/input0

H: Handlers=mouse0

B: EV=7

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

B: REL=103

```

----------

## Taily

Well, you should look at phys

and are you 100% sure evdev is COMPILED into your kernel, or it's module loaded?

If you're going with "A" then did you apply the patch?

----------

## Zyzzyva100

Yea, I went back and enabled evdev and recompiled the kernel, and then I applied the patch.

----------

## Taily

You recompile after the patch too right?

The patch patches the psmouse module (which can be compiled into the kernel also)

Make sure you have the psmouse module loaded if it is a module

oh and the reason you can't find eventX is maybe because you're not using udev?

----------

## Zyzzyva100

I'm pretty sure I have psmouse compiled into the kernel, but maybe I'm not using udev.  How can I check on this?

I did have some issues patching the file though, but I thought I figured it out.  I will post the output when I get home from school later.

----------

## Taily

Just see if you have udev selected in the kernel, and make sure you have emerged udev..

----------

## Zyzzyva100

Yea, I checked and I have udev properly emerged.  I even went back and followed the guide to make sure that everything was in place.  I'm just trying to figure out why the physical address of my mouse is listed as such.  (from my above post)

----------

## Taily

Yes, well that confused me too at first, but it shouldn't matter..

I upgraded my system today (a freshly bootstrapped system) and found my output of devices to be same as yours and /dev/input/event1 still works as my mouse!

----------

## Zyzzyva100

What version of xorg are you running.  I read in a guide for the mx1000 mouse that 6.8.2 doesn't have proper support for xorg, and that is the latest version that gentoo users are stuck with via emerge.

----------

## Taily

# mkdir /etc/portage

# echo "x11-base/xorg-x11 ~x86" >> /etc/portage/patckage.keywords

# emerge xorg-x11

 :Smile:  xorg-6.8.99.15 is what I'm running..

----------

## Zyzzyva100

Well at least I know what my problem is now.  I figured out how to get that emerged, and then updated world, which then appeared to break my system.  After doing a little digging, however, it looks as though 6.8.99 and the ati-drivers don't play well together (or the DRI and ati cards don't play well).  So I had to go back to 6.8.2.  When I have more time I will have to see if anyone has found a workaround for the ati card.  Otherwise, my girlfriend can have my 9800 and I will just get an nvidia card (she needs a new card anyway, good way to justify the purchase)

----------

## Zyzzyva100

Aha, Finally got evdev working.  I updated to 2.6.12-r10.  I doubt that was the problem, but I must have been missing something when reinstalling the kernel.

Still can't get it to work with PS/2, even after the patch (which I can only assume was applied correctly, because when attached via PS/2, if I use the Identifier MX1000 it works, but doesn't when attached via USB).  Anyway, the mouse buttons all work, except the horizonal scroll actions still go up and down, but thats ok, I never use them anyway.  The only other button that doesn't work is the application switcher, but again I never used that.

I would, however, like to get more of the keyboard buttons working.  Right now I enabled the Logitech Cordless Desktop Pro keyboard profile in KDE, and the scroll wheel and volume wheel +mute work on the keyboard, but that is it.

How exactly do I go about getting the other keys to work, I am a bit unsure as to where to put the code you have listed for the keyboard.

For what its worth, here is my xorg.conf for the mouse and the xmodmap I use to get it working, in case anyone else wants to just go the USB route.

```
Identifier      "Mouse1"

        Driver          "mouse"

        Option          "Protocol"      "evdev"

        Option          "Dev Name"      "Logitech USB Receiver"

        Option          "Dev Phys"      "usb-0000:00:02.0-1/input1"

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

        Option          "Buttons"       "12"

        Option          "ZAxisMapping"  "11 12"

        Option          "Resolution"    "800"

        Option          "CorePointer"

```

and

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

----------

## Zyzzyva100

Well I discovered a few more buttons work by mapping them as shortcut keys (calculator button, email).  The play, stop, forward and backwards media keys all have button pushes, but aren't associated with anything.  I would still like to figure out how to do this properly rather than bits and pieces at a time.

----------

## Taily

The purpose of my guide was just to get the buttons to work, sorry.

I did write however "To assign commands to button presses please read on using xev and xbindkeys"

And incase you want my .xbindkeysrc then:

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

"wget 'http://192.168.1.2/xbmcCmds/xbmcHttp?command=pause' --spider"

c:162

#"mpc next"

"wget 'http://192.168.1.2/xbmcCmds/xbmcHttp?command=playnext' --spider"

c:153

#"mpc prev"

"wget 'http://192.168.1.2/xbmcCmds/xbmcHttp?command=playprev' --spider"

c:144

#"mpc stop"

"wget 'http://192.168.1.2/xbmcCmds/xbmcHttp?command=stop' --spider"

c:164

#"amixer -c 0 set PCM,0 2%+"

"x=`links -dump 'http://192.168.1.2/xbmcCmds/xbmcHttp?command=getvolume' | cut -d ' ' -f5`;x=$(( $x+5 ));satsi='http://192.168.1.2/xbmcCmds/xbmcHttp?command=setvolume&parameter='$x;wget --spider $satsi"

c:176

#"amixer -c 0 set PCM,0 2%-"

"x=`links -dump 'http://192.168.1.2/xbmcCmds/xbmcHttp?command=getvolume' | cut -d ' ' -f5`;x=$(( $x-5 ));satsi='http://192.168.1.2/xbmcCmds/xbmcHttp?command=setvolume&parameter='$x;wget --spider $satsi"

c:174

"if [ "`amixer -c 0 cget name='Master Playback Volume' | grep : | sed 's/^.*=\([^,]*\).*$/\1/'`" = "31" ];then amixer -c 0 set Master,0 0; else amixer -c 0 set Master,0 100; fi"

c:160

"thunderbird"

c:236

"amsn"

c:172

"xcalc"

c:161

"xine"

c:246

"gqview"

c:171

"rox"

c:235

"xkill"

c:182

"eject"

c:204

"sudo /etc/init.d/mpd restart"

c:197

"mpc random"

c:184

"gmpc"

c:237
```

and my .xinitrc:

```
xset m 1 2 -dpms s 0

sudo setkeycodes e014 179 e013 221 e015 202 e055 157 \

        e011 203 e075 217 e074 212 6a 160 e004 180 \

        6b 140 e003 177 e002 178 6c 168 6e 190 6d 183 \

        e001 184 e03b 59 e03c 60 e03d 61 e03e 62 \

        e03f 63 e040 64 e041 65 e042 66 e043 67 \

        e044 68 e057 87 e058 88 e02d 170 e02f 161 \

        e031 185 e078 167 e02c 186 e025 187 e026 188

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

xbindkeys

/usr/bin/fvwm2
```

And if you're telling me all buttons don't produce events then you haven't applied the kernel patch correctly, also you might want to compile psmouse as a module (sometimes, for me, it doesn't work if it 's not a module).

----------

## Kovid

I have both mouse and keyboard plugged into PS/2 ports, with the logips2pp patch applied. The keyboard works well, however neither the scrollwheel nor the horizontal wheel events are registering in xev. The funny thing is that they do register in evtest. Here's the relevant section of my xorg.conf

```

Section "InputDevice"

   Identifier                   "MX1000"

   Driver                       "mouse"

   Option "Protocol"            "evdev"

   Option "Device"              "/dev/input/event3"

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

   Option "Buttons"             "12"

   Option "Resolution"          "800"

EndSection

```

EDIT: Nevermind I just had to add

```

Option "ZAxisMapping" "9 10 11 12"

```

to the above section

----------

## curantil

The patch doesn't seem to be available anymore on wget http://130.232.30.60:3800/logips2pp.diff .

Is it somewhere else available?

Will this patch also work for LX 300 keyboards?

----------

## Taily

Well it's my private server, sorry for it not being online 24/7 four weeks a month and 12 months a year  :Smile: 

I don't know when you tried but it's defienetly online right now.

And it's not a patch for the keyboard, it will have NO affect on the keybaord WHAT SO EVER  :Smile: 

----------

## dpetka2001

```
6. This is to make all multimedia buttons recognized in X:

       # setkeycodes e014 179 e013 221 e015 202 e055 157 \

        e011 203 e075 217 e074 212 6a 160 e004 180 \

        6b 140 e003 177 e002 178 6c 168 6e 190 6d 183 \

        e001 184 e03b 59 e03c 60 e03d 61 e03e 62 \

        e03f 63 e040 64 e041 65 e042 66 e043 67 \

        e044 68 e057 87 e058 88 e02d 170 e02f 161 \

        e031 185 e078 167 e02c 186 e025 187 e026 188 
```

where does one do this?? in console?? and can i just cp it or do i have to set each entry manually on its own?? i mean

```
setkeycodes e014

seykeycodes 179

setkeycodes e013

etc

etc
```

?? could someone clear this up?? thanks...

----------

## dpetka2001

also 

```
cat logips2pp.dif | patch -p3
```

tells me 

```
cat: logips2pp.dif: No such file or directory
```

what should i do??

Edit: Forget about that...there was a "f" missing in the end...how about the previous post that i wrote??

----------

## dpetka2001

did what the guide suggested but i couldn't start KDE afterwards...trying to startx gives an error 

```
cannot register MX1000 with evdev brain
```

what kind of error is that?? in addition i tried to get back to my old configuration but i can't get the mouse scroll to work even though my settings in xorg.conf are the same...i didn't compile the kernel without the event interface support but do you think that my problem relies there?? and finally is there any way i could just unpatch the kernel if i wanted?? or i should have saved the last .config in order to move back to my previous settings??

----------

## dpetka2001

isn't anyone watching this topic?? some help would really be appreciated...

----------

## dpetka2001

bump

----------

## RobNyc

Yes finally

----------

## dpetka2001

finally what?? would you happen to know anything about my problem??

----------

## RobNyc

 *dpetka2001 wrote:*   

> finally what?? would you happen to know anything about my problem??

  Nope sorry, I said finally somebody is using what im using I gotta try these settings to see

----------

## vorgas

I have created a utility for my Logitech Media Mouse that works great. It reads raw USB events.

I suppose this could also work for the keyboard, but I may need some feedback to get that working.

The location for the utility is

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

Support for that utility is located at

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

Be sure to post any questions you have at the SUPPORT forum as that's the only one I automatically

monitor. Requests to this forum regarding help for mmm3k will NOT be answered.

----------

## dpetka2001

is anyone of the guys who have successfully used this guide looking at this topic anymore?? so to help us newbies solve our problems to the path of having a fully functional MX3100 set??

----------

## Kovid

IIRC the evdev brain error happens when you dont use the right device node. It has to be one of the /dev/input/evdev nodes and not /dev/inputmice,mouseX etc

----------

## dpetka2001

the thing is that i had the right evdev node as indicater by /proc/bus/input/devices...but when i tried to startx it just gave me a blank screen...have you succeeded in making it work...do you have the same set yourself??

----------

## Kovid

yes and yes...when it gave you a blank screen what was in your logs?

----------

## dpetka2001

sorry i have been away from my computer during the holidays and wasn't able to respond back...could you help me out as i go one step at a time following this guide to make my set fully working?? did you follow this guide to make yours work??

----------

## dpetka2001

bump!!

----------

## Kovid

 *dpetka2001 wrote:*   

> sorry i have been away from my computer during the holidays and wasn't able to respond back...could you help me out as i go one step at a time following this guide to make my set fully working?? did you follow this guide to make yours work??

 

Well where are you stuck atm?

A quick summary of what you need to do:

1) Apply the kernel patch and boot into the new kernel

2) Switch to xorg 6.9/7.0

3) Connect the mouse and keyboard via ps2 ports

4) Add the following sections to you xorg.conf

```

Section "InputDevice"

   Identifier                   "MX1000"

   Driver                       "evdev"

   #Option "Dev Name"           "Logitech USB Receiver"

   #Option "Dev Phys"            "usb-0000:00:1d.2-2/input1"

   Option "Device"              "/dev/input/event3"

   Option "Buttons"             "12"

EndSection

Section "InputDevice"

   Identifier                 "MX3100"

   Driver                     "kbd"

   #Option "Dev Name"         "Logitech USB Receiver"

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

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

   Option                     "XkbModel" "logiinkse"

   Option                     "XkbLayout" "us"

EndSection

```

Don't forget to modify your ServerLayout section accordingly.

6) It may be a good idea to have an extra mouse and keyboard connected via USB and set to be the primary input devices until you have the mx3100 working. This ensures that X will start

----------

## dpetka2001

```
2) Switch to xorg 6.9/7.0
```

in the first post of this topic is says that i do not necessarily need to switch to xorg modular...so i followed the steps for doing this in xorg 6.8.2-r6...isn't this compatible??

----------

## Kovid

6.8 didn't work for me.

----------

## dpetka2001

so would you suggest i should switch to modular xorg?? following this guide would be enough to upgrade to modular xorg?? is there anything else i should know before trying to switch to modular xorg??

----------

## Kovid

Well, it would be easier for me to help you with your problems if you were using modular X. However, switching to modular X is not trivial. You should be prepared to spend some time and energy getting things to work. Also, several packages in portage are not ported to modular X, so some things will break.

As I said it didn't work for me with 6.8, but then, I didn't try too hard either.

----------

## Vouksh

Ok, I got this thing working perfectly:

1. I applied the patch and recompiled my kernel (I'm using Nitro-Sources 2.6.14)

2. I dropped back to command-line, and unmasked xorg-x11 6.8.99

```
# echo "=x11-base/xorg-x1-6.8.99.15-r4" >> /etc/portage/package.unmask
```

3. I emerged xorg-x11-6.8.99.15-r4

```
# ACCEPT_KEYWORDS="~x86" emerge =x11-base/xorg-x1-6.8.99.15-r4 #replace ~x86 with your arch
```

4. I rebooted, and then edited /etc/X11/xorg.conf

Here's my mouse settings:

```

Section "InputDevice"

   Identifier   "Mouse1"

   Driver   "evdev"

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

   Option "Buttons" "12"

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

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

   Option "Resolution"   "256"

EndSection

```

and started xdm

```
# /etc/init.d/xdm start
```

and added this to my ~/.xbindkeysrc

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

m:0x10 + b:9

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

m:0x10 + b:10 

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

x:0x10 + b:11

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

x:0x10 + b:12

"mpc toggle"

c:162

"mpc next"

c:153

"mpc prev"

c:144

"mpc stop"

c:164

"amixer -c 0 set PCM,0 2%+"

c:176

"amixer -c 0 set PCM,0 2%-"

c:174 
```

and bada-boom, done, with working forward-back buttons and cruiscontrol.

----------

## dpetka2001

i can't get it to work...i followed the instructions to the letter but couldn't get the desired result...first i patched my kernel and then compiled it with event interface support built in the kernel...then emerged xvkbd and xbindkeys, edited my xorg.conf and put those lines suggested by you in the mousefix.sh...is this the right order i should do it?? i did reboot into the new compiled kernel after compiling it...anything else i should do?? i am using xorg 6.8.2...

----------

## Vouksh

you gotta use 6.8.99 and up. the rest don't work with evdev. I had that exact problem before i upgraded and 6.8.99 is quite stable so far.

----------

## dpetka2001

are you sure completely sure about this?? i read in another post that it can be done...unfortunately i seem to do something wrong and don't know what it is...

----------

## Vouksh

the HOWTO that covers using evdev on 6.8.2 only works on 2.6.12 kernels as far as i can tell. All I know is that 6.8.99 is stable enough on my setup (and works perfectly with evdev) and that evdev didn't work on 6.8.2.

----------

## dpetka2001

according to another user mentioned in the other topic he uses xorg 6.8.2 and gentoo-sources 2.6.14...there has to be a way logically...

----------

## Vouksh

if your so adamant on using 6.8.2, go ahead and fight with it. I was simply saying that switching to 6.8.99 was easiest for me. I know it's a huge thing to compile, but if you want those buttons to work, i don't think there's any other way. You have the same problem I had. I fought for like 2-3 days with my computer before I switched. And for me, xorg-x11 only takes about half an hour to an hour to compile, if that.

----------

## WladyX

I got it to work with 6.8.2 and 2.6.14 (patched).

----------

## Vouksh

You did? Hmm, I guess my setup just didn't like evdev... Oh well, I'm just happy I can use the buttons on my mouse  :Smile: 

----------

## Taily

Hmm, i just not noticed that people were actually still posting in this topic! Sorry guys, hadn't noticed at all. I will try to update the guide on the first page as it's pretty messy.

I'll also try to help you guys who still havn't gotten you're devices working properly in a while (don't have time right now).

Should perhaps post it in documentation this time :/

----------

## dpetka2001

@Taily have you tried the steps you recommended with xorg 6.8.2 to see if it's actually working?? i would really appreciate some help whenever you have time...but please do have a look at this topic once in a while since there are people who would really like to get it to work (including me)...thanks in advance and i'm looking forward to your updated guide...

----------

## Taily

Indeed i have had it working with Xorg 6.8.2, however reason i don't use it is that everything didn't work as well as in later versions, what kind of problems are you getting exactly?

----------

## dpetka2001

i'm running xev to get my buttons recognized but it doesn't recognize them all...anyway right now i have it working without the patch but the Cruise Control button doesn't work...i don't care much about the multimedia buttons in the keyboard so   much but i would like to get the mouse fully working...thanks...

----------

## dpetka2001

any help for the Cruise Control button?? i also have read somewhere about another utility called "LineAK"...ever heard of it?? maybe i should give it a try aswell...

----------

## Taily

Up to you if you use lineak or not, for me it served no prupose as it does not help with recognition in any way, all it does is assign commands to certain key/mouse presses. And at the end of the day it's all the same if you use imwheel (i think that's the name anyway), lineakd or xbindkeys

And i strongly recomend using an xorg version above 6.8.2! (Due to evdev)

About the cruise control buttons, before my upgrade to a new motherboard (screws up with my mouse in ps/2 and linux :/) as far as i remember (didn't use them too often) were working pretty well. As for having it plugged to the usb, you could try taking a look at mmm3k

----------

## KRA

Please help, I'm getting desperate.

First off I got my keyboard and mouse "working"  in xorg7

I'm using evdev driver for mouse, and kbd driver for keyboard (evdev crash gnome for keyboard)

everything except those extra keys on the keyboard works, every mousebutton gives a respond in xev

The reciever is connected to the USB port.

By default left,right,middle and wheel scroll works fine with mouse. wheel left/right works as left/right and back/forward in browser, not very pratical. The tumb buttons don't do anything, except act almost like left mouse button.

I've tried to use the xbindkeys and xvkbd to map the thumb button and the wheel left/right like:

```
# Backward and Forward buttons

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

  m:0x10 + b:8

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

  m:0x10 + b:9

```

but the results are not at desired.

(also when running Xgl, the mouse is detected as a 7 button mouse, but that's another issue)

----------

