Access to buttons 6+

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.
Post Reply
Kalahuna
New User
Posts: 2
Joined: Sun Sep 17, 2017 3:22 pm

Access to buttons 6+

Post by Kalahuna »

Thanks a lot for this pretty piece of software!

I am using the Mad Catz Office RATm Mouse. I do not get it to work properly with WIN10.
The Mouse Button programming Software is inoperable. It does not find the mouse thougt the mouse is properly operational.The company is broke.
Thus I can not program the mouse buttons any more and XMBC is a proper help..

But this mouse has three additional buttons, which leads me to my question:

Is there any chance to get XMBC to access more buttons?
User avatar
phil
Site Admin
Posts: 7664
Joined: Sun Apr 06, 2003 11:12 pm

Re: Access to buttons 6+

Post by phil »

The FAQ gives an explanation as to why XMBC can not see any more than 5 buttons. I'm afraid that hasn't changed. I have investigated other ways but not had any success so far. So as of right now, there is not much chance, but I wont say no chance.
--[ 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)
dinu
Member
Posts: 23
Joined: Mon Jul 17, 2017 9:09 am

Re: Access to buttons 6+

Post by dinu »

Hi Phil,
Looking at my Steelseries 500 mouse, it looks that it does actually send buttons 1-8 as windows msgs. (The mouse has actually 13 buttons + scroll, but it will only let assign 1-8 target "buttons", the rest must be mapped to something else). Is it possible the 5 button limit has been upped to 8?
User avatar
phil
Site Admin
Posts: 7664
Joined: Sun Apr 06, 2003 11:12 pm

Re: Access to buttons 6+

Post by phil »

How does it send buttons 1-8 as windows messages? The windows mouse hook API only supports 5 buttons (and tilt and scroll) - and no it has not been upped according to the MSDN documentation. Unless it uses the same message with different flags (I have seen one mouse do this previously but that only had 4 buttons (lol)).

Maybe I need to get me one of these mice so I can have a play and see how it really works... £80 seems a bit pricey though :(.

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)
dinu
Member
Posts: 23
Joined: Mon Jul 17, 2017 9:09 am

Re: Access to buttons 6+

Post by dinu »

Do you have some message logging app I can run? I uninstalled Visual Studio more that a year ago... But if there's a simple way to capture the raw data, I can make a test.
User avatar
phil
Site Admin
Posts: 7664
Joined: Sun Apr 06, 2003 11:12 pm

Re: Access to buttons 6+

Post by phil »

I don't but there are a few API spy type programs that might work...

This one is pretty good: http://www.rohitab.com/apimonitor but I don't know if it will capture messages presented to the mouse hook. Ive never needed that myself because I get that when running under the debugger.

Actually, if you enable debug logging in XMBC, it logs every mouse message received by the hook (and what XMBC does with it). That might be enough.
--[ 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)
dinu
Member
Posts: 23
Joined: Mon Jul 17, 2017 9:09 am

Re: Mouse speed bug

Post by dinu »

Message I'm looking for is WM_XBUTTON*, right?
dinu
Member
Posts: 23
Joined: Mon Jul 17, 2017 9:09 am

Re: Mouse speed bug

Post by dinu »

https://stackoverflow.com/questions/276 ... ns-windows

"The RAWMOUSE structure supports 5 buttons in addition to the 3 regular buttons (left/middle/right). In other words: It will report information for 8 different mouse buttons, not just 5 (as I assume you implied)."

I think this is where they get the 8 buttons from?
dinu
Member
Posts: 23
Joined: Mon Jul 17, 2017 9:09 am

Re: Mouse speed bug

Post by dinu »

They definitely have 8 buttons listed for mapping target... I checked and Button 1 is LMB, 2 is RMB, 3 is scroll button, 4 and 5 are 4 and 5 also in XMBC; 6,7 and 8 are not aliases for tilt, so I assume they do have a more-or-less standard way of transmitting them. The mouse has 13 buttons + tilt, so I could see no reason that they would limit target mapping to 8 buttons if they had a vendor API that parner games would use, so that's why I assumed there is actually a standard way to map 8 buttons through windows. I will do some more research over the weekend.
dinu
Member
Posts: 23
Joined: Mon Jul 17, 2017 9:09 am

Re: Mouse speed bug

Post by dinu »

PS. I made a mistake and posted here the replies that should go to 6+ buttons. Sorry, hope you can make clean :)
User avatar
phil
Site Admin
Posts: 7664
Joined: Sun Apr 06, 2003 11:12 pm

Re: Access to buttons 6+

Post by phil »

HI, yes I have moved the posts to the correct topic.

Unfortunately, XMBC does not use RAWINPUT (RAWMOUSE), it uses mouse hooks. RawInput does not allow the application to block the original message, where as mouse hooks do. But mouse hooks only work with buttons up to 5.

In the future it may be possible to use RAWINPUT for additional buttons (which dont need to be blocked) but every time I have looked into this (about 3 times) I have been unable to find a solution that works with RAWINPUT and mouse hooks together (and mouse hooks need to be used for the buttons that need to be blocked (ie those that do things by default in Windows).

The biggest problem I have is that I dont have any mice that have more than the 5 buttons which makes it difficult to do any real testing - so maybe I will just have to get me one of these steelmouse devices.

PS. Message I'm looking for is WM_XBUTTON*, is the windows message that I can intercept wit mouse hooks, so if you do see that present a button number other than 4 or 5 then yes that would be a clue. But I suspect that the message spy type programs will not see the messages routed through hooks so it might be more difficult than that (the XMBC log will log all messages sent through the hook along with its associated data so that is still a possibility). However, the "Office" mouse that had an additional middle button didn't use WM_XBUTTON* it actually modified the data inside WM_MBUTTON*, I guess at the driver layer. So its not possible to say for sure, how each device will do this - which makes it more difficult to implement any extra generic functionality!

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)
dinu
Member
Posts: 23
Joined: Mon Jul 17, 2017 9:09 am

Re: Access to buttons 6+

Post by dinu »

Indeed, there don't seem to be any WM_ messages in the XMBC log for buttons 6-8
Post Reply