X-Mouse Controls by Joel Purra (2024)

Microsoft Windows utility to manage the active window tracking/raising settings. This is known as x-mouse behavior or focus follows mouse on Unix and Linux systems.

Works on Windows11, Windows10, Windows8, Windows7, WindowsVista, WindowsXP, WindowsServer2012, WindowsServer2008, WindowsServer2003. Might work on other versions as well.

Download latest version

Alteratively, install the Chocolatey package: choco install xmouse-controls

X-Mouse Controls is competely free! If you like and use X-Mouse Controls, please tell your friends and link back to this page.

What is x-mouse behavior?

When multiple programs are running on a Windows operating system, the default mode of operations is that you click one window after another to give them focus for keyboard inputs. With the x-mouse settings that click is not necessary — the only thing needed is to move your cursor over the window for it to become active.

This behavior has been possible, but disabled, in different versions of Windows for years. It is usually enabled through Windows accessibility settings or a wide variety of tools and utilities, most notably Tweak UI found in Microsoft PowerToys. However, Tweak UI does not run on WindowsVista, Windows7, Windows8, Windows10, Windows11, WindowsServer2008, WindowsServer2012, and later versions, which is why I created this utility.


X-Mouse Controls by Joel Purra (1)

Historical screenshots

X-Mouse Controls by Joel Purra (2)

X-Mouse Controls by Joel Purra (3)


Active window tracking
Enable to give focus to windows by moving your cursor over them, known as focus follows mouse. Obeys the delay described below.
If disabled (default) a click is required to activate a window, known as clickfocus.
Active window raising
Enable to automatically make the active window the topmost window, known as autoraise.
If automatic window raising is disabled (default) it allows the user to type text or give commands in one window without changing the order of the other windows.
Active tracking delay
The delay in milliseconds (ms), until the window focus changes. This program allows settings from 0 milliseconds (instant focus) to 2500 milliseconds (very long delay). A value of 100—300 milliseconds is recommend to avoid windows stealing focus too fast. See usage.
Saves the settings and applies them to your system. The settings come in effect right away, and stay even after rebooting.

Usage, tips, and workarounds

  • X-Mouse Controls does not require installation. You only need to run it once to change settings; all applied changes are persisted immediately.
  • If windows and menus disappear before using them, try increasing the delay. A delay of 100—300 milliseconds is recommended, depending on how fast you move the mouse cursor.
  • To work around some window raising and menu problems, click and hold your left mouse button on an empty (unresponsive) area, drag the cursor to where you want to focus, and let go.
  • Active window raising can be problematic when some programs/windows completely overlap others, especially in combination with a low delay. Try turning off active window raising.
  • If using a Microsoft Account to log in to Windows, the active window tracking settings are synchronized to other machines using the same account. This is because the settings are part of Windows, and X-Mouse Controls merely lets you conveniently change them.
  • You can find more tips in the Github issues.


X-Mouse Controls is competely free! You even get the source code for free. To develop open source software is not without cost though — it takes technical knowledge, time, and effort.

You don't have to be a developer to support my open source work! Sending a link to a friend, or posting on social media, helps as well. If you want to receive personal support, or just feel all warm and fuzzy inside from helping open source development, donations are very welcome. There is no predefined price — you pay what you want.

Open sourceFeel-good
Active window tracking
Active window raising
Active tracking delay
Instant apply
Source code
Github support
Email support
PriceFree!Pay what you want.


  • Report issues on github or contact the developer.
  • In order to avoid X-Mouse Controls being buried below other windows while experimenting with the settings, it will always stay on top of other windows. Minimize first to test window raising.
  • Uninstallation is easy — just delete the X-Mouse Control files. Optionally run the program to turn off active window tracking first, as the settings are persisted automatically by Windows.
  • Some applications, especially those with a Multiple Document Interface, may raise their own window even though the feature is disabled. See usage.
  • What is known as x-mouse on Windows is different from Xmouse on other systems, such as Unix and Linux variants. On Windows, it is closer to the X Window System (X11) setting focus follows mouse (FFM) or focus follows pointer.
  • Requires Windows Presentation Foundation, which is included in .NET Framework 3.5 and .NET Framework 4. One of them is most likely already installed on your system.
  • If you use a version of Windows released prior to Windows Vista, it is recommended to use Tweak UI, found in Microsoft PowerToys and the related powertoy Microsoft Xmouse 1.2.

Source code

The source code, including this webpage and original graphics, has been released under the GNU General Public License. Contributions aremost welcome! Please create pull requests against the develop branch, and follow the git-flow branching style.

To work on X-Mouse Controls, Microsoft Visual Studio is required. It is easy to run a complete developer setup in a virtual machine, freely available from Microsoft.

Preferably test any changes on both Windows 10 and Windows 11, as both have a lot of users and high market share (January 2023) (more up-to-date data source).

History and downloads

As an alternative to manual zip file unpacking, install the Chocolatey package: choco install xmouse-controls

Downloads are signed using Joel Purra's OpenPGP key 4C47B4FF173AE6ED0DB733946DF6890D2A977668. To verify the authenticity, use an OpenPGP-compliant tool such as GNU Privacy Guard (GnuPG, GPG).


Release build
Zip file
Zip file OpenPGP signature
Zip file SHA256 checksum: 6f253790111422361a38f049854aca34f51c03e4c06bab47f9c73b8da9390191
Debug build
Zip file
Zip file OpenPGP signature
Zip file SHA256 checksum: 15f35391b93c8f0d15175dbe5455c7842e63e66ba52ab075ef2f8fca3cd1a3f0
Source code
Zip file
Zip file OpenPGP signature
Zip file SHA256 checksum: 4be491c7bb04e5dd8b29192ff9b9452179954c159c276b66ce63fbf2968a59af


Release build
Zip file
Zip file OpenPGP signature
Zip file SHA256 checksum: dc3b464cf4583aa3fc647647d5e3de5581736c5c004505d14f9e6294aee39e28
Debug build
Zip file
Zip file OpenPGP signature
Zip file SHA256 checksum: 4adeceb406b62e1bc3471a849bf20cb7fce1490902ab551d37561b4bd8a2b6b8
Source code
Zip file
Zip file OpenPGP signature
Zip file SHA256 checksum: 75f8f79c86e36855fca7435104062fa2eaccacc938f176e8ea0a51578e6057cc


Release build
Zip file
Zip file OpenPGP signature
Zip file SHA256 checksum: ee828033899b46d7e2bcf6557f3614bd5bbb8410d93c23f90948bc0ca79728eb
Debug build
Zip file
Zip file OpenPGP signature
Zip file SHA256 checksum: d7aaf13e8f68f877bdb20fdc719c5ee5b19bdc9a35cfacaa95fecdd1c1a8b75b
Source code
Zip file
Zip file OpenPGP signature
Zip file SHA256 checksum: aabbedf94cfde74771c0d16b2de79584b87d791d4556c9d2a20e359cc80037a2

Disable the active window raising checkbox and delay slider when the active window tracking checkbox is not checked.


Release build
Zip file
Zip file OpenPGP signature
Zip file SHA256 checksum: 2f5678915c89c9652fec4fd5eb2aa8c78a1c06e53b8184afc18906166674db75
Debug build
Zip file
Zip file OpenPGP signature
Zip file SHA256 checksum: 337dd85b4937bf2ed7a63e7759b2fb436689826b32d1a7e05dd88f4831dc09a4
Source code
Zip file
Zip file OpenPGP signature
Zip file SHA256 checksum: 5e9d3092a5fcea4ab21a5ab455fd19c9400e78731f502aed69b5db82832b533b

First version, initial release.

About the author

Joel Purra is a software engineer working on both commercial and open source projects. He is available for consulting work.

Search engine fodder

This section can be ignored by humans.

System calls

X-Mouse Controls is using system calls from SystemParametersInfo in user32.dll, especially SPI_GETACTIVEWINDOWTRACKING, SPI_GETACTIVEWNDTRKZORDER,SPI_GETACTIVEWNDTRKTIMEOUT.

Incoming links

Windows Ease of Access Center (Windows 7)

The Windows control panel offers you to enable/disable x-mouse, but not to tweak it. Use X-Mouse Controls instead.

  • Enter Ease of Access Center (shortcut Win+U)
  • Click Change how your mouse works
  • Enable Activate a window by hovering over it with the mouse

Registry hacks

Direct editing of the registry for x-mouse values is considered a bad thing, as there are API calls which do this correctly and apply the results right away — with X-Mouse Controls there is no need to log out and in, or restart your computer. The following words are only here to help others searching for a tool that makes an inactive window active by hovering: HKEY_CURRENT_USER\ControlPanel\Mouse\ActiveWindowTracking, HKEY_CURRENT_USER\ControlPanel\Desktop\ActiveWindowTracking, HKEY_CURRENT_USER\ControlPanel\Desktop\ActiveWndTrkTimeout, HKEY_CURRENT_USER\ControlPanel\Desktop\UserPreferencesMask, REG_DWORD, REG_BINARY.

Windows 3.11, Windows 95, Windows 98

Excerpt from AXCEL216's MAX Speeed Windows 98/98 SE + DOS 7.10 ©Tricks, Secrets, BUGs + FIXes

X-Mouse settings do not "stick" [Thank you Joel Purra (e-mail removed)!]: TweakUI's Mouse tab -> "Activation follows mouse (X-Mouse)" box checked, and: TweakUI's General tab -> "X-Mouse AutoRaise" and "Mouse hot tracking effects" boxes checked. This can be fixed in some cases (reminiscent from the old XMouse MS Power Toy 95) by adding/changing these Win.ini entries under the [XMouse] section:


Edit Win.ini (located in your Windows folder) with Notepad or Sysedit. Change any of these lines from 1 to 0 or back, and then restart Windows to see if it works. See "ACTIVE WINDOW TRACKING" in REGISTRY.TXT (included) to learn how to properly activate/fix X-Mouse settings used by TweakUI.

X-Mouse Controls by Joel Purra (2024)


What does x-mouse button control do? ›

X-Mouse Button Control is a Windows application for remapping your mouse buttons. It is not a driver for pointing devices, but rather works in conjunction with the installed drivers. XMBC supports binding mouse buttons for an individual process and also allows you to bind to specific window elements.

What is the X button on mouse? ›

One of the most notable features of X-Mouse Button Control is its ability to create custom macros and action sequences. This allows complex and repetitive actions to be performed with a single click to save time and effort on tedious tasks.

Does the x-mouse work for Windows 11? ›

Works on Windows 11, Windows 10, Windows 8, Windows 7, Windows Vista, Windows XP, Windows Server 2012, Windows Server 2008, Windows Server 2003. Might work on other versions as well. X-Mouse Controls is competely free! If you like and use X-Mouse Controls, please tell your friends and link back to this page.

Is x-mouse button control free? ›

The free utility, X-Mouse Button Control (XMBC), gives you a whole new level of mouse control by mapping new functions to its buttons.

How do I turn off scroll lock on X-mouse button? ›

Right-click the X-Mouse Button Control icon and select Setup. Choose the Options tab in the right pane of the Setup window. Make sure there is a checkmark next to Disable Scroll Window Under Cursor. Select the Apply button near the lower-right corner of the window.

What are all the buttons on a mouse? ›

All references to mouse buttons are in respect to a 3-button right-handed mouse:
  • MB1 (mouse button 1) is the left button.
  • MB2 (mouse button 2) is the middle button.
  • MB3 (mouse button 3) is the right button.

What are the 4 buttons on side of mouse? ›

A 4-button mouse typically has two buttons on the left side and two buttons on the right side. The left and right buttons are the standard clicking buttons, and the other two buttons can be programmed to perform specific functions.

What is the normal mouse button? ›

What are the default buttons and wheel assignments for my mouse?
Drag an object
8 more rows

How do I program my mouse buttons? ›

How to assign functions
  1. Click Start, and then click Control Panel. ...
  2. Double-click Mouse.
  3. Click the Buttons tab.
  4. Under Button Assignment, click the box for a button to which you want to assign a function, and then click the function that you want to assign to that button. ...
  5. Click Apply, and then click OK.

How many buttons are there in a mouse? ›

The mouse typically has two buttons (left and right) and a scroll wheel, although more advanced mice may have additional buttons and features.

How to bind mouse buttons to keyboard keys? ›

From the Windows Start menu, open the Mouse Properties window, and configure your mouse buttons with the same keyboard shortcuts. This step may differ depending on your Windows version and your mouse manufacturer and model.

What is button chording? ›

Chording means pushing several keys or buttons simultaneously to achieve a result.

How to click with scroll wheel? ›

On a mouse with a scroll wheel, you can usually press directly down on the scroll wheel to middle-click. If you don't have a middle mouse button, you can press the left and right mouse buttons at the same time to middle-click.

What does the button on a gaming mouse do? ›

The side buttons are used to help you react faster in-game. They're designed to be quickly pressed and allows you to reset your thumb to quickly maneuver your mouse at the same time.


Top Articles
Latest Posts
Article information

Author: Aracelis Kilback

Last Updated:

Views: 6266

Rating: 4.3 / 5 (64 voted)

Reviews: 95% of readers found this page helpful

Author information

Name: Aracelis Kilback

Birthday: 1994-11-22

Address: Apt. 895 30151 Green Plain, Lake Mariela, RI 98141

Phone: +5992291857476

Job: Legal Officer

Hobby: LARPing, role-playing games, Slacklining, Reading, Inline skating, Brazilian jiu-jitsu, Dance

Introduction: My name is Aracelis Kilback, I am a nice, gentle, agreeable, joyous, attractive, combative, gifted person who loves writing and wants to share my knowledge and understanding with you.