XMouse Button Control (XMBC) allows you to create application and window specific profiles. This in turn, allows you to re-configure your mouse behaviour for individual applications or windows. For each profile you can also configure up to 5 'layers' of different button configurations which you can switch between using hot-keys or mouse buttons.

By default, profiles are automatically activated as the mouse moves over the defined window or application.
This has many uses, for example:

  • Changing the behaviour of the mouse over certain windows, such as making the mouse wheel change volume when hovering over the system tray or you-tube video.
  • In games which do not natively support the extended, 4th and 5th mouse buttons, you can map keys to each button.

XMBC allows you to change the behaviour of the mouse buttons and scroll wheel. The extensive list of functions available to map to your mouse buttons includes options such as:

  • Send any keys using the 'simulated keystrokes' editor
  • Launch any windows application
  • Clipboard control (Copy/Cut/Paste)
  • Media control (Play/Pause/Stop/Volume/Mute etc.)
  • Capture screen (or active window) image to clipboard
  • Click-Drag [Sticky buttons/keys]
  • Click-Drag [Sticky buttons/keys]
  • Various support for specific Windows operating systems, such as Flip3D in Vista, ModernUI/Metro in Windows 8 and Virtual Desktops in Windows 10!
  • And much, much more

X-Mouse Button Control currently supports Windows XP, 7, 8, 10 & 11 as well as Windows Server 2003, 2003 R2, Vista, 2008, 2008 R2, 2012, 2012 R2, 2016, 2019 & 2022 (GUI versions). It was originally designed to run natively on x64 editions of Windows but it is fully supported on 32bit editions too! The installation determines what version is required (x64 or x86) automatically during installation.

Installation/Upgrade Information

The installer will automatically close an existing instance of XMBC so you do not need to close or un-install an old version before installing the latest.

XMouse Button Control is configured to run automatically when you log on to Windows.
This can be changed using MSConfig or the start-up tab in Task Manager on Windows 8 or later.

Requirements

  • A mouse and driver that supports 5 buttons. Note: If your mouse has 5 buttons but the 4th and 5th buttons don't do anything in by default - then XMBC may not be for you. This software relies on the driver to send the default 4th and 5th mouse button messages which usually default to BACK/NEXT in browsers and other programs. Having said that you can still remap the standard 2 buttons and scroll wheel.
  • A compatible version of Microsoft Windows. X-Mouse Button Control supports all 32bit (x86) and 64bit (x64) editions of Windows from Windows XP to 10, including Windows Server editions

What's New

  • #823 - Fixed unable to abort WAIT/WAITMS/HOLD/HOLDMS even with {flush} queue.
  • #822 - Fixed bug with sticky repeat sim keys where it would not work properly after being released/aborted by pressing another button.
  • #821 - Fix problem where volume down {VOL-} simkeys stops working, but volume up {VOL+} continue to work!
  • #820 - Attempt to fix hang/lockup deadlock conflict between repeat timer thread and main hook thread.
  • #816 - Button Chording with a repeated simkey in the chord does not cancel the repeat.
  • #815 - Added work around for {CTRL}{ALT}{DEL} not working (blocked by Windows/UAC).
  • #814 - Simkey Method 6 (Repeat) can cause unexpected additional repeats, especially when clicking multiple times quickly.
  • #813 - Fixed several issues with {ACTIVATE} simkey action fails after changes in 2.20.3
  • #812 - Button Held Settings do not save/get corrupted in v2.20.3
  • #811 - Fixed several problems with window detection in 2.20.3, particularly with matching captions when the method chosen was 'window or parent' or 'window or ancestor'.
  • #810 - Fixed a problem where the new improved timer did not stop, particularly from WHEELUP/WHEELDOWN configurations!
  • #791 - Further structural changes to try and prevent XMBC from crashing in the audio/volume manager when resuming from sleep.

X-Mouse Button Control 2.20.2 changelog:

  • Fixed crash while checking for update can crash (if the DNS query does not return the expected TXT record!)
  • Fixed DPI Scaling problem in application profile list after drawing changes in 2.20
  • Activate window while scrolling breaks the popup listview windows in Explorer.
  • Changed the language description for "Default (English UK)" to "English (UK - Default)" so it is alphabetically correctly located.
  • Further fixes to try and diagnose/prevent XMBC from crashing in the audio/volume manager when resuming from sleep, under certain (rare) circumstances.
  • Including a crash when drawing the combo/dropdown boxes for buttons in the settings screen.
  • Added a debug log message buffer, which will get flushed to the log file when debug logging is enabled (to see the previous [up to] 80 debug messages!)

Previous release notes

  • Fixed broken scroll window mapping commands introduced in 2.20
  • Further fixes to try and prevent XMBC from crashing in the audio/volume manager when resuming from sleep, under certain (rare) circumstances.
  • Show an error message when importing invalid application/window profile files, and when loading invalid settings files.
  • Scrolling 'Open With' list in Windows 11 22H2 does not work with scroll window under cursor.
  • Bug in SimKey Parser logged incorrect messages about invalid tokens which are actually valid.
  • Investigate further and fix/mitigate some more of the crashes in 2.19.2 and 2.20 (that resulted in bug reports sent to me).
  • New Abort button hold with HELD action does not save correctly.
  • XMBCUpdate filename should reflect actual version (and original filename) NOTE: This won't have any effect until upgrading FROM 2.20.1.
  • Fixed remapped actions "Scroll up/down/left/right" and Advanced scrolling do not work in Firefox 110
  • Fixed Browser command button remaps (BACK/FORWARD/HOME/REFRESH/STOP/FAVOURITES) not working in Firefox 110.
  • Fixed bug in [Drag to size window] which should only work with sizable windows!
  • Fixed an issue that sometimes prevented the installer/updater from successfully updating XMBC
  • Change DEFAULT for 'Mark scroll window scroll window under cursor' to OFF (on new installations)
  • Truncate profile name (...) in profile list if it is longer than the width of the window.
  • Sim Keys 'block only if active' option never saves to XML correctly!
  • Sticky keys do not work from Button Held... Removed for now - will consider options in the future.
  • Profile window caption matching is not saved if the window class field is empty!
  • Changed descriptions of XMBCS and XMBCP files in the import/export/load/save file chooser windows
  • Added extra RUN SimKey tags to open hidden, maximised, minimized, inactive, as administrator
  • Added {KILL:} to force kill processes
  • Fixed problem scrolling Files app window (and other apps based on Windows Runtime, such as Power Toys)
  • Fixed a bug in Change Movement to scroll which did not correctly save the horizontal sensitivity.
  • Fixed problem scrolling new Firefox windows (currently in the recent nightly builds. (**)
  • System Tray Icon does not get removed correctly.
  • Fixed an issue with VOL- caused by the native Windows acceleration of the VK_VOLUME_DOWN key.
  • Added support for new simulated keystroke tag {VOL:<%>}.
  • Added support for custom volume increments with {VOL+:<%>} and {VOL-:<%>}.
  • Note: The Windows Volume OSD will not show when using these tags custom volume percentage tags
  • Fixed a bug causing the chord/held cursor overlay to fail to display and/or to re-create the overlay too often (resource hog).
  • Also fixed a problem where the lock x axis cursor would show incorrectly after a chord/button held action.
  • Fixed a bug causing the keyboard to not respond on bootup of Windows 10 when XMBC was set to auto start.
  • Prevent simultaneous axis locking (if X is locked when locking Y, unlock X and visa-versa). Added additional SimKey tag {LOCKC} to cycle locked axis.
  • Persist current (active) layer across reboot/restart is not working.
  • Add layer names to the XMBC context Layer menu (for the currently active profile)
  • Fixed issue loading/saving "randomisedelay" for MTS SimKey actions causing random values in the field (not a problem but weird)
  • Fixed problem with SimKeys {APPS} tag which was being treated as a modifier key when it should not be.
  • Increased delay between clicks when sending DOUBLE CLICK (from dropdown actions list).
  • Add ability to abort button hold with HELD action if the cursor moves.
  • Added ability to run a command/script when a profile is activated
  • Added detection of Windows 11 and Windows Server 2019
  • Added {FLUSH} SimKey tag to clear any already running simulated input queue.
  • Added {WAITMS:-} tag to add a random delay between x and y milliseconds.
  • Fixed issues with Enhanced Pointer Precision being changed when "Allow XMBC to change cursor speeds" is disabled.
  • Also fixed issues with this particular function, not working, clearing EPP when it should be turning it on etc.
  • Fixed issues where mouse cursor speed cycle was half the speed requested (windows is 1-20, entry allows 1-10 like the slider).
  • Also fixed slow down cursor so when it resets, it reverts to the cycle speed in use (if applicable).
  • Fixed issue with scrolling to change volume when mouse is in high resolution scroll (smooth scrolling) mode.
  • Fixed hard crash when importing profile file.
  • Fixed active profile not highlighting when description is NULL/Empty
  • Fixed issue detecting right shift/alt/ctrl/apps key as modifier key.
  • Improved handling of chord cancel on movement somewhat.
  • Further (debug) logging to help diagnose another issue on resume from sleep/unlocking desktop
  • Additional SimKey tags to explicitly UNLOCK axis
  • Fixed broken actions Snap Window Left/Right/Up/Down on Windows 10.
  • Fixed broken scrolling on elevated windows when running as normal user.
  • Fixed bug causing layer auto switch to fail on non-default profiles.
  • Updated donate URL for the PayPal button on the About screen.
  • Sometimes the profile is not highlighted in the Setup screen.
  • Add config button next to action drop-down for action configuration.
  • Add button actions to lock the mouse axis.
  • Sort and group button actions in similar categories by default.
  • Fixed a problem with Run Application failing when repeatedly called very quickly.
  • Fixed miss-aligned text for the brightness tags in simulated keystrokes window.
  • Updated the min/max range of the hook timeout option in Advanced Settings..
  • Added change log when asking if you want to upgrade to a new version of XMBC.
  • Added Enhance Pointer Precision option (same as mouse control panel).
  • Changed "Search Selected Text" to "Web Search Selected Text".
  • Changed "Search Charm (WIN+Q)" to "Cortana Search" on Windows 10.
  • Fixed the width of some number spin boxes on the advanced tab that were not wide enough.
  • Added missing translations.
  • Improved settings layout to fit on smaller screens.
  • Debug icon does not show until XMBC is disabled/enabled.
  • Debug icon looks wrong on high DPI screens.
  • Add copy & swap layer options.
  • Copying profiles misses mouse chording options (and some other scrolling and navigation options).
  • Fixed issue with chrome desktop windows not scrolling as expected.
  • Fixed issue with the double click action not working when mouse buttons are swapped.
  • Fixed issues found when copying profiles (incorrectly changing to source profile)
  • ALT-TAB sends {CTRL}{ALT}{TAB} which does nothing on XP, 7, only works on Windows 8 and 10!
  • Added option to enable/disable all notifications (except for update notifications!)
  • Added mouse button chording, allowing you to combine buttons to perform additional actions.
  • Added Brightness control simulated keystrokes (for people whose computers support brightness control)
  • Problem with simulated {PAUSE} in RDP. Added {CTRLBREAK} and {BREAK}
  • Fixed a bug with Scroll window right action.
  • Added workaround for Back/Forward not working in Edge!
  • Changed the default for "Load US English Keyboard layout" to false (off).
  • Modified the code to launch processes from a separate, low priority thread to prevent locking up.
  • Modified the code to try and prevent crashes reported by the runtime crash reporter.