Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

My mouse has an unfortunate feature. On the left side, right where my thumb sits ever so gently when I'm using it, there are two buttons that are so sensitive a mere brush will make them click.

I'm talking of course about the pesky forward/back buttons which, if pressed in a browser, can make watching that hour-long youtube video that much harder. Is there a way for me to disable them? Would this be handled by X?

share|improve this question
2  
I'm almost sure that you can turn it off using xinput, but I don't know details... –  pbm Sep 12 '11 at 15:10
    
This question and the answer also applies to back / forward buttons on keyboards, e.g. on Thinkpad keyboard –  Daniel S. Sterling Mar 20 '13 at 13:32

2 Answers 2

up vote 16 down vote accepted

Start the program xev in a terminal. Move the mouse inside the xev window; you'll see a lot of stuff scroll by. Press each button in turn. Then switch back to the terminal window and press Ctrl+C. xev shows a description of each input event, in particular ButtonPress and ButtonRelease for mouse clicks (you'll also see a number of MotionNotify for mouse movements and other events).

It's likely that your forward and back buttons are mapped to mouse buttons, maybe buttons 8 and 9:

ButtonPress event, serial 29, synthetic NO, window 0x2e00001,
    root 0x105, subw 0x0, time 2889100159, (166,67), root:(1769,98),
    state 0x0, button 8, same_screen YES

If that's the case, remap these buttons to a different action in your browser; or to disable the buttons altogether, put these lines in a file called ~/.Xmodmap:

! Disable buttons 8 and 9
pointer = 1 2 3 4 5 6 7 0 0

Test it with the command xmodmap ~/.Xmodmap. Most desktop environments and window managers run this command automatically when you log in; if yours doesn't, arrange for it to run when X starts.

It's also possible that your mouse sends a keyboard event when you press these buttons:

KeyPress event, serial 32, synthetic NO, window 0x2e00001,
    root 0x105, subw 0x0, time 2889100963, (957,357), root:(2560,388),
    state 0x0, keycode 166 (keysym 0x1008ff26, XF86Back), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

In that case, put lines like these in ~/.Xmodmap:

keycode 166 = NoSymbol
keycode 167 = NoSymbol
share|improve this answer
    
No_Symbol generated an error for me on Fedora 18: bad keysym name 'No_Symbol' in keysym list -- but using NoSymbol instead works fine –  Daniel S. Sterling Mar 20 '13 at 13:33
    
Thank you both for the question and the answer. Incidentally, to reduce the insanity of the xev output, just pipe it through grep: xev | grep -A2 ButtonPress ; this will leave all the mouse motion events, focus events, etc. and just show the ButtonPress events, which is all you need here. –  Eric Lambart Sep 19 at 18:50

You could use xev to find which key maps the button maps to and use the code below (in $HOME/.xsessionrc) to map it to something you are not using.

xmodmap -e 'keycode THE_CODE_HERE = XF86Launch1'

Alternatively, you should be able to do that from a GUI of you use Gnome/KDE or any other modern desktops.

Yet another option would be to hack the xorg.conf to remove the button definitions.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.