Which is faster?

I know there is a difference, but I can’t remember what it is.

When it comes to BTT quickly detecting certain conditions of a trigger, which are detected more quickly: the conditions of a CAG or those of the Advanced Triggers?

faster is the wrong term - the difference is:

CAGs: don't cause any CPU overhead because they are based on variables that can easily be monitored. Whenever such a variable changes, the CAG also immediately updates.

Advanced Trigger Conditions: can cause quite a bit of CPU overhead because they can query various things, which is why they are only evaluated once the trigger (e.g. trackpad gesture, keyboard shortcut etc.) have already been detected.

From the docs:
" Advanced Trigger Conditions (ATCs) are conditions you directly assign to a specific trigger. In contrast to CAGs, Advanced Trigger Conditions are only evaluated after BetterTouchTool has recognized a specific trigger"

Thanks, mmh, but I’m not sure if your answers are consistent.

So, are Advanced Conditions only checked after the trigger has been activated, whereas with a CAG they are checked before?

correct

And being detected beforehand (CAG) doesn’t mean it’s “faster” than being detected afterwards (ATC)?

Speed is not really comparable here, just different concepts :slight_smile:
Maybe you can describe your use case then I can maybe better answer the question

@Andreas_Hegenberg Okay, I ran a few tests. I might be wrong, but I'm almost certain that the CAG triggers faster when it comes to detecting whether the keyboard is locked or not. Anyway, the main thing is that I'm convinced of it :slight_smile:

But I found a bug:

“F” blocks the keyboard if the key is held down for 0.1 seconds (or longer).

So I only have 0.1 seconds to type “F” (down/up).

F + J moves the cursor one character to the left when the keyboard is blocked.

When I release “F,” the letter is still typed, even though F + J takes more than 0.1 seconds. That must be a bug.

Could you please take a look at this? These are the triggers; J is in a CAG (only if the keyboard is blocked). I don’t know if that gets exported. Thanks!!!

F = F.bttpreset (2.0 KB)

F DEblock.bttpreset (1.3 KB)

F Block.bttpreset (1.2 KB)

J = left arrow.bttpreset (983 Bytes)