Gentoo Wiki




Logitechs MX5000 keyboard comes with a build-in LCD and a set of special keys that will not work out of the box. This guide attempts to supply the necessary information to use those features with mx5000tools by Olivier CrĂȘte. It requires basic Linux knowledge (Kernel installation related tasks, basic editing of configuration files, manual compiling).

What will work after following this HOWTO:

These keys will not work (yet):


Kernel Configuration

First of, the Kernel need has to support evdev, uinput and HID devices. You can build the support into the kernel or as module. In older kernel versions the HID-Device is located at ---> Device Drivers ---> USB support.

Linux Kernel Configuration: evdev and hiddev
 Device Drivers  ---> 
  Input device support  --->
       <*>   Event interface
       [*]   Miscellaneous devices  --->
          <*>   User level driver support
  [*] HID Devices  --->
       <*>   USB Human Interface Device (full HID) support
       [*]     /dev/hiddev raw HID device support

If you have build the features into the kernel, install the new kernel and reboot. Otherwise make load the modules.

Installing mx5000-tools

Since mx5000-tools are not in the portage yet, you will have to download and install it manually.

Download mx5000-tools


Unpack the source code

tar xvf mx5000tools-0.1.1.tar.gz

Change to the source directory and build mx5000-tools


After mx5000-tools is compiled without errors you should install it for system wide use. To do this you will need root permissions.

make install

Since mx5000-tool and mx5000d are installed to /usr/local/bin and your shell does not check this directory for executable files by default, you will have to add this directory to your PATH variable.

echo $PATH 

lists the directories your shell checks for executable file. If /usr/local/bin is included in this list, you can skip the next step.

echo 'PATH="/usr/local/bin"' >> /etc/env.d/99local

Check if mx5000-tools is working

Now you can test if mx5000-tool is working.

mx5000-tool -d /dev/hiddev* -b # this will make your keyboard beeb.

You should substitute `*` with the correct device number, normally that is '0' if you have no other devices using hiddev installed.

mx5000d -d /dev/hiddev* -f 

Now you should see messages when touching the zoom-bar or pressing the 3 buttons that are located left of the "SYNC"-button or the top-right "messenger"-button.

Granting access to non-root users

Until now, mx5000-tool and mx5000d only work when run with root permissions - thats not very usable, so lets change it. mx5000-tool needs to access /dev/hiddev* so you will have to create a udev rule to grant normal users access to this device.

File: /etc/udev/rules.d/10-local.rules
# mx5000d rules
KERNEL=="hiddev0" , SUBSYSTEM=="usb" , MODE="0664" , GROUP="users"

This rule will allow all members of the "users" group to read from and write to /dev/hiddev0. Alternatively you can choose another group like "plugdev" or "wheel" if you want to grant only restricted access.

Examples for Usage

Display the name of the current user on the keyboards LCD.

mx5000-tool -d /dev/hiddev0 -n $USERNAME 

Set LCD time to current system time

mx5000-tool -d /dev/hiddev0 -t now 

Change temperature unit to Celsius or Fahrenheit

mx5000-tool -d /dev/hiddev0 -c # Celsius
mx5000-tool -d /dev/hiddev0 -f # Fahrenheit

Script for automation

Retrieved from ""

Last modified: Sun, 07 Sep 2008 01:54:00 +0000 Hits: 4,718