mx5000tools
Control your Logitech MX 5000 keyboard
The Logitech Cordless Desktop MX 5000 Laser comes
with a keyboard that has a nice LCD. But Logitech did not provide any
way to control the LCD on a Free operating system. These tools make it
possible to control what is displayed on the LCD and to use some of
the keys that are not recognized by the stock Linux HID driver.
mx5000tools contains three parts:
- libmx5000: This library contains all of the code
that directly interacts with the keyboard. Other applications can be
implemented while using it. The only dependencies it has are a working
libc, the Linux kernel and the netpbm library.
- mx5000-tool: This simple command-line tool allows
users to control what is displayed on the LCD. It only depends on
libmx5000.
- mx5000d: Some of the "special" keys on the MX 5000
are not properly handled by the HID driver present in the Linux 2.6.17
kernel (Update: as of 2.6.23, this seems to still be needed).
This daemon listens for those events and emits corresponding
events on a uinput event device (this requires the UINPUT driver in
the kernel). It also translates the zoom scroller events into scroll
wheel events. It depends on glib.
The latest version (0.1.2) can be downloaded at the Gna! download
area. You can also access the current SVN tree. You can submit
bugs on the tracker.
TODO
- Understand how to control the content of the menus
- Get from the kernel the events generated by some of the keys such
as the a,b,c,d keys, the sync key, the im status key, the webcam key
and the 4 keys below the LCD.
- Get information from Logitech about any other feature not exposed
by SetPoint
- Add nice dbus/galago/etc powered features in mx5000d to have
similar functionality to the windows Setpoint software.
I'd like to thank E. Heidstra for his work on mx5000lib for
Microsoft .NET which was an inspiration for this program. And also for
all the work he did reverse engineering most of the Logitech
stuff.
The author of this program is Olivier CrĂȘte.