# Programmable mouse works like keyboard



## kAldown (Nov 18, 2014)

Hello there.

I got an old problem (link) with my quite old mice - Razer Lachesis.

Tried to solve this by myself, but after some messing around all just get worse.

*The problem itself*:


```
% dmesg | grep kbd

kbd1 at kbdmux0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64,0x62,0x66 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
ukbd0: <Razer Razer Lachesis, class 0/0, rev 1.10/21.00, addr 3> on usbus1
kbd2 at ukbd0
```

*My steps for solving the problem*:
I just don't know how to aggregate this information, so in a simple way, after reading ums(), kbd(), ukbd(), atkbd(), kbdcontrol(), kbdmux():

I started to think that this is because of kbdmux, and I should disable this by
`echo 'hint.kbdmux.0.disabled="1"' | sudo tee -a [I]/boot/device.hints[/I]`

This will make me suffer because *even *after bring it back, there were much more crazy things in

```
% dmesg | grep kbd

kbd1 at kbdmux0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64,0x62,0x66 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
ukbd0: <Razer Razer Lachesis, class 0/0, rev 1.10/21.00, addr 3> on usbus1
kbd2 at ukbd0
ukbd0: at uhub2, port 2, addr 3 (disconnected)
ukbd0: <Razer Razer Lachesis, class 0/0, rev 1.10/21.00, addr 1> on usbus0
kbd2 at ukbd0
module_register_init: MOD_LOAD (kbdmux, 0xffffffff805c1040, 0) error 6
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64,0x62,0x66 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
ukbd0: <Razer Razer Lachesis, class 0/0, rev 1.10/21.00, addr 1> on usbus0
kbd1 at ukbd0
ukbd0: at uhub0, port 1, addr 1 (disconnected)
ukbd0: <Razer Razer Lachesis, class 0/0, rev 1.10/21.00, addr 6> on usbus1
kbd1 at ukbd0
kbd1 at kbdmux0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64,0x62,0x66 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
ukbd0: <Razer Razer Lachesis, class 0/0, rev 1.10/21.00, addr 3> on usbus1
kbd2 at ukbd0
kbd1 at kbdmux0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64,0x62,0x66 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
ukbd0: <Razer Razer Lachesis, class 0/0, rev 1.10/21.00, addr 3> on usbus1
kbd2 at ukbd0
kbd1 at kbdmux0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64,0x62,0x66 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
ukbd0: <Razer Razer Lachesis, class 0/0, rev 1.10/21.00, addr 3> on usbus1
kbd2 at ukbd0
```
And all of this just in boot time, without starting Xorg, and I don't touch anything, just in case of why dmesg tell's about disconnect ? Each reboot list grows.

Then tried to


```
% su -
root@dell15:~ # kbdcontrol -A ukbd0 < /dev/kbdmux0
/dev/kbdmux0: Device busy.
root@dell15:~ # kbdcontrol -A kbd2 < /dev/kbdmux0
/dev/kbdmux0: Device busy.
root@dell15:~ # kbdcontrol -A kbd1 < /dev/kbdmux0
/dev/kbdmux0: Device busy.
```
No chance.

Some additional info:​
This post recommend to patch /etc/devd/usb.conf
This post also recommend make a patch, but for /usr/src/sys/dev/usb/input/ums.c , which strongly different from the post 2007 year dated one (as soon as I'm not too familiar with programming, and before make my system completely useless, I stopped makes everything worse).
After messing with this, my <F1>..<F12> buttons won't response, but media buttons works. <F5> makes audio/clementine-player play the music.
If detach mouse, atkbd won't response, even if there is no message about this in dmesg.
If I erase Keyboard0 from xorg.conf, and start x11-wm/xfce4 and then detach mouse, I can use the keyboard, but text will appear on the top of the screen, and there is no chance to make a screenshot (picture looks like nothing happened).
In the console everything works great - I can attach/detach the mouse, and atkbd will work in the normal way. Problem starts after booting the WM.
Problem repeats after changing the laptop from an old Dell d610, to a new Dell Inspiron 15 - 3000
Will be very appreciate for any kind of help. I believe that I'm not the only one who has a composite mouse. And as I mentioned - MS mouses have equal problems.

Any suggestion? 

Thanks!

Off topic: funny thing is - yesterday I spent the whole night playing with Bluetooth utilities created by Maksim Yevmenkin, now I am stuck with kbdmux which is also a Maksim Yevmenkin creation. That guy definitely has a sense of humor =).


----------



## kAldown (Dec 5, 2014)

Don't know how not to let FreeBSD 10.1 thinks wrong that Razer Lachesis is a both ukbd and mouse. So just did this (according to the handbook):

```
ServerLayout:
    Option "AutoAddDevices" "false"
```
After this I can detach my mouse, and atkbd0 still works.


----------

