# Which is faster?

**URL:** <https://community.folivora.ai/t/which-is-faster/46771>\
**Category:** Configuration Help & General Discussion\
**Created:** [April 17, 2026, 10:48am UTC](https://community.folivora.ai/t/which-is-faster/46771 "2026-04-17T10:48:35Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Frank1](https://community.folivora.ai/letter_avatar_proxy/v4/letter/f/a87d85/32.png) [@Frank1](https://community.folivora.ai/u/Frank1)\
**Post date:** [April 17, 2026, 10:48am UTC](https://community.folivora.ai/t/which-is-faster/46771/1 "2026-04-17T10:48:35Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![Andreas\_Hegenberg](https://community.folivora.ai/user_avatar/community.folivora.ai/andreas_hegenberg/32/39221_2.png) [@Andreas\_Hegenberg](https://community.folivora.ai/u/Andreas_Hegenberg)\
**Post date:** [April 17, 2026, 10:55am UTC](https://community.folivora.ai/t/which-is-faster/46771/2 "2026-04-17T10:55:08Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![xidiot](https://community.folivora.ai/user_avatar/community.folivora.ai/xidiot/32/27204_2.png) [@xidiot](https://community.folivora.ai/u/xidiot)\
**Post date:** [April 17, 2026, 10:55am UTC](https://community.folivora.ai/t/which-is-faster/46771/3 "2026-04-17T10:55:46Z")

</div>

From the [docs](https://docs.folivora.ai/docs/actions/conditions/#configuring-conditional-activation-groups-cags):  
" **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"

---

<div class="post-metadata">

**Author:** ![Frank1](https://community.folivora.ai/letter_avatar_proxy/v4/letter/f/a87d85/32.png) [@Frank1](https://community.folivora.ai/u/Frank1)\
**Post date:** [April 17, 2026, 11:03am UTC](https://community.folivora.ai/t/which-is-faster/46771/4 "2026-04-17T11:03:51Z")

</div>

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**?

---

<div class="post-metadata">

**Author:** ![Andreas\_Hegenberg](https://community.folivora.ai/user_avatar/community.folivora.ai/andreas_hegenberg/32/39221_2.png) [@Andreas\_Hegenberg](https://community.folivora.ai/u/Andreas_Hegenberg)\
**Post date:** [April 17, 2026, 11:11am UTC](https://community.folivora.ai/t/which-is-faster/46771/5 "2026-04-17T11:11:03Z")

</div>

correct

---

<div class="post-metadata">

**Author:** ![Frank1](https://community.folivora.ai/letter_avatar_proxy/v4/letter/f/a87d85/32.png) [@Frank1](https://community.folivora.ai/u/Frank1)\
**Post date:** [April 17, 2026, 11:14am UTC](https://community.folivora.ai/t/which-is-faster/46771/6 "2026-04-17T11:14:06Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Andreas\_Hegenberg](https://community.folivora.ai/user_avatar/community.folivora.ai/andreas_hegenberg/32/39221_2.png) [@Andreas\_Hegenberg](https://community.folivora.ai/u/Andreas_Hegenberg)\
**Post date:** [April 17, 2026, 11:28am UTC](https://community.folivora.ai/t/which-is-faster/46771/7 "2026-04-17T11:28:44Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Frank1](https://community.folivora.ai/letter_avatar_proxy/v4/letter/f/a87d85/32.png) [@Frank1](https://community.folivora.ai/u/Frank1)\
**Post date:** [April 18, 2026, 7:34pm UTC](https://community.folivora.ai/t/which-is-faster/46771/8 "2026-04-18T19:34:07Z")

</div>

@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 🙂

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](https://community.folivora.ai/uploads/short-url/xUjr7MUmbXD6aLOoI00MPJS60Cd.bttpreset) (2.0 KB)

[F DEblock.bttpreset](https://community.folivora.ai/uploads/short-url/3X6zFta9dhDNu4sV4bh3Mn4QRfn.bttpreset) (1.3 KB)

[F Block.bttpreset](https://community.folivora.ai/uploads/short-url/sS5ZFZF7ii9gElWebTX8HaBewhD.bttpreset) (1.2 KB)

[J = left arrow.bttpreset](https://community.folivora.ai/uploads/short-url/yvw6rKh2r4ue962PhhyysxYcjnb.bttpreset) (983 Bytes)
