<ActionID Pause="40">

Post questions, comments and feedback to our 3Dconnexion Windows Development Team.

Moderator: Moderators

Post Reply
dumbweighter2
Posts: 11
Joined: Mon Nov 02, 2020 8:59 am

<ActionID Pause="40">

Post by dumbweighter2 »

Hello!

I've noticed that the default timeout between actions in a macro is 40 milliseconds, and there appears to be 120 ms pause before the macro begins. It's easy enough to go into the xml and change them all to something faster, or.. to remove them perhaps (not tried it yet). I've looked around and can't seem to find where that number comes from. I assumed perhaps Base.xml sitting in Program Files.. alas, I believe, no. I would much rather do it globally and forever, and be able to alter it at will. Where is this number being served from!??!

Thanks
ngomes
Moderator
Moderator
Posts: 3458
Joined: Mon Nov 27, 2006 7:22 am
Contact:

Re: <ActionID Pause="40">

Post by ngomes »

Hi dumbweighter2,
dumbweighter2 wrote: Thu Aug 07, 2025 2:03 pm Where is this number being served from!??!
It's hard-coded. It's basically a parameter defined at compile-time. It is not part of the driver configuration; in other words, it cannot be changed at runtime.
Nuno Gomes
dumbweighter2
Posts: 11
Joined: Mon Nov 02, 2020 8:59 am

Re: <ActionID Pause="40">

Post by dumbweighter2 »

Welp, that's bad news but I guess still workable. Thanks for the info!
ngomes
Moderator
Moderator
Posts: 3458
Joined: Mon Nov 27, 2006 7:22 am
Contact:

Re: <ActionID Pause="40">

Post by ngomes »

You can set the "pauses" all the way down to zero, I believe, but there will be always a small delay due to the internal queueing of events.

The initial 120ms delay probably something else, more likely due to inefficiencies in the early set-up of the macro. I think you will not have much control over that.
dumbweighter2
Posts: 11
Joined: Mon Nov 02, 2020 8:59 am

Re: <ActionID Pause="40">

Post by dumbweighter2 »

<ButtonAction Type="Sequence">
<ID>Macro_*************************</ID>
<Name>leave comment</Name>
<Sequence Pause="120">
<ActionID Pause="1">HIDMouse_Left</ActionID>
<ActionID Pause="1">F</ActionID>
<ActionID Pause="1">Ctrl+Enter</ActionID>
</Sequence>
</ButtonAction>

the bolded pause is what i am referencing. are we not sure what it does? it's new between 10.6.8 and 10.9.#
ngomes
Moderator
Moderator
Posts: 3458
Joined: Mon Nov 27, 2006 7:22 am
Contact:

Re: <ActionID Pause="40">

Post by ngomes »

dumbweighter2 wrote: Wed Aug 13, 2025 9:36 am <ButtonAction Type="Sequence">
[...]
<Sequence Pause="120">
[...]
the bolded pause is what i am referencing. are we not sure what it does? it's new between 10.6.8 and 10.9.#
My bad. I misunderstood your earlier question.

Here's what we have in the (internal) documentation:
Delay time (in ms) between steps in the sequence. Note this adds an additional delay to the user-defined "Pause" actions.
The "sequence" button action is composed of "child" actions, which can be other button actions and the "<Pause>" and "<Text>" actions. If you have the <Sequence> element "Pause" attribute set to "120", then the driver will insert a 120ms delay between executions of the child actions.
cuckoo.zcrr
Posts: 1
Joined: Wed Aug 13, 2025 11:29 pm
Contact:

Re: <ActionID Pause="40">

Post by cuckoo.zcrr »

dumbweighter2 wrote: Wed Aug 13, 2025 9:36 am <ButtonAction Type="Sequence">
<ID>Macro_*************************</ID>
<Name>leave comment</Name>
<Sequence Pause="120">
<ActionID Pause="1">HIDMouse_Left</ActionID>
<ActionID Pause="1">F</ActionID>
<ActionID Pause="1">Ctrl+Enter</ActionID>
</Sequence>
</ButtonAction>

the bolded pause is what i am referencing. are we not sure what it does? it's new between 10.6.8 and 10.9.#
I also noticed that the <Sequence Pause="120"> tag started appearing in version 10.9, while it hasn't appeared in version 10.6.8. According to my research, the Pause value at the Sequence level may be the delay before executing the entire macro chain, separate from the Pauses in each ActionID.

This may be a new feature to ensure that the driver has enough time to "recognize" before sending a series of commands, especially for macros with many consecutive actions. If this number is reduced too low, there is a risk that some of the first actions will be missed on some slow systems.

I tried setting it to 0 and it still works, but sometimes in heavy apps, the first action doesn't work. It's possible that 3Dconnexion hard-codes this default number in the driver, and when you save the macro, it automatically inserts it into the XML.

Have you tried setting both the Pause of Sequence and the Pause of each Action to the minimum for comparison? I think the results will be quite interesting.
Post Reply