X-Mouse Button Control is a free tool that enables you to put your mouse to better use, taking full advantage of each of its buttons. Used at its most basic, the program can be used to assign a range of different functions to mouse buttons, as well as the scroll wheel – the wheel, for example, could be used to scroll through documents, or adjust system volume levels.

Buttons can be configured to launch programs, open documents, perform specific functions within particular applications and much more. A scripting language can be used to create macros that simulate key presses which can then be assigned to buttons. No matter how many buttons you mouse has, X-Mouse Button Control enables you to create a huge number of options.

Each button can be assigned a primary function, but by creating different ‘layers’, activated by pressing modifier keys, even more options can be configured. The program can be used to assign different functions to the same mouse button depending on which application currently has focus, making this an incredibly versatile tool for the power user. X-Mouse Button Control can seem overwhelming to start with, but stick with it, and you’ll find that it is an immensely powerful utility.

Version 2.15  brings (Full Changelog):

Fix bug when scrolling the button action combo boxes.
Renamed all simkey tags in the help screen so the text is consistent.
Add button name to the button chording window title.
Replace {layer:back} with {layer:previous}. {layer:next} does not wrap as it should.
Add ability to abort button chording block after a configurable delay.
Add ability to allow the user to (un)tick profiles without changing the selection.
Fix Balloon Message not sent when switching layers via simulated keystrokes.
Fix global hotkeys that have no effect when XMBC is disabled should be disabled.
Removed deprecated simkey tags in help text box (MXSet, MYSet PXSet etc.).
Add ability to remember selected profile and re-select that when opening setup window.
Attempt to fix buttons on layer tab occasionally not drawing properly. Added more logging is any drawing function returns an error. If you get a drawing error, please send me the log (debug not required).
Add a cursor position finder to the simulated keystrokes window.
Add ability to save and restore cursor position in simulated keystrokes.
Add global hotkeys to snap to active window and profile window.
Add Simulated Keystroke macros {MAdd:x,y}, {MSet:x,y}, {MSet:x,y}, {ASet:x,y} to set X and Y position in a single macro command. Added cursor position to the bottom of simulated keystrokes window.
Add {[PX/PY/AX/AY]Set:n} simulated keystroke tags to allow for setting the mouse cursor position relative to the profile/active window.
Add cursor position to the bottom of simulated keystrokes window.
Add Ability to restore default mouse speed when disabling/exiting XMBC
Fix an issue when creating a new profile so it clears chords/simkeys.
Fix bug when chording and profile changes, causing chord to get stuck.
Attempt to fix a crash when the revert layer does not fire.
Add global hotkey to centre the cursor on the primary monitor.
Fix button chording does not work/highlight with tilt wheel.
Fix bug causing Enhance Pointer Precision to stay turned on.
Fix bug relating to CAPSLOCKON/OFF in simulated keystrokes 'During'.
Fix Trying to import a language pack in the XMBC settings folder fails.
Fix XMBC crash when importing settings.
Add ability to run applications from simulated keystrokes {RUN:<>}
Fix ALT-TAB option no longer keeping the task switcher open on Windows 7.
Fix SimKeys (during) with {LAYER:2} does not revert
Fix Auto switch layers not work as expected.
Add ability to slow mouse speed down via a layer modifier key.
Fix Layer next/previous sim keys don't work as expected.
Add Ability to not block mouse button when using Change Movement To Scroll. Including new Change Movement to Scroll configuration window.
Add ability to change the cursors for scrolling & axis locking.
Fix/Improve change movement to scroll so it works better with trackballs.
Add ability to configure the speed for Change Movement to Scroll.
Add mouse speed on a per profile basis.
Add ability to customise the precision for change movement to scroll.
Add ability to clip (lock) the mouse cursor to the profile's main window.


A great way to get more from your mouse, helping you to get things done faster and generally be more productive.