X-Mouse Button Control User Guide

X-Mouse Button Control is a Windows program that allows you to remap the buttons on your mouse. It is not a pointing device driver; rather, it works in concert with the existing drivers. Binding buttons to particular processes has been supported by XMBC for a long time, and now it now enables binding to specific window parts. XMBC isn’t just for button mapping; it also allows you to customize your navigation by tweaking the pointer and scroll wheel to your preferences.

To access the setup dialog double-click the XMBC icon in the notification area or run the program from the start menu. The tray icon may be automatically hidden on Windows 7, drag the XMBC icon from the hidden section over to the area next to the clock and it will show permanently.

Profile List and Information

A list of profiles that have been allocated to different programs and/or windows. Activate/deactivate profiles, rename profiles, create new profiles, copy an existing profile, edit/change the assigned object, import/export profile(s), or remove a superfluous profile from this page. Profiles can be updated, copied, or deleted using the right-click context menu or their appropriate buttons. If a profile’s text is RED, it’s the active profile, which means it’s the one with the keyboard/mouse emphasis for transmitting commands right now.

The Profile Information box shows how XMBC recognizes the process and/or window you’ve selected. The data is the same as what is selected/entered in the Choose Application or Find Window dialog boxes.

Importing and Exporting Profiles

Accessible from the context menu only.

Export profiles are saved using the .xmbcs file format, which is registered with the X-Mouse Button Control.

By default, profiles are saved under ‘Highresolution Enterprises’ in the current user’s %APPDATA% directory. Save exported profiles to any convenient location; the new save location will be remembered.

A batch export option is also offered for backing up the settings of all profiles in a single .xmbcs file.

When you open an exported file, double-click it to import the profiles it contains into XMBC. If a conflict with an existing profile exists, you will be given the option to overwrite it, discard the inserting entry, or terminate the entire import process.

Selecting an Application and/or Window

Adding a Process Profile

When you press the Add or Copy buttons, a dialog box appears with a list of all currently running applications.

Select an EXE from the list of running apps, manually input a process name, or utilize a specific window.

In the profile list, the description field is used to give a profile a unique display name.

Adding a Window Specific Profile

The Find Window window will show after you select Specific Window from the running apps dialog, allowing you to be more specific in your identification.

Press and hold the left-click button over the window finder icon to choose the target, then drag the target pointer to the chosen window and release.

Mark the radio button for hover selection and then move the cursor over the window you want to pick. To confirm the current window’s information in the dialog box, press the caps lock key to cease hot-tracking.

Multi-Layered Button Mapping

Providing 5 layers of button mapping for every profile

On each of the five layers, you can re-bind up to nine controls (Left Button, Right Button, Middle/Wheel Button, XButton1/Button4, XButton2/Button5, Wheel Up, Wheel Down, Tilt Wheel Left and Tilt Wheel Right).

The orange-yellow highlight shows that XMBC is currently receiving a typical Windows message from that control, implying that you are interacting with it. When manipulating a control, if no highlight appears, the control’s current message is incompatible with X-Mouse Button Control.

On each profile, any of the five layers might be given a unique name. When switching layers, this name will be displayed in a balloon notification (notification is optional).

All controls on the current layer can be reset using the reset button in the upper right corner.

NOTE: Standard tilt wheel messages are only supported by Microsoft’s post-XP operating systems. Tilt Wheel Left and Tilt Wheel Right will not work on Windows XP or earlier versions of Windows.

Scrolling & Navigation Adjustment

The right-most tab, providing advanced pointer & scroll wheel adjustments


On a per-profile basis, just a single pointer adjustment is currently available.

‘Axis Locking’

Axis locking stops the cursor from moving along the X or Y axis.

For each of the axes to be activated, a hotkey must be provided.


There are numerous scroll wheel modifications available. The list goes on and on. Inverting the vertical scroll directions, page scrolling, and altering the default amount of lines to scroll are just a few of the options. In the Advanced Window Scrolling section, there are several scroll methods (negative scrolling increments are conceivable, although only Method 4 processes them).

Special Assignments

Advanced Scrolling Methods

There are now four options to choose from (not including disabled of default). To assign them to a profile, you must first select a window; simply selecting a process will not enough. Select a negative increment to reverse the scrolling.

1. Scroll Message – send WM_HSCROLL or WM_VSCROLL directly to the window under the mouse. (works with some windows)
2. Scroll Info – the Win32 API to set the scroll position of a window… (rarely works, but gives great results when it does)
3. Left/Right Keys – sends left/right simulated keystrokes (only applies to horizontal scrolling)
4. Wheel Message – send WM_MOUSEWHEEL or WM_MOUSEHWHEEL message to the window (most recognizable/reliable)

The initial message sent by the mouse’ driver is passed through by default.

Disabled prevents the original message from being delivered and does not send any additional messages.

NOTE: When any of the first three methods fails to register for an application XMBC evokes the ‘Default’ scrolling method and applies the
vertical lines or horizontal characters scrolling increments, ‘Method 3’ will resort to ‘Method 1’ for vertical scrolls prior to evoking ‘Default’. This
way scrolling will not cease if one of these methods isn’t recognized by the window.

Simulated Keystroke Assignments

You can use your mouse to assign various keystrokes and/or hotkeys from this box.

There are eight different ways to convey your designated keystroke.

  • Pressed – sent upon pressing the button
  • Released – sent upon releasing the button
  • During – sustained while the button is pressed [as though pressing keys on a keyboard, but without the repeat].
  • Threaded Press – on another press [recommended when using WAIT… in a key sequence].
  • Threaded Release – on another thread’s release [preferred when using WAIT… in a key sequence].
  • Repeatedly – sends continually while held [as if pushing keys on a keyboard].
  • Sticky Repeat – a toggle for ‘Repeatedly’ [push once to start repetition, press again to stop].
  • Sticky Hold – a toggle for ‘During’ [push once to activate, then again to disable].

When using the repeat technique, you can specify a custom repeat interval between the collective keys.
{0ms passes through the control panel’s settings}

When the option ‘only send if profile’s process is active’ is selected, keys will only be sent when the proper window has been given focus.
{on by default, not recommended for sending hotkeys}

Advanced Settings – General

In order for any of the below settings to take effect, you must OK the changes then press apply in the main dialog.

General Settings

These selections have a worldwide impact (none are profile specific).

Mouse Speed – Adjusts the rate at which the pointer moves in accordance to mouse manipulation.

 …scroll window under cursor – Instead of the window with keyboard focus, it delivers scrolling signals to the window/control directly beneath the mouse pointer.

Bypass ALL actions when SCROLL LOCK is ON – When the keyboard’s Scroll Lock is on, it disables all of XMBC’s settings.

Bypass ‘disabled’ actions when SCROLL LOCK is ON – While the Scroll Lock key is pressed, it reactivates all deactivated settings; it cannot be utilized when the Scroll Lock key is pressed and all actions are skipped.

Process non-client mouse messages – If this option is turned off, XMBC will disregard mouse messages given to a window’s titlebar (DISABLING can degrade performance and is NOT RECOMMENDED)

Swap 4th and 5th buttons – Most mice’s side buttons (mouse buttons 4/5) are swapped.

Swap 4th and 5th buttons… remote desktop – Only when the user is connected to a remote desktop session does it swap the side buttons (affects XMBC on the remote machine).

Reset sticky buttons… – When another button is pressed, any assigned sticky buttons’ pushed down state is cleared.

Show layer switch balloon notifications – When switching layers with a hotkey or button assignment, the balloon tip notice is toggled above the notification area.

Show tray icon by default – if the XMBC icon appears in the notification area after logging in (to re-display the icon, simply re-run the executable; it will not run additional processes of the application; it will only direct the symbol to appear in the system tray).

Ignore Num Lock state for Simulated Keystrokes – When sending simulated keystrokes, the number pad on the keyboard is always treated as if Num Lock is deactivated.

Fix-up tilt wheel auto-repeat – This parameter can be tweaked to eliminate unappealing message repetition caused by tilt wheels.

Enable profile switching on mouse move – XMBC profiles can now be enabled when the mouse pointer is over the detected object, rather than just when the cursor is active (requires SLIGHTLY more resources).

Check for new version at startup – Every month on the first and every run, a version check will be done.

Enable debug logging – Activates the debug mode in XMBC, which is important for reporting bugs to the developer. By default, the debug log is saved in the current user’s %APPDATA% directory under ‘Highresolution Enterprises,’ and it may be accessed from the system tray. (Because debug logging consumes a lot of resources and slows down mouse response, the setting is not permanent and will be disabled on subsequent launches.)

Advanced Settings – Hotkeys

Global Hotkeys

This tab’s hotkeys have a system-wide effect, so be sure they aren’t currently in use elsewhere. These hotkeys activate the appropriate setting; in some situations, pressing the hotkey twice toggles or cycles the setting.

Modifier Keys

These hotkeys act as toggle switches. Only when the hotkey is kept down are their relevant settings applied. Make sure there are no conflicts because they are system-wide.

Further Configurations

Using Layered Button Mapping

In XMBC, there are five totally customizable layers to choose from. Activating layers can be done in a variety of ways.

Global Hotkeys

Assign hotkeys to the layers you want to use. This hotkey will conduct a stiff layer switch, which will not revert to your previous layer or switch to any other layers until another layer switch command is received.

Modifier Keys

Assign a modifier key to the layer you want to activate. When you press and hold this hotkey, the layer will be briefly activated, and when you release it, it will revert to the previously active layer.

Button Assignment

Every layer has the ability to map buttons to layers other than its own. Assignments, on the other hand, function similarly to modifier keys, activating a layer only while held down. Once a button has been mapped to an alternate layer, the subsequent layer’s button will be marked as layer revert and will not be able to perform any other functions.

Context Menu

By right-clicking the icon in the notification area and selecting Layers from the context menu, you can choose layers manually.

NOTE: It is not recommended to attempt chaining layer switching through use of the modifier key or button assignment methods. Activating a
layer by holding a button/modifier followed by using yet another button/modifier on the resulting layer can & will lead to confusion in certain

Locking Axes

To lock the X or Y axis, you must first configure the matching hotkey or modifier key and enable axis locking on a per-profile basis.

Global Hotkeys

Mark ‘Enable axis locking modifier keys’ on the relevant profile in the ‘Scrolling & Navigation’ tab, then use the given global hotkey to enable/disable axis locking for the specified axis.

Modifier Keys

Select the ‘Scrolling & Navigation’ tab and check the box next to ‘Enable axis locking modifier keys’ for the selected profile. Now you may toggle axis locking by pressing and holding the correct modifier key.

NOTE: Axis Locking works by preventing any movement on the chosen axis. So locking the X-Axis will PREVENT the cursor from moving along the X-Axis, not RESTRICT cursor movement to only along the X-Axis.

Changing the Tray Icon

Place ICO files in the same location as the main executable to use your own icons (XMouseButtonControl.exe). Each of the five layers, as well as the disabled state, might be represented by a distinct icon. Create or download icon files with dimensions of 16×16 and/or 32×32 (auto-resized). The.ico files must have the following name pattern in order for XMBC to accept them. To load the icons, exit and relaunch the software.

That’s about it.

Loading Facebook Comments ...