MAY
21
2006

Another update for mx610hack

If you don't care about Logitech MX610 mouse support, you can safely stop reading now...

I released an update to the mx610hack code about two months ago, but forgot to blog about it. I did announce it on the lomoco-dev mailing list, but there doesn't appear to be an archive. So you get it again.

I've figured out the IM led now. As before, you send 6 bytes to report ID 0x10
(16), followed by the "confirm" message.

The magic values are:
unsigned char confirm[6] = { 0x01, 0x80, 0x52, 0x00, 0x00, 0x00 };
unsigned char email_off[6] = { 0x01, 0x80, 0x52, 0x06, 0x00, 0x00 };
unsigned char email_on[6] = { 0x01, 0x80, 0x52, 0x05, 0x00, 0x00 };
unsigned char email_pulse[6] = { 0x01, 0x80, 0x52, 0x04, 0x00, 0x00 };
unsigned char email_flash[6] = { 0x01, 0x80, 0x52, 0x03, 0x00, 0x00 };
unsigned char email_instanton[6] = { 0x01, 0x80, 0x52, 0x02, 0x00, 0x00 };
unsigned char email_instantoff[6] = { 0x01, 0x80, 0x52, 0x01, 0x00, 0x00 };

unsigned char im_off[6] = { 0x01, 0x80, 0x52, 0x00, 0x06, 0x00 };
unsigned char im_on[6] = { 0x01, 0x80, 0x52, 0x00, 0x05, 0x00 };
unsigned char im_pulse[6] = { 0x01, 0x80, 0x52, 0x00, 0x04, 0x00 };
unsigned char im_flash[6] = { 0x01, 0x80, 0x52, 0x00, 0x03, 0x00 };
unsigned char im_instantoff[6] = { 0x01, 0x80, 0x52, 0x00, 0x01, 0x00 };
unsigned char im_instanton[6] = { 0x01, 0x80, 0x52, 0x00, 0x02, 0x00 };

The normal on/off commands (0x05/0x06) give you a slow (ramp-like intensity
change) transition. The 0x02/0x01 values give you step response.

There is a new version (0.3) of mx610hack available:
http://www.frogmouth.net/mx610hack-0.3.tar.gz

Comments

These commands combine. Example:

unsigned char email_pulse_im_flash[6] = { 0x01, 0x80, 0x52, 0x04, 0x03, 0x00 };


By cyp at Wed, 05/24/2006 - 05:43

Hello,
sorry for this blog entry, but i found no other way to ask you some question. I have search via google for some development infos about this mouse MX610 and found only this site here.

Where you get this information?
I want to build a program for WindowsXP and searching for more information than in your source code, for example detection of a mouseclick, for this mouse.

I hope you can give me some little hints.

best regards
Peter


By lastwebpage at Sun, 06/11/2006 - 01:09

I'm trying to develop a kernel module to catch all buttons modifying lmctl_usb by David Oliveira (http://daemon.prozone.ws/~david/projects/lmpcm_usb/)
All the non standard buttons are reported as keys
I'd also like to bind leds control to 2 /proc file.
But it's my first module so it can take a long time...


By casell at Thu, 06/15/2006 - 08:50

Link appears to be dead. Can someone host the file again?

Thanks


By clevindn1 at Sun, 07/30/2006 - 20:07

Great work! I'd love to be able to get those lightsies working. Is there anywhere where we can download your mx610hack? frogmouth.net seems to be unavailable. If you're looking for hosting, I can put the file online on my own server if you'd like.


By sybren at Mon, 07/31/2006 - 16:55

A quick rewrite in Python. Severe ugliness due to ioctl structs.

http://pastebin.com/f2396f16e

And how to hook it up to gaim messages and evolution emails:

http://pastebin.com/f450c3855


By bugmenot at Mon, 08/06/2007 - 18:48