Issues with "slow down mouse" and cycle mouse speeds

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
Wimads
New User
Posts: 11
Joined: Mon May 03, 2021 4:23 pm

Issues with "slow down mouse" and cycle mouse speeds

Post by Wimads »

XMBC Version: v2.19.2
Windows Version: Windows 10 64 bit
Mouse Information (brand/model): Kensington Orbit Fusion trackball & Microsoft Explorer Touch mouse
Relevant Computer Information (CPU, RAM etc): Intel i7 9750H; nVidia GTX 1660 Ti; 16GB RAM
Did the problem occur after an upgrade of XMBC? (If so, from what version?): no
Did the problem occur after a Windows update/upgrade? (If so, from what version?): no
How long have you used XMBC?: 2-3 weeks
What language and keyboard layout do you use in Windows?: US layout; Dutch and US-English languages

Clear description of the problem - try and include as much information as possible, including what button and mappings you are having problems with (if applicable).:

Ok so I have not exactly got to the bottom of what is going on here, but will try my best to explain as accurately as possible:

I thought I would combine a profile for two different mice - a trackball and a regular mouse - where I simply switch layer if I switch from device (Layer 1 trackball, layer 2 mouse). Both devices require a different mouse speed to be comfortable, so I used cycle mouse speed to get this done.

Mouse speed settings
Override Mouse speed is checked.
Default speed in profile is set to value 5 + enhanced pointer precision.
Default speed in global settings is identical.

Speed for cycle 1 and 3 are for trackball and are set to value 5
Speed for cycle 2 and 4 are for mouse and are set to value 9.
Hotkey CTRL+ALT+S is used to cycle between mouse speeds.

I change layer with simulated keystroke: {CTRL}{ALT}s{waitms:500}{layer:next} - so that mouse speed cylces automatically when I change layer (not sure if the waitms is required, haven't tried without yet).

For the trackball I also use a modifier key (CAPS) to slow cursor speed whenever I need to be more precise.

The problem
Layer is set to 1 and mouse speed cylce is set to 1. So mouse speed should be value 5.
When I use the modifier (CAPS) to slow down cursor speed and release again, it doesn't return to the original mouse speed it was set to, but it is suddenly super fast. (probably value 10, but no way to tell exactly).
I need to use the hotkey to cycle mouse speeds to get to the desired mouse speed again. Cycling mouse speed works entirely as expected, and the cycle number was as expected (it had not changed by the CAPS modifier).

The same behaviour occurs when I make a change some settigns in XMBC and click "apply" - doesn't matter what setting was changed, just hitting apply triggers the same behaviour: mouse speed is too fast, and I need to cycle mouse speeds to get back to expected behaviour.

Lastly, if I set the default speed (both in profile and global settings) to a low value, like 1 or zero, then a similar but opposite behaviour happens. If I relaese the modifier (CAPS) it resets to a very slow mouse speed (guessing value 1 or 2), rather than returning to the original speed.

It seems to have something to do with the default mouse speed settings, but I cannot exactly determine how it interacts. I thought maybe setting the default speed to value 2 or 3 might work around the issue, and it does to some extent - the resulting mouse speed is then not extremely fast or slow, but somewhere inbetween, but it is still not exactly the original mouse speed I desired (value 5), but probably something like value 4 or 6 (double the default value maybe??).
[EDIT] after some further experimenting, it seems the resulting mouse speed is double the value of the profile default setting, global setting doesn't matter.
[EDIT2] I further noticed that the same behaviour occurs when changing application profile - it automatically sets to 2x the default profile speed. It does not remember the cycle speed - which I guess does make some kind of sense, since otherwise different default speeds per profile wouldn't get picked up.

I guess there is 3 problems here:
1) The default speed values (slider) do not match with the number values of the cycled speeds. Default value 2 equals cycle value 4. This seems pretty odd to me.

2) It doesn't remember the cycle speed after slow cursor modifier is used.

3) It doesn't remember the cycle speed when changing application profile - which I guess is a tricky one, because there'd also be scenarios where you'd want to change mouse speed based on application profile. [s]Maybe there should be a checkbox in each profile, which says whether it should follow globally set cycle speed, or the application profile speed.[/s]--> see edit4, that checkbox actually exists lol, just interpreted it wrong before.
[EDIT3] Even better would be if the cycles can be set for each profile instead of globally. But then I would want it to remember which cycle it is in when changing between profiles, so I could set different values for for example cycle 2 for each application profile, and it would take on whatever value cycle 2 is set to when I change application, rather than resetting to the default value.

[EDIT4] sorry for keeping on editing this lol :P just figuring out things.
It seems that one part of the problem is solved by un-checking override mouse speed in the individual application profiles; then it will follow the global setting only, and then it will remember the cycle number when switching applications. I first thought that checkbox was for overriding windows mouse speed setting, but its actually for overriding the XMBC global setting..
The odd 2x difference between default speed and cycle speed is still there, and the resetting to default speed after slow cursor modifier is still an issue.

User avatar
phil
Site Admin
Posts: 6762
Joined: Sun Apr 06, 2003 11:12 pm

Re: Issues with "slow down mouse" and cycle mouse speeds

Post by phil »

Wow this one sounds complicated (the use case and the bug!).

In regard to the 3 problems.
1. Actually Windows cursor speed can go from 1 (slowest) to 20 (fastest). However, in their wisdom, Microsoft decided the slider in Windows would only have 10 steps, each step increases the value by 2. I think the slider in XMBC mirror that, so goes in steps of 2 (for each slider increment). I wonder if the cursor speed cycle is actually sending the numbers rather than multiplying them by 2 - I'll have to check but I bet thats why they are different.

2. Quite possibly - the cycle speed is pretty new and not widely used so I wouldn't be surprised if you were the first person to notice a bug like this!

3. Ouch this one is more of a problem... I would like to hope that your edit4 is the easy solution to this... Because I cant comprehend how much effort it would be to make this a per-profile setting and persist the current setting when switching between profiles!

Ive created an entry on my bug list for this (I will probably only target items 1 and 2 in all honesty).
--[ Phil ]--
--[ Administrator & XMBC Author ]--
Logitech G9, Logitech MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 500Gb NVME, 2x2TB WD Black (RAID1)

Wimads
New User
Posts: 11
Joined: Mon May 03, 2021 4:23 pm

Re: Issues with "slow down mouse" and cycle mouse speeds

Post by Wimads »

1. Ah right, I can see how that came to be. I actually would be happy if the speed can be in 20 increments rather than the windows 10 step slider. But for now I've worked around it by just keeping it to even numbers in the cycled speeds, which I guess I can adjust to. (would apparently anyway have had to adjust to that if I didn't use XMBC). The thing that makes it confusing though is that the cursor shows a number from 1-10 when sliding the slider, which does not match with the cycle speed numbers from 1-20. So that's something that ideally should match up to prevent confusion.

2. Would be awesome if this can be solved in a next iteration (whenever that might be). Though I have made it work now. Having figured out what caused the issue, I was able to set the default speed to equal as the cycled speed for my trackball (by sticking with even numbers for the cycled speed). So whenever it resets to default speed, its the same as the cycled speed (for trackball). For the normal mouse resetting to default would still be an issue, but the slow cursor modifier isn't really required for normal mouse anyway, so there its a non issue (for my usecase at least).

3. Yes, my EDIT 4 solves the problem, so this is no longer an issue. If I want the speed to be application dependend, I check "override mouse speed" in the profile - if I want it to be device dependend, I stick with the global setting. A combination of those wouldn't be possible, but I cannot imagine a usecase for myself where I'd require that, so no issue there for me personally.

Wimads
New User
Posts: 11
Joined: Mon May 03, 2021 4:23 pm

Re: Issues with "slow down mouse" and cycle mouse speeds

Post by Wimads »

Just found out one more related bug:

Cycled speed can only be set between 1-10. Given the 2x difference, that means it can only be set to maximum half the speed of the default slider.

User avatar
phil
Site Admin
Posts: 6762
Joined: Sun Apr 06, 2003 11:12 pm

Re: Issues with "slow down mouse" and cycle mouse speeds

Post by phil »

That's not just related, its exactly the same problem :)
--[ Phil ]--
--[ Administrator & XMBC Author ]--
Logitech G9, Logitech MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 500Gb NVME, 2x2TB WD Black (RAID1)

Wimads
New User
Posts: 11
Joined: Mon May 03, 2021 4:23 pm

Re: Issues with "slow down mouse" and cycle mouse speeds

Post by Wimads »

Lol yes. I previously just arrived at the conclusion that the cycled speed is a 1-20 scale - which technically I guesd it is, but apparently can only enter up to 10 :P

Post Reply