XMBC Frequently Asked Questions [FAQ]

x64 Replacement/Alternative to Microsoft's IntelliMouse application.
Forum rules
Please read the forum rules before posting for the first time.
The more information you can provide, the quicker and more accurately someone can help.
NOTE: To reduce spam, new users can not post links, files or images until they have at least 4 posts.
Locked
User avatar
phil
Site Admin
Posts: 7773
Joined: Sun Apr 06, 2003 11:12 pm

XMBC Frequently Asked Questions [FAQ]

Post by phil »

Here are some frequently asked questions about XMBC and their answers.

Why do I need X-Mouse Button Control?
XMBC is a small and efficient application to remap your mouse buttons. Originally, I wrote XMBC because Microsoft was slow to release a proper working Intellipoint package for Windows XP x64 back in 2003/4. They have released such a package now but as far as I'm concerned, they were too slow!. Anyway, XMBC is tiny in comparison, takes far fewer system resources and offers more functionality and configuration options, including different button mappings for individual applications!


When installing, I see a message saying "Windows protected your computer"
This is Windows' SmartScreen in action. Sometimes it takes a while for it to "trust" new applications that have not been seen before. You should be able to ignore this (hit the More Actions and say Run Anyway) although newer versions of windows make this more difficult.
Eventually Microsoft will figure out that XMBC is safe and should not present this message. Until then you either have to manually run the installer and hit the "Run Anyway" button if prompted or disable/turn down smartscreen (I wouldn't recommend that).
This occurs more frequently when I release a new version with a new software signing certificate - i.e. that has not been seen before (the certificates expire yearly). I don't yet know how long it takes before trust is established - it depends on the number of installations world wide.


I've installed XMBC, now what?
XMBC will run automatically when you start windows (or log on to windows). it is also available to run in your START menu under "Highresolution Enterprises". When XMBC runs, a little mouse icon is visible in the system tray (by the clock). Double click the icon to open the setup window. Right click the icon to show the menu.

NOTE: On Windows Vista and later, the system tray icon may be hidden. You can normally see the hidden icons by clicking the "show hidden icons" link (up arrow) to the left of the system tray. You can also drag the icon from the hidden (customize) window to the task bar area where it will then stay.
SystemTray.png
NOTE: You can also open the settings by running XMBC again from the start menu.

Is there a user manual?
Yes there is a relatively simple user guide (produced initially by MainTrane and updated by Phil) that explains the various screens in XMBC. It can be found on your start menu after installation, or online here or here (mirror).
There are also some translations, they are linked on the main XMBC download page.


My mouse has more than 5 buttons. How can I configure these buttons?
Can you add support for more buttons?

XMBC is currently only able to support 5 buttons primarily because the Windows mouse hooks (that XMBC makes use of to intercept the mouse button messages) only support up to 5 buttons.

XMBC is not a mouse driver, it uses windows mouse hooks to capture buttons and therefore it is only capable of responding to the messages sent (by the mouse driver) through the Windows mouse hook. The Windows Mouse hooks only support messages for the first 5 buttons. So until Windows mouse hooks recognize more buttons natively, XMBC will only ever support 5 buttons.


Does XMBC support Windows Vista, 7, 8, 10 or 11?
XMBC supports Windows XP through Windows 110, both x86 and x64 editions. It also runs just fine on Windows Server should you choose to do so. Generally I test on the latest version of Windows only (currently Windows 10) but there are many other people participating in the (open) beta tests that use older OS's from XP upwards.

NOTE That different versions of Windows can have different button mapping options available, depending on what that version of Windows offers. For example on Windows 10 you can open the charms bar, search with Cortana and navigate between virtual desktops etc.

NOTE: Prior to version 2.6, if you are using UAC (on by default) then XMBC will not work with programs running in Administrator mode unless XMBC is run in Administrator mode. Version 1.39 and later attempts to circumvent this using a system service to launch XMBC elevated if your account has the ability to do this but obviously a standard user will still be limited to non elevated processes unless you explicitly launch XMBC as administrator and provide account credentials.

NOTE: As of version 2.11, XMBC no longer supports Windows 2000 and require to be installed under the Program Files folder in order to interact with elevated windows (see below).


Installation Location
Why should I/shouldn't I use Program Files for During installation, what difference does it make?

In Windows Vista and later, XMBC operates as an accessibility tool in order to interact with elevated (UAC) windows and send certain simulated keystrokes.

Microsoft's rules for accessibility tools are quite strict, and include that they *HAVE* to be installed under either the \Program Files folder or the \Windows\System32 folder. If that is not the case (you choose a different location), then Windows will stop XMBC from running as an accessibility tool and you simply wont be able to operate with elevated windows or send simulated keystrokes that require elevation (like WIN+X on Windows 8 and later).

Of course, you can get around this by running XMBC as Administrator but that (a) requires and Admin account and (b) if you have UAC enabled, requires accepting/entering credentials every time you run XMBC - hardly an acceptable solution!


What's with the PayPal/Bitcoin button - isn't XMBC free?
XMouseButtonControl is free. The donate button is just that, if you want to show your thanks and support feel free to use it. If you don't, it doesn't matter. It is not my intention to charge for XMBC, or give people who donate any special treatment or quicker fixes/responses.
Of course, all donations are appreciated and do help with the motivation sometimes :)


Can I use XMBC in a corporate environment - what is the license?
As I said above, XMBC is free - you can use it where ever you want. All I ask is that if you want to redistribute XMBC (for example on a magazine cover CD or direct download on another website) you ask me first.
As for license - it is displayed when installing XMBC but it effectively says you can use XMBC for free when and wherever you want, but I can not be held responsible for anything (the usual cover all!).

XMBC is a hobby project, not commercial. The only important things are that you use XMBC at your own risk and I cant be held responsible for anything, as described in the installation license page.

XMBC does not capture any personal information nor does it send anything back to me without first prompting (for example, if the program crashes, it does prompt you asking if you want to send a crash report & log file to me to help debugging).


My simulated keystrokes do not work in games, what can I do?
Some games do not react well to simulated keys. There are various reasons for this, for example, some actively block injected keystrokes to prevent cheating. I have created a dedicated thread for this issue, with some suggested actions to try to resolve the problems.


I have a keyboard with extra buttons. Can you support the extra buttons in that don't currently work in XP64?
Unfortunately, the keyboard support for extra buttons is limited to the driver. You will find, certainly on a MS keyboard, that some of the extra buttons work and some don't. The ones that don't work can not be changed because it would require a driver (like the extended mouse buttons above). Therefore, I am unable, in a program such as XMBC to map these buttons. More to the point, XMBC is for configuring the mouse not the keyboard!


Can you implement this extra functionality for me?
PM or Email me or post to this forum your request and as much detail as possible. Maybe I can help - but don't expect an immediate response - and don't be upset in the unlikely event that I say its not possible!,

XMBC is pretty stable now and there are alternatives like the proper Logitech drivers - so its not going to change in big ways too often! :)


I've found a bug, can you fix it?
Again, PM/Post here, follow the forum rules and include as much information about the problem and I'll do my best to help. Don't forget that XMBC is something I do in my spare time so there will be no promises on timescales!


Can I have the source code?
XMBC is not currently open source, its just free to download and use. This may change in the future as I simply don't have the time to dedicate to XMBC. The principle of XMBC is very simple - it uses windows mouse hooks. I found all the info required to build XMBC in MSDN (look for SetWindowsHookEx())
You do not have the required permissions to view the files attached to this post.
Last edited by phil on Thu Nov 10, 2011 5:11 pm, edited 3 times in total.
--[ Phil ]--
--[ Administrator & XMBC Author ]--
Logitech G9/G604/M720/MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 1Tb NVME, 2x2TB WD Black (RAID1)
User avatar
phil
Site Admin
Posts: 7773
Joined: Sun Apr 06, 2003 11:12 pm

Post by phil »

I have more than one mouse/trackball on my system; Does XMBC have the capability to distinguish between different mice?
Unfortunately, XMBC does not have access to any information that provides the source of the input. It uses Windows mouse hook APIs and therefore it can't determine where the input came from. I believe to do this would require something in the mouse driver which is then limited to individual devices (and I'm just not going there!) or using Direct Input which does not fit easily with the mouse hooks - i.e. you are unable to block the source input when remapping buttons.


The Icon in the system tray has disappeared and won't come back... How do I fix this?
Version 1.25 and later includes a feature to always hide the icon. You enable this by un-ticking the "Show tray icon by default" option in the setup screen.
Once you disable the icon, it will only be shown if you run a second copy of XMBC (from your start menu) or you run XMBC with the command line option to show the icon (/ShowIcon).

So, to fix it, just run XMBC a second time (don't worry it doesn't actually run two instances of XMBC , it just tells the first instance to show its icon!). NOTE: On Windows Vista and later, you may have to run as administrator to show the icon (if the main XMBC is running as admin).


Zone Alarm does not work with X-Mouse Button control enabled
Several people have reported problems using Zone Alarm with XMBC installed. The reason for this is that Zone Alarm, being a nice secure application, does not allow simulated mouse events to control it. Therefore the default actions in XMBC do not appear to work with Zone Alarm.

The simple fix is to set the Left and Right buttons to "Nothing (Don't Intercept)" in the settings. You can do this for all applications or you can add a specific configuration for the Zone Alarm program (iclient.exe) and set it up just for that.

NOTE: From Version 1.25, the default actions for the 3 main buttons have been set to "Nothing (Don't intercept)" which should help avoid this issue in the future, as well as improve performance when the buttons don't need to do anything special!
Last edited by phil on Thu Nov 10, 2011 5:12 pm, edited 2 times in total.
--[ Phil ]--
--[ Administrator & XMBC Author ]--
Logitech G9/G604/M720/MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 1Tb NVME, 2x2TB WD Black (RAID1)
User avatar
phil
Site Admin
Posts: 7773
Joined: Sun Apr 06, 2003 11:12 pm

Re: FAQs

Post by phil »

Can you add tilt wheel support to Windows XP?
The simple answer is NO.
Only Windows Vista and later has native support for the tilt wheel (left and right) commands. On earlier versions of Windows, the mouse driver needs to handle these messages and translate them into user actions. As XMBC is not a driver it never sees the standard messages as they are not there pre-Vista; therefore it can not remap them.


How can I send a custom key press or key sequence?
In the drop down list of functions associated with each button, you can select Simulated Keystrokes. When you choose this, a dialog appears allowing you to specify the key (or key sequence). This dialog also has a help panel details how you can use special tags for certain system keys like the F-keys, arrow keys, CTRL, ALT keys etc.


What are layers (XMBC 1.49 and later)?
Layers give you the ability to configure different commands for a single button. You can switch to a layer using a keyboard hotkey or another mouse button is held down. From version 1.50, you can also switch to a layer when a certain key is held down, see Layer Modifier keys in the advanced settings dialog.
From 1.53, you can specify the layer names. These names are displayed in the balloon bubble when switching between layers.

Please note: In 1.52 and earlier, the Global Hotkey and Layer Modifier key tabs are hidden until you turn ON the global hotkey / layer modifier key support in the general settings tab. This was changed in 1.53 to remove confusion. The enable options are now displayed on the relevant tabs


Why do layer modifier keys not work/interfere with operations
Layer modifier keys allow you to temporarily switch XMBC layers whilst a specified key is held down (pressed). When the key is released, the layer automatically reverts to the previous (normally default) layer.

This can allow you to use more functions on your mouse buttons simply by holding a key down.

The problem with this method of switching layers is that while the key is held down, it may interfere with the operations you are trying to achieve. For example, if you were to select CTRL as the modifier key for layer 2, then when you hold the control key down, XMBC will activate layer two.

The problem comes when you assign an action on layer two that is impacted by the fact CTRL is held down... For example, if you wanted to send the key 'C' and you type this into simulated keystrokes for mouse button 2, when you hold CTRL and press button 2, C will be sent BUT control is held down so the outcome will be CTRL+C - i.e. Copy to clipboard!

Unfortunately it is impossible to block the original key without potentially breaking all use of said key (imagine the trouble if XMBC blocked the CTRL or SHIFT key because you had selected it as a layer modifier key!!). And it is not possible for XMBC to know if you are pressing the key to switch layers or for some other reason (i.e. general keyboard usage), even if it were possible, blocking the key even temporarily then re-injecting it can cause other problems (like certain applications ignoring/blocking injected input). As such it is just something that you have to work around, either by choosing a key that has no impact on the operation or by using another way to switch layers, like global hotkeys (you could then set that layer to auto return to layer 1 after a delay) or perhaps using button chording of button held actions instead.

In this case, it may be worth considering alternatives to layer modifier keys, such as the button chording or maybe global hotkeys, maybe using the "reset to layer x after y" option to return the layer back to normal after a time.


What is button chording

Button choring (available since XMBC 2.16) is the act of combining buttons to perform different actions.

For example, you could use button chording to control media functions - such as enable button chording for the the right mouse button, and then while you hold the right mouse button, the mouse wheel can be used to change the volume, the middle button mute, button 4 and 5 play and stop, the tilt wheel next/previous track etc.

You can choose pretty much any XMBC action that is available in your chords. If need be, you can also configure how the chord impacts the primary (chord) button so that it does not adversely impact the use of that button.


XMBC stops working randomly in Windows 7
When using on Windows 7 or later, XMBC can stop responding to mouse click seemingly randomly. This is not strictly a bug in XMBC but a change in the behavior of Windows. Windows 7 introduced the concept of a timeout for system hooks (the method XMBC uses to monitor the mouse). If the CPU is busy (e.g. playing HD movies) XMBC may not be scheduled (by windows) in time to respond to the hook before this timeout occurs. When this happens, the hook is removed without notification (thanks Microsoft!) and XMBC appears to have stopped working. Restarting it or pressing Apply in the settings screen fixes the problem until it happens again.

The installation processes increases the default timeout from 200ms to 2 seconds. If this is still not enough, you can adjust the low level hook timeout in the general settings screen. You need to reboot after making this change!

See here for more information.


Icons in XMBC 1.53 and later
From version 1.53, the default icon has changed to a new mouse icon. Its cleaner and looks more modern. The layer icons & disable icons has also been updated.

What's more, you are able to use you own icons by creating icon .ico files in the same folder as the main executable (XMouseButtonControl.exe). Simply create icon files with 16x16 or 32x32 (auto-resized) icon images.

The supported icon file names are:
  • Layer1.ico
  • Layer2.ico
  • Layer3.ico
  • Layer4.ico
  • Layer5.ico
  • Layer6.ico
  • Layer7.ico
  • Layer8.ico
  • Layer9.ico
  • Layer10.ico
  • Disabled.ico



How do I disable the check for new version?
XMBC 1.53 Introduced a simple version check. It operates once a month (on the first day you start XMBC in that month). All it does is check the current version using a call to my website (https://www.highrez.co.uk). It is enabled by default, but can be turned off in the advanced settings, general tab. When its turned on, you can quickly check for a new version by opening the about box (it will pop up a message if there is a new version available).

From version 2.2 you can also adjust how frequently XMBC checks for new versions in the general settings tab.

NOTE: For a long time now, the version check is now done via a DNS query. As such it does not need to communicate with my (or any other) web server anymore. It just does a DNS query that will be cached by various DNS servers around the internet. It means XMBC does not make any direct queries over https for the version check and can not be monitored/tracked in that way.



Where are the XMBC settings and profiles saved. Can I export them?

Firstly, you can export individual profiles, or all (except the default) profile by selecting the profile, right clicking it and choosing export selected or export all. However this only exports profiles, not generic settings.

The settings are stored in an XML file called
XMBCSettings.xml.
By default, on Windows Vista and later, this is in your user profile folder:

C:\Users\<your username>\AppData\Roaming\Highresolution Enterprises\XMouseButtonControl
However this can be changed during installation when it asks you where to store the settings (and language packs and log file).

NOTE: You can quickly open the folder by holding the CTRL key and clicking the XMBC icon system tray.


From version 2.16, you can also save and load whole profiles directly from the main XMBC screen. This includes all settings and the default profile.


I've just installed XMBC 2.6 or later and I'm having problems with macros in some programs

XMBC 2.6 onward no longer uses a Windows service to launch the application on Windows Vista and later. Instead it does things properly and runs as an accessibility tool (like the on screen keyboard). To run in this mode, XMBC has to be installed in an OS protected location (i.e. the Program Files folder).

If you choose to install XMBC in a different folder it will run in portable mode and certain functions will not work. You will not be able to run macros in elevated processes and certain macros will not work as expected (such as ALT+TAB). This impacts Windows 8 more than earlier versions.

It is highly recommended that you install XMBC under you main Program Files folder which is the default location. If you have not done so, uninstall XMBC and then re-install it in the default location.
You do not have the required permissions to view the files attached to this post.
Last edited by phil on Thu Nov 10, 2011 5:16 pm, edited 2 times in total.
--[ Phil ]--
--[ Administrator & XMBC Author ]--
Logitech G9/G604/M720/MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 1Tb NVME, 2x2TB WD Black (RAID1)
User avatar
phil
Site Admin
Posts: 7773
Joined: Sun Apr 06, 2003 11:12 pm

Re: FAQs

Post by phil »

I have changed the LEFT or RIGHT mouse button and now I can't use my computer
... How do I get my mouse buttons back to normal?


This one comes up far too often. I guess its easy to do when new to XMBC or when playing with some advanced button chording configurations. Here are some solutions to disable XMBC and regain the use of your left/right mouse buttons:


  • Firstly, by default, XMBC can be disabled using the scroll lock (Scr Lk) key.
    If you have a scroll lock key and have not changed the default, turn on scroll lock to disable XMBC. Then your buttons should then work as normal and you can go and change your XMBC settings!
  • If you can still use the right mouse button, right click the XMBC icon in the system tray to show the context menu. Then use the arrow keys/return to select "Disable XMBC"
  • Use the keyboard to open the start menu and launch XMBC (for a second time). This should show the setup screen and you can use the keyboard tab key and arrow keys to move around and change the button mappings.
  • Launch a command prompt (Win+R and then CMD<return>) and disable XMBC using command line parameters:
    "c:\Program Files\Highresolution Enterprises\X-Mouse Button Control\XMouseButtonControl.exe" /disable (*)
    or "c:\Program Files\Highresolution Enterprises\X-Mouse Button Control\XMouseButtonControl.exe" /exit
  • Open task manager using the keyboard (CTRL+ALT+DEL) select Task Manager using arrow keys/enter. then use the TAB and arrow key to navigate around task manager, select the process details tab, find XMouseButtonControl.exe and kill the process (On Windows 10 you may need to show "more details" which you can do using TAB and the space bar).(*)

(*) NOTE: If you disable or exit XMBC without changing the button mappings, when you restart XMBC the buttons will still be re-mapped. You can delete/rename the XMBC settings file to prevent this but you will loose all configuration.

Once you have disabled/closed/killed XMBC, you can use the mouse again until XMBC is restarted. If disabled, you can still access the XMBC settings window to change/fix the bad button mappings.

If you closed/killed XMBC you can delete the settings file, called XMBCSettings.xml which is (by default) in
C:\Users\<your username>\AppData\Roaming\Highresolution Enterprises\XMouseButtonControl

You can also uninstall XMBC using control panel (you can launch the Windows Add/Remove Programs from the keyboard simply by pressing the windows key then typing "Add or remove programs" or "programs and features" in the start menu (or Cortana) search box).

Once you uninstall XMBC you can reinstall and select "Reset existing settings" (otherwise you may find the old settings are remembered and you loose the button function again!)

NOTE: You can also setup global hotkeys to disable/enable XMBC for future use in case this happens again!


XMBC Fails to run on Windows 7 with an error message saying "A referral was returned from the server"
XMBCReferral.PNG
This error is a known issue on Windows 7 that is not up to date. The reason is that XMBC is a digitally signed software package - it needs to be to run as a Windows Accessibility Tool and interact with elevated processes without itself being elevated. The digital signature is too new for some older versions of Window 7, and thus Windows does not trust it.

This is usually fixed automatically by keeping Windows up to date and running Windows Update. However on a fresh install of Windows 7 you will see this, either until you update windows or you manually install KB3004394.

Install the update and ensure your computer has internet access. That should fix the error. NOTE: Once updated, internet access is no longer required.
You do not have the required permissions to view the files attached to this post.
--[ Phil ]--
--[ Administrator & XMBC Author ]--
Logitech G9/G604/M720/MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 1Tb NVME, 2x2TB WD Black (RAID1)
User avatar
phil
Site Admin
Posts: 7773
Joined: Sun Apr 06, 2003 11:12 pm

Re: FAQs

Post by phil »

I can't find an English language translation pack (xmbclp) - where is it?

XMBC is written using English as the default. It is, after all, all I know!
So it does not need a translation file for English. It is in English by default. You can change this in the language tab on the settings screen or by opening one of the translation files.

If you have accidentally opened one of the language files and inadvertently chosen a new display language, you can get out of this several ways.
1. Find the language tab on the settings screen (accessed by the left most bottom button on the main screen). This is the 4th tab and has one dropdown on it to choose the language. Select English - UK (Default) and OK (enter) then Apply & Close (the right most buttons at the bottom of the main XMBC GUI.

2. Delete all the language translation files - then XMBC will not be able to find any translations. However, when updating XMBC or reinstalling, it will replace these translation files and the issue may occur.

3. Find the English TEMPLATE file, rename it English.xmbclp and open it.
--[ Phil ]--
--[ Administrator & XMBC Author ]--
Logitech G9/G604/M720/MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 1Tb NVME, 2x2TB WD Black (RAID1)
User avatar
phil
Site Admin
Posts: 7773
Joined: Sun Apr 06, 2003 11:12 pm

Re: XMBC Frequently Asked Questions [FAQ]

Post by phil »

If you have a question that is not answered here, first check that no one else has asked the question by searching this forum. If not, please sign up to the forums and post a new topic in the XMouse Button Control forum here.

You can also try the Discord channel, if I'm online and free its a great way of chatting things through more quickly than the to/fro of posts on the forum!

Alternatively you can PM me or email me directly (but I prefer the first two options as I often miss emails that get marked as SPAM).

Thanks,
Phil
--[ Phil ]--
--[ Administrator & XMBC Author ]--
Logitech G9/G604/M720/MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 1Tb NVME, 2x2TB WD Black (RAID1)
Locked