Thanks for clarifying.
Good point on the chording window too...
Hummm I can see eta 5 coming along quite quickly

Just out of curiosity, is there any chance to combine those two features or it's not a good idea?
Perfectphil wrote:2. It actually already does this; in-fact it will do this not just for the 4th, but for any "last" action (is, if 4th is disabled, it will use the 3rd and so on). What it does, is send the button down as soon as the last enabled time is valid. The button up is not sent until the button is released.
I see your logic. Of course it's not possible to start a chord from a timed action. What I meant was adding some timed actions to be executed prior to the "Unblock after" option in the chording window. Like that:phil wrote: 1. In my head chording and timed actions are mutually exclusive (maybe because it keeps things relatively simple). To implement a chord, by nature you have to hold the button down, so trying to mix this with different length of button down does not seem to make sense. There is a slim chance it might work to put the button timed actions into the chording window and get that working but it will not be possible to start a chord from the butotn timed actions... I'll try and see if its going to be possible to get the timed actions working form the chording window, but I'm a little concerned that it might not work with the current structure of chording and require too much of my time (to basically re-write chording!), so I'm not going to commit to doing it!
Oh did I miss some? i though I did a search and replace... I'll check (although spelling in the logs is not really a big deal
Yes the space for the note was limited (esp with translations) so I didn't add it. Maybe I will revise that decision.injtsvetkov wrote: ↑Mon Aug 21, 2017 11:58 pmLooks like I got fooled by the note (since I didn't have a chance to test it). Might be better to add the info that the last enabled command is executed immediately when the set time is met. Right now I think it's a bit confusing.
Now from my first test I see that click&drag is impossible unless the "Normal Click" action is also assigned to the "last" spot which in some cases could mean too much waiting for a simple click&drag. Have you considered adding 'Abort if the mouse moves' option?
We shall see - its gets very complex in the code with all these different possibilities (if I were starting again, it would be much better structured but after 15+ years its a bit messy in thereinjtsvetkov wrote: ↑Mon Aug 21, 2017 11:58 pmI see your logic. Of course it's not possible to start a chord from a timed action. What I meant was adding some timed actions to be executed prior to the "Unblock after" option in the chording window. Like that:
Click&Hold - "Chording"
after Set time 1 - "action 1" (chording is aborted)
after Set time 2 - "action 2"
"Unblock after" - Set time 3
Apparently that could be possible only when the "Block/Delay" option is enabled, but still it would expand the capabilities of the initial chord button combining those two great features (if I'm not missing something). Now it is another question whether it is worth the time and effort if it's doable at all, but you are the only one who's got the whole picture in his mind so...
About adding the timed actions to the buttons in the chording window, let's hope it will work with the current structure of chording! I also think re-writing it is pointless since (as far as I can see) there is no guarantee that it won't do more harm than good and it sounds like starting from zero again which IMO is a bad idea.
Of all options, this will probably be the easiest combo to do - but that does not mean it will be easy, just less difficult than anything elsemaxoku wrote: ↑Tue Aug 22, 2017 3:21 pmWell I didn't really understand what Iliya had in mind, but I thought about how chording and helding could be combined. Of corse chording in helding wouldn't make sense but helding in chording could. Chording works like when you hold one button then the second would perform an action. So theoretically it would work if different actions would be perform depending how long you'll hold the second button while still holding the first one. But I guess it would be technically not that easy.
Yes I realized that too after I built 2.17b5
EDIT:maxoku wrote: ↑Tue Aug 22, 2017 3:21 pmI have some suggestions for that thing too. Could you add an option to lock axis horizontally or vertically from the beginning? It also would be nice if all mouse buttons could be blocked while in this mode allowing them (if sticky option chosen) to disable moving to scroll easily.
The defaults for 4 and 5 are back/forward in Windows and for some reason, I couldn't find the click button 4 and 5 while looking through the code so I went with the windows default. Now Ive found click 4 & 5 I'll change it to use them.maxoku wrote: ↑Tue Aug 22, 2017 3:21 pmEdit: The default action in held window for 4th and 5th buttons are back and forward instead of 4th and 5th button. You should correct it. But it wasn't like this in the last beta as I recall. All actions (maybe besides the first one) were set to deactivate and now all are set to chosen buttons (besides 4th and 5th as I stated above).
Yes, thats a good idea - I should be able to do that.
Figured that much.
I've noticed, good you fixed it.
Yes, exactly.
Well if I use move to scroll each button still works what is annoying. I would like those buttons blocked. E.g. while scrolling I don't need to select text (what will left mouse button do) especially when the mouse position is fixed. The second thing is that while using sticky option I would like to easy and comfortable disable it e.g. by clicking with left mouse button (or any other). The global option doesn't work on that unfortunately.phil wrote: ↑Tue Aug 22, 2017 7:48 pmI'm not sure quite what you mean about blocking buttons and relating to sticky... Do you mean that when in sticky scroll, any button press would stop movement to scroll, rather than just the movement to scroll button? I'm sure that's possible (actually the global option "Reset sticky buttons when any other button is pressed" should accomplish the same goal (but it might not work) and of course, is not just movement to scroll related.
I'll have a look - no reason I can think of that it should be any different, so probably something missing in the initialisation code for the window.maxoku wrote: ↑Wed Aug 23, 2017 8:40 pmPS. I've just noticed something disturbing. When I go to simulated keys from held window the option to send only when process is active is by default enabled. I had some headache because of it.![]()
And I think that in the held window actions in all droplists should be chosen from the top of the list, cuz it's very uncomfortable to scroll to the top everytime if I want to use e.g. simulated keys (what I mainly use).
500ms should be half a second! By it is possible that the timer isn't getting serviced because the thread is busy - I'll see if thats the same here, or maybe I've got something wrong.
do you mean in combination with hold - I can see how the sticky movement and hold may be a problem, but it should cancel anyway if the profile changes, I'll take a look at that too.maxoku wrote: ↑Wed Aug 23, 2017 8:40 pmPS2: How long is 500 ms? For me it's almost two seconds. After changing to 200 it seems
PS3: I've checked the option move to scroll (sticky) as held action and it's bugged. I couldn't leave the mode. Almost everytime I've switched it off it was turning on by itself. I needed to switch it off several times that it would stay off. I think you should also add function that it would disable when I switch to other window/process e.g. with alt-tab. That option can really block the mouse and it should have some insurance.
I think I can either block all buttons when movement to scroll (sticky) is active, or I can make any button cancel the sticky... (i.e. not block but cancel the sticky)? I suppose I could make it an option to block all buttons... and if that option is disabled, any button will cancel the sticky movement to scroll?maxoku wrote: ↑Wed Aug 23, 2017 8:40 pmWell if I use move to scroll each button still works what is annoying. I would like those buttons blocked. E.g. while scrolling I don't need to select text (what will left mouse button do) especially when the mouse position is fixed. The second thing is that while using sticky option I would like to easy and comfortable disable it e.g. by clicking with left mouse button (or any other). The global option doesn't work on that unfortunately.