Random Wisdom

Tag: mouse

Turn on 800DPI mode for the Logitech MX-510 Mouse

by on Aug.27, 2005, under Hardware, How To ..., Linux, Software

5 easy steps:

1. Get and install the Logitech Applet from here or directly from here

2. Install the poper udev rules:
Create a file logitech-mice.rules under /etc/udev/rules.d/ with the following contents:

[darkknight@darkworld rules.d]$ cat logitech-mice.rules
BUS="usb", SYSFS{idVendor}="046d", SYSFS{idProduct}="c00e", PROGRAM="/usr/local/bin/logitech_applet -e -s 800"
BUS="usb", SYSFS{idVendor}="046d", SYSFS{idProduct}="c00f", PROGRAM="/usr/local/bin/logitech_applet -e -s 800"
BUS="usb", SYSFS{idVendor}="046d", SYSFS{idProduct}="c012", PROGRAM="/usr/local/bin/logitech_applet -e -s 800"
BUS="usb", SYSFS{idVendor}="046d", SYSFS{idProduct}="c024", PROGRAM="/usr/local/bin/logitech_applet -e -s 800"
BUS="usb", SYSFS{idVendor}="046d", SYSFS{idProduct}="c01b", PROGRAM="/usr/local/bin/logitech_applet -e -s 800"
BUS="usb", SYSFS{idVendor}="046d", SYSFS{idProduct}="c025", PROGRAM="/usr/local/bin/logitech_applet -e -s 800"
BUS="usb", SYSFS{idVendor}="046d", SYSFS{idProduct}="c01d", PROGRAM="/usr/local/bin/logitech_applet -e -s 800"
BUS="usb", SYSFS{idVendor}="046d", SYSFS{idProduct}="c031", PROGRAM="/usr/local/bin/logitech_applet -e -s 800"

Change the file permissions:

[darkknight@darkworld rules.d]$ sudo chown root.root logitech-mice.rules
[darkknight@darkworld rules.d]$ sudo chmod 644 logitech-mice.rules && ls -l
total 24
-rw-r--r--  1 root root  146 Apr 13 20:30 10-wacom.rules
-rw-r--r--  1 root root 7406 May 21 05:45 50-udev.rules
-rw-r--r--  1 root root  888 Sep  6 23:12 logitech-mice.rules

3. Modify /etc/X11/xorg.conf as follows to support the thumb buttons:

Section "InputDevice"
    Identifier  "Mouse0"
    Driver      "mouse"
    Option      "Protocol" "ExplorerPS/2"
    Option      "Device" "/dev/input/mice"
    Option      "ZAxisMapping" "6 7"
    Option      "Buttons" "7"
    Option      "Emulate3Buttons" "no"
EndSection

4. Create a script xmouse.sh under /etc/X11/xinit/xinitrc.d with the following contents:

[darkknight@darkworld xinitrc.d]$ cat xmouse.sh
#!/bin/bash

/usr/X11R6/bin/xmodmap -e "pointer = 1 2 3 6 7 4 5"

This ensures that the scrolling funtion is correctly assigned to the wheel and not to the thumb buttons.

Make sure that the file permissions are correct:

[darkknight@darkworld xinitrc.d]$ sudo chmod 755 xmouse.sh && ls -l
total 16
-rwxr-xr-x  1 root root 1579 Apr 11 13:43 xinput.sh
-rwxr-xr-x  1 root root   81 Sep  2 17:36 xmbind.sh
-rwxr-xr-x  1 root root   66 Sep  6 23:41 xmouse.sh

5. Reboot (Or simply unplug/re-plug mouse and restart X)

Happy surfing! Got the udev rules from the Ubuntu Forum (modified the PROGRAM line to use logitech_applet instead of lmctl).

Edit [July 30, 2007]: It has been a while since the steps above were posted. The syntax of UDEV rules have changed much since then. The updated rule is (for my MX-510):

$ cat /etc/udev/rules.d/60-logitech-mouse.rules
SUBSYSTEMS=="usb", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c01d", RUN+="/usr/local/bin/logitech_applet -e -s 800"

Device details necessary for writing UDEV rules can be discovered using (substitute /dev/input/mouse1 with path to device of interest):

# udevinfo -a -p $(udevinfo -q path -n /dev/input/mouse1)

Update [19th Nov. 2009]: On Fedora 12 (X.Org X Server 1.7.1), the configuration needed to get the thumb buttons working is:

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "ExplorerPS/2"
        Option      "Device" "/dev/input/mice"
        Option      "Emulate3Buttons" "no"
        Option      "Buttons" "9"
        Option      "ZAxisMapping" "4 5"
EndSection

It seems that it is no longer necessary to remap the buttons using xmouse.sh.

Leave a Comment :, , more...