Invertet mouse axises and button combinations

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
krizalidzero
New User
Posts: 3
Joined: Mon Aug 31, 2020 3:29 am

Invertet mouse axises and button combinations

Post by krizalidzero »

XMBC Version: 2.19.1
Windows Version: Windows 10 2004
Mouse Information (brand/model): Several, but right now Kensington and Elecom trackballs
Relevant Computer Information (CPU, RAM etc): i5, 16GB
How long have you used XMBC?: More than 5 years
What language and keyboard layout do you use in Windows?: Spanish and Japanese

Hello.
Thank you for your amazing work, this is just too good and I definitely have to eventually donate.

That said, I just want to request 2 features if possible at all.

1.- I've come to notice a lot of people use their mouse upside down, and it would be great if we could just invert both axises with your software (system wide, of course). I myself experiment with several positions due to hand, arms and other pains, so I wanted to use my mouse upside down but without losing the orientation (which is the reverse of the group of people who would most benefit from this, they want to use their mouse in the position it is meant to be used but with inverted tracking).

2.- It has come to my attention that Kensington mice allow for mouse key combinations, but XMBC only has keyboard combinations for doing things. It would be great to have mouse key combinations! (left and right for scrolling and what not).

I have two question: Would it be ever possible to get your software working on Mac or else? It is just too good.
Is there any way or plans to support mice with more than 5 buttons? (I have one with 8 ).

Thank you again!
User avatar
phil
Site Admin
Posts: 7664
Joined: Sun Apr 06, 2003 11:12 pm

Re: Invertet mouse axises and button combinations

Post by phil »

1. Inverting the axis in XMBC requires throwing away the real movement messages and injecting new (inverted) movement messages. This is possible but comes with drawbacks, primarily, it could introduce lag but perhaps more important, anything that blocks injected input would not work (infact you would potentially get no movement at all (depending how it worked)). Games ovten block injected input (as it can be seen by some as cheating). Therefore to get a generic solution to this (system wide), XMBC is really not the place to do it - it needs to be done at a lower level (eg. mouse driver) which is not straight forward.

2. Not quite sure what you mean here? Simulated keys can send pretty much anything including mouse buttons - if that's what you mean?

3. No it wont be possible to make XMBC work on anything else. It is heavily tied into Windows Mouse message hooking (that's how it works). On other platforms, this simply does not exist (is done differently). Therefore the program would have to be completely different - not saying it cant be done, just it would not be a simple port, but a completely different application/way of doing things - and as my experience he with Windows API's its not something I'm able to invest my precious time doing.

4. The FAQ explains why XMBC only supports 5 buttons - and is tied to 3) above. Windows mouse hooks only support 5 buttons so until that changes, there is little chance of more buttons being supported - there may be alternative ways to do it but its not simple, I have tried before (and failed) so whilst I am not ruling it out, the chances of it happening (and certainly working the same way as the first 5 buttons) is low.

My biggest problem these days is time - I don't seem to find enough of it to look at XMBC! I've been sat with 2.19.2 with some significant (internally) things to do for the next version for over 6 months now and they haven't even got a look in. I don't know where the time has gone :(.

Regards,
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)
krizalidzero
New User
Posts: 3
Joined: Mon Aug 31, 2020 3:29 am

Re: Invertet mouse axises and button combinations

Post by krizalidzero »

First: Thank you so much for taking your time to reply.
About the time, don't worry, there's no rush :D Plus the software is already basically perfect as it is.

What I meant by button combinations is mixing clicks. So right + left click, middle + right click etc triggering different functions.

Or triggering things with the mouse itself.
I think I checked all settings but I wasn't able to find anything like that.
I have my Kensington Orbit with 2 buttons.
The Kensington software isn't as good as yours, and I only use it to make the left and right buttons together be middle click and then your software bypasses the rest of the functions and does more things for me.

I wish I didn't need that Kensington layer of software, plus I think this could benefit a lot of people.

4 I figured the 5 button thing was related to Windows, since the OS itself is a 5 button OS so to speak.
Mac and else was also only very wishful and I expected it to be impossible from the start.
And about the possibility of inverting the mouse being that tough is kinda sad (mostly for the group of people that need it than me, since for me it would just be an experiment).

Still, your software is basically perfect and other than mixing mouse clicks it doesn't seem to lack anything I can think of. Even if I have been using the software for years I recently tried your scrolling options and they are the best ever!
User avatar
phil
Site Admin
Posts: 7664
Joined: Sun Apr 06, 2003 11:12 pm

Re: Invertet mouse axises and button combinations

Post by phil »

Oh, left + right or middle + left - look at "Button Chording" that is basically exactly that.

Glad you find XMBC useful though - its good to know :).
--[ 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)
krizalidzero
New User
Posts: 3
Joined: Mon Aug 31, 2020 3:29 am

Re: Invertet mouse axises and button combinations

Post by krizalidzero »

Thank you!
That works for me.

Is there any way to make it instantaneous instead of having a button wait for another? (both exactly at the same time).

Also, another question: Is it possible to have it recognize two mice separately and use them with different profiles?
User avatar
phil
Site Admin
Posts: 7664
Joined: Sun Apr 06, 2003 11:12 pm

Re: Invertet mouse axises and button combinations

Post by phil »

Two mice - no I'm afraid not - there is no information in the Windows message hooks as to the origin of the messages (except if they have been injected by another process there is a flag to indicated that).

As for chording - its is physically impossible to press them at exactly the same time. The buttons will always be pressed one before the other (even if were talking microseconds). This means the message order (which is key) will always be one before the other too. So in effect, your asking for button 1 then 2 or button 2 then 1 to do the same thing - this you can do through your configuration. But beware, chording means that XMBC has to intercept, throw away and subsequently re-inject the button message IF you do not activate the chord that can a) introduce lag and b) be blocked/ignored in games that use Raw/Direct Input or block injected messages - so your millage may vary. Im afraid thats a limitation of XMBC (or more precisely the way Windows messages, hooks and injection works!).

Regards,
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)
Arcturus
New User
Posts: 1
Joined: Thu Sep 17, 2020 7:56 pm

Re: Invertet mouse axises and button combinations

Post by Arcturus »

phil wrote: Wed Sep 02, 2020 6:28 pm Two mice - no I'm afraid not - there is no information in the Windows message hooks as to the origin of the messages (except if they have been injected by another process there is a flag to indicated that).
Thanks for answering my question before I even asked it. I work with two mice simultanously for about 20 years. This would have been a great feature.
Post Reply