Newest version doesn't work right with repeat

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.
User avatar
phil
Site Admin
Posts: 7627
Joined: Sun Apr 06, 2003 11:12 pm

Re: Newest version doesn't work right with repeat

Post by phil »

Oh... my bad. Sorry. I don't think this was properly explained before, or at least in this thread.
Maybe I didn't explain it well here before, I could have sworn I did recently - maybe it was in the beta thread - or maybe I'm just imagining things :).
But then I wonder if there is any real use for mode 3 when it comes to Windows applications, or even games.
Yes there is, its used all the time, particularly with modifier keys like ctrl,alt,shift! You may not have much use for it but XMBC is used in many many different ways by many people! :)

I'd say particularly in games where you use keys to (for example) move, holding say W to go forward, you don't want to repeat it (on, off on off) over and over - you would move, stop, move, stop, move, stop and so on - where as with method 3, it would hold the move key until you released the button - smooth forward movement (no repeat required).
--[ 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: 7627
Joined: Sun Apr 06, 2003 11:12 pm

Re: Newest version doesn't work right with repeat

Post by phil »

Ive had a quick look - but not found much yet. Some comments so far...
choin wrote: Sun Jan 19, 2020 2:04 pm I've tried older versions and noticed that the issue happens in 2.18 already, so if there were no other builds between 2.17 and 2.18 then 2.18 introduced the problem.
There were lots of beta builds but lets not go there!
choin wrote: Sun Jan 19, 2020 2:04 pm Next, I've tried creating a new profile for notepad.exe. No issues there - mode 6 works fine.
Then I've tried creating a new profile for opera.exe from scratch - same, no issues. I've then noticed that in the older profile I had the "Only send if profile's process is active" option enabled, but it was disabled by default in the new one (User Guide says it should be enabled by default). I've enabled it in a new profile too and the problem started happening again.
OK well the user guide is wrong - this option "Only send...." is off by default. Now this is probably relevant. If this option is ON, then the focus window needs to be of the process (or window if using a window specific profile). And if the cursor moves between instances of the same process, it could in theory stop the repeat. But if the cursor remains over the one window (and that window has keyboard focus) then it should be OK.

This at least gives me something to go on, but I get a nasty feeling that its going to be a tricky one to reproduce and diagnose. Is it only opera this struggles with or any program with multiple instances I wonder.

Ive installed opera (just the latest version) and it *seems* to behave the same with that option on or off (here). Can you please send me a copy of your whole profile - maybe there is something else (a global setting or a profile setting) I am missing.

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)
User avatar
phil
Site Admin
Posts: 7627
Joined: Sun Apr 06, 2003 11:12 pm

Re: Newest version doesn't work right with repeat

Post by phil »

Actually, along with a copy of the profile, if you could turn on debug logging and catch the problem in the log it may go a long way to helping find the problem. It sounds like (for whatever reason) the timer is not getting killed when you release the button.... But I cant for the life of me make that happen here! It could be timing related (as it dependent on the speed of your computer - which would make it a really nasty one to track/debug) or it could be something to do with moving the mouse over windows (but I guess your not moving it that far if at all between the click and the release of the button....

The log may give me some clues
--[ 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)
choin
New User
Posts: 9
Joined: Fri Dec 27, 2019 6:35 pm

Re: Newest version doesn't work right with repeat

Post by choin »

I've tested with latest Opera in portable mode. Just having 2 tabs in 1 window is enough to replicate the bug. No change to default Opera configuration was done, except that I set the following shortcuts in Settings:
Switch right through tabs - F2
Switch left through tabs - F1

I do not move the mouse while pressing the affected button, or at least I don't move it between different windows - this is absolutely not required to replicate the issue. Sometimes it doesn't happen, but most of times it happens. With the attached debug log, I think it happened third time I pressed the button.
Last edited by choin on Sun Jan 26, 2020 10:26 am, edited 1 time in total.
User avatar
phil
Site Admin
Posts: 7627
Joined: Sun Apr 06, 2003 11:12 pm

Re: Newest version doesn't work right with repeat

Post by phil »

Well thats interesting, I only had a cursory look (will look in a bit more detail in the morning with a fresh mind) but the log does not show any buttons pressed when the opera profile is active, apart from the left button. It seems you have mapped buttons 4 and 5 to simkeys - so I'm not entirely sure why its not showing anything. One possibility is that debug logging turns itself off when you restart XMBC - maybe therefore it didnt capture the three button presses you mention.

Any chance you can do it again? It would also be very useful to make a note of the time when it goes wrong so I can tie it up roughly to the log entries (apologies for not mentioning that last time round)!
Also, can you send the whole settings not just the opera profile - I'm pretty sure if it is a "setting" issue, then I will need the whole lot - indluging the global settings. The opera profile you sent does not include the global settings (I presume you used the "Export" button rather than the "save profile" button??? - the names are perhaps a little confusing!

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)
choin
New User
Posts: 9
Joined: Fri Dec 27, 2019 6:35 pm

Re: Newest version doesn't work right with repeat

Post by choin »

Here.

2 logs included - for cases with the problematic option enabled and disabled.

You can see that I clicked the button 3 times. With the "Only send if profile's process is active" enabled, all 3 clicks issued a bugged behavior - as if I hold the button instead of clicking.
You do not have the required permissions to view the files attached to this post.
User avatar
phil
Site Admin
Posts: 7627
Joined: Sun Apr 06, 2003 11:12 pm

Re: Newest version doesn't work right with repeat

Post by phil »

Thanks... That's perfect - it definitely shows the problem... Ive only had a really quick look... but I think I have found the key indicator here.... When the option is OF (only send when active), Im seeing this in the log (and then the infinite repeat....

26-01-2020 12:17:17.685> Not sending key sequence '{F1}' as profile window is not active.

Sooooo XMBC has actioned the button PRESS, but refuses to action the button RELEASED because it thinks the active process has changed and therefore the profile's process is not active. That gives me a lot to go on, especially as there are no log entries suggesting the process has changed - so I suspect there is a check going wrong or missing.

I''ll get back to you when I have more.
--[ 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: 7627
Joined: Sun Apr 06, 2003 11:12 pm

Re: Newest version doesn't work right with repeat

Post by phil »

OK I think I understand what is going on (although I still cant reproduce it perfectly here) it makes sense to me.
In 2.18 there was a lot of work done to fix issues in brwosers with activate on scroll. Where it would actiavte the wrong thing, especially when the browser uses different processes to host each tab - this is how most browsers work these days.

The problem with "Only send if profile's process is active" is that in a browser, each tab can be a different process and navigating between tabs can result in the actual process changing. Now this is quite normal, its just XMBC does not behave properly when this happens - as you found. So it thins the process/window has changed (well it has) but in error, it decided that it therefore must be a different window/process and not to send the button released and thus stop the timer.

This should be fixed in 2.19 Beta 20 if you would like to confirm one way or another that would be really useful.

Thanks for you assistance and patience!
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)
choin
New User
Posts: 9
Joined: Fri Dec 27, 2019 6:35 pm

Re: Newest version doesn't work right with repeat

Post by choin »

I've done a quick test with Beta 20 and it appears fixed.

Thanks. I'll send more feedback if I find another issue.
Post Reply