Hi Nillaz,
Can you provide more detail: What is in the myDesigner command for the webpage that is currently loaded for the navigation button you are pressing?
What is in the log when this occurs?
Are you using a custom command?
For example, on the roku.html, If I have the guide up on the TV, I press, cursor moves as long as depressed. I let it up, it stops. That's what I would expect for that use case.
I also use the Channel Up Short to go "Up 5 clicks" with one press. This gets uses a LOT. I use Channel Up Long to go "Up 30 clicks". I use this when going from "middle of the guide to top of the guide, quickly".
These two functions are used extensively on my system (which should be the default behavior) which significantly eliminates pressing the Up / Down nav buttons.
The commands I use depend on the device, but it happens with all devices, and all commands regardless of format. I don't use a Roku, but I observe this behavior on my Shield TV, Apple TV, bluray player, XBOX, etc.
Some of those devices don't matter. I don't care about it on my bluray player because it's not necessary to hold a button for scrolling purposes in the first place. It's much more of an issue on streaming devices like the Shield and Apple TV. For the sake of simplicity I'll just focus on the Shield TV since that is what we use the most and where I might be scrolling left and right through long rows of videos. I prefer to use IR commands via the ip2ir for navigation because they allow for faster scrolling than ADB.
So if I was to press the right dpad button (this one has worn out first on both remotes because it tends to get used the most) my current command is:
Control|3~SendIR~Nvidia-Shield Android TV IR~CURSOR RIGHT
If I switch to ADB I use:
AV|{{active_shieldtv_{{clientname}}}}~Remote~Right
The results are the same with both. If I longpress the dpad right button it starts scrolling right, as expected. When I let go of the button it keeps scrolling right. How long it keeps scrolling for depends on how long I have held the button for. If I've held the button for 5 seconds the server will keep issuing commands for maybe another 6 or 7 seconds. If I've held the button for 10 seconds it might keep issuing commands for an additional 20 or so. This interval keeps getting longer as you hold the button for longer durations. It's also uninterruptable by pressing another button on the remote. I have to let the system finish processing all of the commands that have queued up first before I can do anything else. This can be literally dozens of additional commands after releasing the button, dramatically overshooting the intended onscreen target.
There is nothing amiss in the logs at all. It just keeps issuing the same command repeatedly until it's finished doing it's thing.
The highlighted line in this screenshot is where I released the button after 10 seconds. If you could scroll down the page you would see that there is an additional page and a half of dpad right commands being issued after the button release.
To eliminate the possibility of this being due to changes I've made to the system I've set up a second pi4 myServer for testing purposes. This is bone stock, as in I haven't made a single change to anything in myServer or myDesigner other than to apply the latest driver and Linux updates. I've also updated the remote used with this server to the new apk. The only device that it is connected to is yet another Nvidia Shield bought for testing purposes, which is also bone stock out of the box. This is connected strictly via ADB. The longpress behavior is exactly the same as on my primary server.
I really don't want to get into using longpress macros to loop commands a set number of times the way that you prefer to do. It's not intuitive and isn't very precise, particularly when using multiple different apps that all have different layouts and each have a different number of videos visible on the screen at one time.
As I said in my original post I don't really care how each individual driver handles this, but if the Generic IR driver can be made to stop sending additional commands immediately after a direction button is released this would be ideal. Then I have at least one driver that covers all devices and use cases in my system.
I genuinely appreciate you engaging on this. I REALLY don't want to give up my system so I hope we can get to the bottom of this.