X-Mouse Button Control Change Log  

For contact and support, please use the forums or my Discord server.

Version 2.20.5 (24th June 2023):

Version 2.20.4 (8th May 2023):

Version 2.20.3 (22nd Apr 2023):

Version 2.20.2 (3rd Mar 2023):

Version 2.20.1 (25th Feb 2023):

After such a long interval between 2.19.2 and 2.20, I expected everything to go smoothly, but of course that was naive of me!
I have had several useful crash reports sent to me offer the past week which I believe I have fixed with #787 & #791 (it remains to be confirmed), hopefully by a lack of such reports from 2.20.1!).
I've also fixed a few issues introduced with the fix for firefox scrolling that may have broken scrolling elsewhere!

Version 2.20 (19th Feb 2023):
(**) Many thanks to the Firefox developer team for reaching out about a bug/conflict with the new Firefox 110 and having a sensibly conversation on how best to fix the problem.

Version 2.19.2 (23rd May 2020):

Version 2.19.1 (16th March 2020):

Version 2.19 (9th Februray 2020):

Version 2.18.8 (18th August 2019):

Version 2.18.7 (6th May 2019):

Version 2.18.6 (14th Apr 2019):

Version 2.18.5 (4th Mar 2019):

Version 2.18.4 (1st Mar 2019):

Version 2.18.3 (24th Feb 2019):

Version 2.18.2 (27th Jan 2019):

Version 2.18.1 (12th Jan 2019):

Version 2.18 (27th Dec 2018):

Version 2.17 (23rd Dec 2017):

Version 2.16 (17th May 2017):

Version 2.15 (07th February 2017):

Version 2.14 (25th September 2016):

Version 2.13.1 (22nd May 2016):

Version 2.13 (14th May 2016):

Version 2.12.1 (18th October 2015):

Version 2.12 (18th October 2015):

Version 2.11.1 (10th August 2015):

Version 2.11 (10th August 2015):

Version 2.10.2 (3rd March 2015):

Version 2.10.1 (1st March 2015):

Version 2.10 (25th February 2015):

Version 2.9.2 (24th December 2014):

Version 2.9.1 (7th December 2014):

Version 2.9 (6th December 2014):

Version 2.8.5 (18th October 2014):

Version 2.8.4 (18th October 2014):

Version 2.8.3 (1st October 2014):

Version 2.8.2 (29th September 2014):

Version 2.8.1 (29th September 2014):

Version 2.8 (27th September 2014):

Version 2.7:

Version 2.6.2:

Version 2.6.1:

Version 2.6:
Thanks to everyone that helped in the beta testing of v2.6 and to all those providing language translation packs!

Version 2.5:
Thanks to everyone that helped in the beta testing of v2.5 and to all those providing language translation packs!

Version 2.4:

.... Misc performance improvements, debug logging & fixes to new features introduced during the beta stage.
Thanks to everyone that helped in the beta testing of v2.4 and to all those providing language translation packs!

Version 2.3:

Version 2.2:

Version 2.1:

Version 2.0:
  I'd like to thank all those, especially MainTrane, who helped out in the beta testing for this major update.

Version 1.53:

Version 1.52:
  • Added "Double Click Drag" action.
  • Added more debugging, including Windows 7 hook timeout value.
  • Added support for distinguishing between left and right extended keys in simulated keystrokes (e.g. LSHIFT/RSHIFT)
  • Added Ignore Numlock for simulated keys option, to always send the numeric keypad keys, even if numlock is off.
  • Added TILT LEFT/RIGHT actions to send a tilt message to windows.
  • Added SCROLL UP/DOWN/LEFT/RIGHT actions to scroll the active window (or the window under the cursor if enabled).
  • Fixed print screen simulated keystroke.
  • Added notification balloon for layer change events, disable events, desktop icon events.
  • Select profile in setup dialog when specific application is activated.
  • Further modifications to the scrolling support.
  • Added scrolling tweak configuration in advanced settings dialog. This allows you to configure how individual windows are scrolled, even if they are old applications and don't natively support the scroll wheel.
  • Added support for axis locking.
    NOTE. You must enable modifier keys to then enable and configure axis locking modifiers per application profiles.
  • Added configurable mouse shell scroll lines for app specific profiles.
  • Fixed bug in service launcher when not running for the default location (c:\program files)

Version 1.51:
Version 1.50:
Version 1.49:
Version 1.48.1:
  • Fixed desktop icon save/restore (removed a hard coded test variable that I had accidentally left in the release build of 1.48)
Version 1.48:
  • Fixed a bug with the mouse wheel over, causing it to break certain features of Explorer (and the desktop) such as resizing of icons using CTRL+Mouse wheel. Now, If the CTRL key is down, the mouse wheel will be sent to the active window.
  • Fixed a bug in simulated keystrokes where the modifier key was not released after the preceding key (it stays down even though the description in the simulated keystrokes editor says that this is not the case.
  • Fixed a bug with simulated keystrokes 'during' which did not release the mouse buttons when using {LMB}, {RMB}, {MMB}
  • Added a registry setting (for al users in HKEY_LOCAL_MACHINE) to change the default location of the settings file and modified the installer to give you the option of setting it.
  • Added a global "hotkey" {Left Control + Left ALT + right mouse button double click} to disable/enable. (Useful if you accidentally set your left button to something that makes it impossible to use the mouse)!
  • Added new Add application specific dialog which lists the running applications to create a new profile for.
  • Fixed some problems with icon save/restore & added more logging to this area of the application.
  • Added a clear settings option to the installer finish page (not enabled by default).
  • Added ability to customise the delay between repeated simulated keystrokes & changed layout of the simulated keystroke dialog.
  • Added sticky (toggle) simulated keystrokes to send keys repeatedly after a button is clicked until the button is clicked again.
  • Modified the code to better detect the active application (for example Warcraft/WoW.exe)
Version 1.47:
Version 1.46:
Version 1.45:

Version 1.44:
  • Fixed a bug in the setup dialog causing the simulated keystrokes (and launch application) for RIGHT-X to use the settings from Scroll WheelDown instead of its own setting.
  • Fixed a bug with simulated keystrokes where a key sequence with multiple characters (e.g. 'hello' is not sent correctly because the same "keydown" is sent twice without a "keyup" in between.
  • Fixed bug causing /NoLog command line option to be ignored and setting in the config file used always.

Version 1.43:
  • Added ability to disable logging with a /NoLog command line and hidden option.
  • Fixed installer error in 1.42 on OS's earlier before Vista.

Version 1.42:
Version 1.41:
  • Added ability to copy application specific settings.
  • Modified logging to always log some basic information.
  • Added "Open log file" context menu item to systray icon.
  • Added "Enable DEBUG logging" option to setup dialog.
  • Added XML configuration files to hold settings instead of the registry
  • Added new Portable mode. In this mode the configuration file (and log) is stored alongside the executable, ideal for running from a USB stick.
    • Portable mode is automatically enabled if the application is not in the install location under \program files
    • It is also enabled if the /portable command line switch is specified.
  • Fixed a bug causing buttons to stop working when switching between application specific settings.
  • Fixed a bug causing the service launcher to fail when UAC is disabled.

Version 1.40:
Version 1.39.3:
  • Fixed some more issues in the installer under Vista or later. The VC2008 runtime is no longer required as all the required files are included in the installation package.
  • Added a /debug command line switch to debug information to a logfile. This slows things down but will help me help you!
Version 1.39.2:
  • Fixed some installation kit issues.
Version 1.39.1: (Fixed installer issues in Vista with 1.39)
  • Removed the task scheduler changes - they didn't work in many situations.Changed the GUI layout.
  • Added the server launcher to start XMBC elevated if the used has the required admin account.

Version 1.39:
  • Modified the installer to create a scheduled task on Vista (and later) to run XMBC with elevated permissions.
  • Changed the GUI layout.
  • Added tilt wheel support (Vista and later only).
  • Updated code to use Visual Studio 2008 (and therefore the VC2008 runtime environment).
Version 1.38:
  • Internal build to test tilt functionality in Vista.

Version 1.37:
  • Fixed a bug with the auto-repeat of simulated keys where the auto-repeat option never got applied.
  • Fixed a related bug in the new simulated key code which caused keys to get "stuck" repeating the keystroke.
  • Changed the default option on upgrade for invert mouse scrolling to FALSE.
  • Modified the settings dialog to prevent you adding a duplicate application executable.
Version 1.36:
Version 1.35:
Version 1.34:
  • Fixed bug that caused the mouse buttons to stop working after certain application specific settings were used.
  • Added checkboxes to the custom applications list allowing you to easily enable/disable specific application settings.

Version 1.33:
  • Added {WAIT<n>} simulated keystroke option to insert a delay of <n> seconds.
  • Added 'Left/Right/Middle Click-Drag [Sticky Button]' options which allow the first click to start
    drag and the second click to stop drag. (i.e. first click = MOUSEDOWN and second click = MOUSEUP).

Version 1.32:
  • Tidied up some internal code.
  • Fixed tab order in the dialogs.

Version 1.31:
  • Added ability to swap 4th and 5th (X) buttons when running under a remote desktop (or terminal service) session.
  • Added Show Sidebar *Vista & Later* action to show the Vista sidebar.
  • Added {SPACE} option to the simulated keystrokes, as requested by several people on the forums.
  • Added About dialog.

Version 1.30:
  • Fixed an issue with FooBar 2000 media player where the mouse buttons could get "disabled".

Version 1.29.1:
  • Fixed GUI alignment which was all messed up after adding the two new check boxes....

Version 1.29:
  • Added ability to bypass disabled or all buttons if scroll lock is turned on.
  • Added PRINT SCREEN and PRINT ACTIVE WINDOW actions and {PRTSCN} to the custom key dialog.

Version 1.28:

Version 1.27.1:

Version 1.27:

Version 1.26:

Version 1.25:

Version 1.24:

Version 1.23:

Version 1.22:

Version 1.21:
  • Re-written the mouse hook DLL so that it is smaller, uses less memory and is quicker.
  • Change the installation to exclude some of the more common things, like the Windows Installer 3.x. This means its a lot smaller than the previous version, if you have any installation errors, please let me know (after ensuring you have Windows Installer 3 installed - see link on main page).

Version 1.20:

Version 1.17:
  • Fixed a bug causing the Application to close when configuring the "Close (Alt-F4)" option!
  • Fixed a compatibility issue in the 32bit version which meant it didn't run on Windows 2000.

Version 1.16:
  • Fixed a bug causing the Application specific checkbox to be under the frame (since v1.14)
  • Fixed a bug which left the popup menu hanging around when it wasn't wanted!

Version 1.15:
  • Added Save/Restore desktop icon layout to the context menu for the system tray icon. This allows you to save and restore the position of the icons on your desktop with a simple click of the mouse :)

Version 1.14:

Version 1.13:
Version 1.12:
Version 1.11:
Version 1.10:
Version 1.9:

Version 1.8:
  • Enhanced the simulated keystrokes support allowing you to specify keys such as control, alt, shift etc.

Version 1.7:

Version 1.6:

Version 1.5:

Version 1.4:
Version 1.3:


Version 1.2:


Version 1.0 (Initial Public Release - Some time Mid 2004:



The first, private versions of X-Mouse Button Control came into existance when Microsoft produced Windows XP x86-x64 (64 bit) edition, the first x64 windows version.
As a MSDN subscriber at the time, I was using pre-release builds of Window XP x64 for development and testing.
The intellimouse software, that allowed me to configure buttons 4 and 5 on my 5 button Microsoft mouse, did not support 64bit operating systems, so I was 'forced' to make my own!