Logitech MX Revolution

From ArchWiki
Revision as of 22:37, 1 June 2012 by Pmav99 (Talk | contribs) (Mouse Wheel Mode)

Jump to: navigation, search

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.

Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어

External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Xorg is able to auto-detect this mouse just fine. However, it has a 17 key mapping:

$ nano /etc/X11/xorg.conf

Edit your mouse section to say something like:

   Section "InputDevice"
       Identifier  "Mouse0"
       Driver      "mouse"
       Option      "Protocol" "auto"
       Option      "Device" "/dev/input/mice"
       Option      "ZAxisMapping" "4 5"
       #Option      "XAxisMapping" "6 7"  #uncomment if you want horizontal scrolling with mouse wheel
       Option      "Buttons"    "17"

Next install the following packages

   pacman -S xbindkeys xvkbd

We'll put all of the settings into ~/.xbindkeysrc

   touch ~/.xbindkeysrc
   nano ~/.xbindkeysrc

You'll want to put in ~/.xbindkeysrc events to send to xvkbd. Here is a sample:

   "/usr/bin/xvkbd -text "\[Alt_L]\[Left]""
     m:0x0 + b:8
   "/usr/bin/xvkbd -text "\[Alt_L]\[Right]""
     m:0x0 + b:9
   "/usr/bin/xvkbd -text "\[Control_L]\[Page_Up]""
     m:0x0 + b:6
   "/usr/bin/xvkbd -text "\[Control_L]\[Page_Down]""
     m:0x0 + b:7

For some reason some combinations of keyboard events refuse to work with certain buttons for me.

m:0x0 refers to your first mouse. The "+b:8" refers to the button you push. Here is a list of all the buttons:

   # Mappings for keys for MX Revo
   # b:1	-	left mouse button
   # b:2	-	left and right mouse button together
   # b:3 	-	right mouse button
   # b:4	-	mouse wheel up
   # b:5	-	mouse wheel down
   # b:6	-	mouse wheel left
   # b:7	-	mouse wheel right
   # b:8	-	back button
   # b:9	-	forward button
   # b:10	-	-none-
   # b:11	-	-none-
   # b:12	-	-none-
   # b:13	-	media wheel up
   # b:14	-	-none-
   # b:15	-	media wheel down
   # b:16	-	-none-
   # b:17	-	media wheel press

To remap the seach button to something instead of search, put something along the lines of the following into ~/.xbindkeysrc Example here is to remap it to alt+f4 to close a window.

   "/usr/bin/xvkbd -text "\[Alt_L]\[F4]""

Alternatively, Gnome will recognize the small middle search button as a keyboard event. Thus, you just have to go into keyboard shortcuts and remap that to something. This is probably the most reliable way to go about using this key.

It is possible to use xmodmap to register the button press as a middle click. Begin by assigning the key event to Pointer_Button 2.

   echo "keycode 225 = Pointer_Button2" >> ~/.xmodmaprc

Now, just create a startup script that feeds that input into xmodmap when your window manager starts. In KDE4 create ~/.kde4/Autostart/middleclick with the following contents.

   xmodmap ~/.xmodmaprc

And do not forget to give it execute permissions.

   chmod +x ~/.kde4/Autostart/middleclick

The trick only works when "mousekeys" are on. So either gnome-keyboard-properties -> Mousekeys -> Enable pointer OR toggle with SHIFT-ALT-NUMLOCK (you want to be able to toggle so you can use the numeric keypad at times). Or in KDE System Settings -> Keyboard & Mouse -> Mouse -> Mouse Navigation -> Check "Move pointer with keyboard (using the num pad)"

Lastly, add xbindkeys to your startup and you should be good to go.

Mouse Wheel Mode

In order to enable or disable mouse wheel's free spinning, you can use revoco. Giving the following command from shell, or, alternatively, putting it in a script executed at the startup should enable/disable free spinning.

# revoco free  # in order to enable free spinning
# revoco click # in order to disable free spinning

More Info can be found here